ICMP

ping 的流程

  1. ping命令会在客户端上构建一个 ICMP的请求数据,然后 ICMP协议会将这个数据包以及目标IP等信息交给IP层协议
  2. IP层协议得到这些信息后,将源地址、目标地址、其它的控制信息,构建成一个IP数据包
  3. MAC协议加上MAC地址,通过ARP映射表找出目标IP所对应的MAC地址,并发送
  4. 服务端接收之后会检查这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协议,然后IP层协议检查完之后,再将ICMP数据包取出来交给ICMP协议处理,然后构建一个ICMP应答数据包并返回
  5. 客户端接收

ICMP

基于网络层的IP协议,用于主机探测,路由维护,报告错误等。