Ping的原理

125 阅读1分钟

Ping,Packet Internet Groper,是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在TCP/IP 网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP(Internet Control Message Protocol因特网报文控制协议)请求报文,测试目的站是否可达及了解其有关状态。

ping百度

一般来说,ping可以用来检测网络通不通。它是基于ICMP协议工作的。假设机器A ping 机器B,工作过程如下:

  1. ping通知系统,新建一个固定格式的ICMP请求数据包。
  2. ICMP协议,将该数据包和目标机器B的IP地址打包,一起转交给IP协议层。
  3. IP协议层将本机IP地址为源地址,机器B的IP地址为目标地址,加上一些其他的控制信息,构建一个IP数据包。
  4. 先获取目标机器B的MAC地址。
  5. 数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址。
  6. 机器B收到后,对比目标地址,和自己本机的MAC地址是否一致,符合就处理返回,不符合就丢弃。
  7. 根据目的主机返回的ICMP回送回答报文中的时间戳,从而计算出往返时间。
  8. 最终显示结果有这几项:发送到目的主机的IP地址、发送&收到&丢失的分组数、往返时间的最小、最大&平均值。