ICMP 有什么作用?Ping 和 Traceroute 是怎样工作的?
先自己想一想,再看参考要点
参考要点
- ICMP 用来更有效地转发 IP 数据报、提高交付成功的机会,封装在 IP 数据报中,报文分为差错报告报文(终点不可达、时间超过、重定向等)和询问报文(回送请求和回答等)
- Ping 向目的主机发送 ICMP 回送请求,目的主机返回回送回答,根据响应的时间和成功次数估算往返时间和丢包率
- Traceroute 依次发送 TTL 为 1、2、3……的数据报,路径上 TTL 减到 0 的路由器丢弃它并返回 ICMP 时间超过报文,源主机由此得到沿途的每个路由器
- Linux 的 traceroute 默认发送无法交付的 UDP 数据报,到达终点时收到端口不可达,Windows 的 tracert 发送回送请求,到达终点时收到回送回答