计算机中的 ping 该这么理解

  • Post author:
  • Post category:其他

PING

  • 用来检查网络是否通畅或者网络连接速度的命令

应用格式:

  • Ping + IP地址

有 A、B、C、D 四台机子,一台路由 RA,子网掩码均为 255.255.255.0,默认路由为 192.168.0.1 [1]

  • 在同一网段内
    在主机 A 上运行“Ping 192.168.0.5”后,都发生了些什么呢?
    首先,Ping 命令会构建一个 固定格式的 ICMP 请求数据包, 然后由 ICMP 协议将这个数据包连同地址“192.168.0.5”一起 交给IP层协议(和 ICMP 一样,实际上是一组后台运行的进程),IP 层协议将以地址 “192.168.0.5”作为目的地址,本机 IP 地址作为源地址,加上一些其他的控制信息,构建一 个 IP 数据包,并想办法得到 192.168.0.5 的MAC 地址(物理地址,这是数据链路层协议构 建数据链路层的传输单元——帧所必需的),以便交给数据链路层构建一个数据帧。关键就 在这里,IP 层协议通过机器 B 的 IP 地址和自己的子网掩码,发现它跟自己属同一网络,就 直接在本网络内查找这台机器的 MAC,如果以前两机有过通信,在 A 机的 ARP 缓存表应该 有 B 机 IP 与其 MAC 的映射关系,如果没有,就发一个 ARP请求广播,得到 B 机的 MAC, 一并交给数据链路层。后者构建一个数据帧,目的地址是 IP 层传过来的物理地址,源地址 则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送 出去。 主机 B 收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合, 则接收;否则丢弃。接收后检查该数据帧,将 IP 数据包从帧中提取出来,交给本机的 IP 层 协议。同样,IP 层检查后,将有用的信息提取后交给 ICMP 协议,后者处理后,马上构建 一个 ICMP 应答包,发送给主机 A,其过程和主机 A 发送 ICMP 请求包到主机 B 一模一样。

  • 不在同一网段内
    在主机 A 上运行“Ping 192.168.1.4”后,开始跟上面一样,到了怎样得到 MAC 地址时,IP 协议通过计算发现 D 机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的 MAC 取过来,至于怎样得到路由的 MAC,跟上面一样,先在 ARP 缓存表找,找不到就广 播吧。路由得到这个数据帧后,再跟主机 D 进行联系,如果找不到,就向主机 A 返回一个超时的信息。

使用 Ping 检查连通性有六个步骤:

  1. 使用 ipconfig /all 观察本地网络设置是否正确;

  2. Ping 127.0.0.1,127.0.0.1 回送地址 Ping 回送地址是为了检查本地的 TCP/IP 协议有 没有设置好;

  3. Ping 本机 IP 地址,这样是为了检查本机的 IP 地址是否设置有误;

  4. Ping 本网网关或本网 IP 地址,这样的是为了检查硬件设备是否有问题,也可以检查本 机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

  5. Ping 本地 DNS 地址,这样做是为了检查 DNS 是否能够将 IP。

  6. Ping 远程 IP 地址,这主要是检查本网或本机与外部的连接是否正常。


版权声明:本文为qq_44824148原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。