简述Ping工作原理
2022-07-01 本文已影响0人
Test阿東
在日常生活或工作中,只要是网络出问题,ping命令必不可少的。我们通常会用它来直接ping ip地址,来测试网络的连通情况。
但你知道ping是如何工作的吗?下面简单说说Ping工作原理:
Ping是基于ICMP协议工作的,所以要明白ping的工作,那么你要先熟悉ICMP协议。
ICMP全称是 Internet Control Message Protocol,也就是互联网控制报文协议。主要的功能包括:确认IP包是否成功送达目标地址、报告发送过程中IP包被废弃的原因和改善网络设置等。而Ping命令则是利用ICMP协议的“回送信息”这个查询报文判断所发送的数据包是否已经成功到达对端来实现的。
那么Ping 命令执行的时候,源主机首先会构建一个 ICMP 回送请求消息数据包。在这个数据包内会包含多个字段,重点看两个:“类型”和“序号”,类型:对于回送请求消息而言该字段为 8;序号:主要用于区分连续 ping 的时候发出的多个数据包。每发出一个请求数据包,序号会自动加 1。同时在报文的数据部分会插入发送时间,方便计算往返时间。
在规定的时候间内,源主机如果没有接到 ICMP 的应答包,则说明目标主机不可达;如果接收到了ICMP回送响应消息,则说明目标主机可达。同时,源主机会用当前时间减去该数据包初起从源主机上发出的时间,从而得出ICMP数据包的时间延迟(也就是Ping延迟)。
当然这只是基本的同网段下的情况,如果是跨网段的话,还会涉及网关的转发、路由器的转发等等。期间还涉及查询报文类型、差错报文类型还有ARP协议如何查询MAC地址等等,就不再一一细说,有兴趣可以自行了解!