ping某域名的整个流程
来源:互联网 发布:韩代淘宝知乎 编辑:程序博客网 时间:2024/04/30 07:02
【声明】根据网上检索到的资料,自己整理了一下。
- 首先本机发送域名请求数据到PC设置的DNS ip
- PC通过子网掩码判断DNS ip是本网段还是跨网段(这里只考虑跨网段)
- 由于是跨网段,PC发送DNS域名解析数据包到PC设置的网关ip上。(此时先要进行二层的mac转发,PC查看本机arp缓存表,如果表中有网关的mac地址,直接转发,如果没有,使用arp解析协议解析到网关的mac地址。之后封装成数据帧发送到三层网络层)此时PC发送三层数据到网关,源地址为PC内网地址,目的地址为DNS ip地址。而在二层源mac地址为PC mac地址,目的mac地址为网关mac地址。
- 路由内网网关收到数据包,根据数据包的目的地址,查看路由表。根据路由表发送数据到下一跳上。(发送前,数据到达路由外网端口,会根据nat地址转换配置。形成一条内网ip+port与外网ip+port的一一对应关系。)
- 发送到下一跳和内网通信都是一样的,查看路由arp缓存表,如果有下一跳mac地址,就直接发送,没有的话需要arp协议解析一下。
- 对端路由收到数据包,再接着根据路由表判断下一跳。这样一跳一跳地,最后到达DNS服务器。服务器将查询结果返回。
- 返回的数据包在ISP的网络里最后寻址到你的路由器上,你的路由器收到数据包后,会查询路由nat连接表,寻找ip+port关系对应的内网ip。拆分数据包,封装成帧,最后PC收到域名对应的ip地址。
【到这里,域名解析过程完成,接下来ping对方ip,过程与上面几乎一样】
- 再发起一次PC到目的域名ip地址的一次ping请求信息
- PC通过子网掩码判断对方ip是本网段还是跨网段(这里只考虑跨网段)
- 由于是跨网段,PC发送数据包到网关ip上。
- 路由内网网关收到数据包,根据数据包的目的地址,查看路由表。根据路由表发送数据到下一跳上。(发送前,数据到达路由外网端口,会根据nat地址转换配置。形成一条内网IP+port与外网ip+port的一一对应关系。)
- 发送到下一跳和内网通信都是一样的,查看路由arp缓存表,如果有下一跳mac地址,就直接发送,没有的话就是要arp协议解析一下。
- 服务器收到数据包后,会重新构建一个ICMP应答包,然后返回。
- 返回的数据包在ISP的网络里最后寻址到你的路由器上,你的路由器收到数据包后,会查询路由nat连接表,寻找ip+port关系对应的内网ip。拆分数据包,封装成帧,最后PC收到ICMP应答数据包。
整个过程到此结束。在整个这个过程中,源ip地址和目的ip地址是不变的(内网到路由器段不算在内)而mac地址是变的。
- ping某域名的整个流程
- ping某个域名的过程
- PING的工作流程
- 使用JDBC的整个流程
- WinCE启动的整个流程
- 文件上传的整个流程
- SearchView搜索的整个流程
- 使用thinkphp的整个流程
- 整个麻将的运行流程
- busybox无法ping域名的解决办法
- godaddy域名出现ping不通的解决办法
- Linux ping不通域名的解决办法
- ping某个域名的详细过程
- linux批量ping域名的脚本
- busybox无法ping域名的解决办法
- 尝试Ping百度域名后的思考
- ping命令的简单流程
- ping检测整个网络的主机是否有响应
- weblogic启动:weblogic.application.ModuleException
- arm学习进度跟踪
- Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)
- 过滤字符串中的HTML符号
- 我指间的刺青是对你的誓言
- ping某域名的整个流程
- Linux目录架构详解
- SP 中的错误处理
- Android 根据坐标获取地址
- Linux C程序调用系统命令
- 关于Alipay支付宝接口(Java版)
- 展讯智能机平台8810的编译脚本解析
- 单选/多选/下拉框
- case语句