对于Ping的过程,你真的了解吗?( 二 )


弄懂了ping的流程之后我们来解析下之前解释的ICMP数据结果是否和抓包的一致 。
我们来点击一个ping request看看ICMP协议详情

对于Ping的过程,你真的了解吗?

文章插图
 
图中红框内就行ICMP协议的详情了,这里的Type=8,code=0,校验是正确 。我们对比图d,就知道了这是一个请求报文 。我们再点击Response frame:57,这里说明响应报文在序号57 。详情如下:
对于Ping的过程,你真的了解吗?

文章插图
 
上图的响应报文,Type=0,code=0 。这里知道就是响应报文了,然后最后就是根据请求和响应的时间戳计算出来的响应延迟 。3379.764 ms-3376.890 ms=2.874 ms.
四、总结
我们分析了一次完整的ping请求过程,ping命令是依托于ICMP协议的,ICMP协议的存在就是为了更高效的转发IP数据报和提高交付成功的机会 。ping命令除了依托于ICMP,在局域网下还要借助于ARP协议,ARP协议能根据IP地址查出计算机MAC地址 。ARP是有缓存的,为了保证ARP的准确性,计算机会更新ARP缓存 。
五、参考
《计算机网络》
TCP/IP协议之ICMP

【对于Ping的过程,你真的了解吗?】


推荐阅读