1. Ping
ping是ICMP中的一个重要应用。ping的作用是测试两个主机的连通性。
ping的工作过程(A ping B):
- 用程序ping会判断发送的是主机名还是IP地址,如果是主机名会执行DNS域名解析,得到目标ip。
- 在数据链路层是根据MAC地址传输的,所以要用到ARP解析服务,获取MAC地址
- 根据ip和mac地址,发送一份ICMP回显请求给目标主机,并等待ICMP返回报文
- 根据目的主机返回的回送报文的时间和成功响应的次数估算出数据包往返时间及丢包率。
综上:ping请求用到了DNS、ARP、ICMP
2. Traceroute
Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点的路径。