1、ping 是基于 ICMP
协议工作的,也就是互联网控制报文协议。
2、ICMP
主要的功能包括:确认 IP 包是否成功送达目标地址、报告发送过程中 IP 包被废弃的原因和改善网络设置等。
3、ICMP 报文是封装在 IP 包里面,它工作在网络层,是 IP 协议的助手。
4、ICMP 包头的类型字段,大致可以分为两大类:
-
一类是用于诊断的查询消息,也就是「查询报文类型」
-
另一类是通知出错原因的错误消息,也就是「差错报文类型」
查询报文类型
回送消息用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息,ping
命令就是利用这个消息实现的。
差错报文类型
例如表中的几种错误
5、ping —— 查询报文类型的使用
1)ping 命令执行的时候,源主机首先会构建一个 ICMP 回送请求消息数据包。
2) ICMP 协议将这个数据包目的地址(要ping的地址) 一起交给 IP 层
3)要发送 ARP
协议查询 MAC 地址,获得 MAC 地址后,由数据链路层构建一个数据帧。
4)主机 B
收到这个数据帧后,先检查它的目的 MAC 地址,并和本机的 MAC 地址对比,如符合,则接收,否则就丢弃。
5)主机 B
会构建一个 ICMP 回送响应消息数据包