NOTE
5.3 ICMP
1. ICMP是什么 工作在网络层,用于在主机、路由器之间传递控制消息。 什么是控制消息? - 网络通不通 - 主机是否可达 - 路由是否可用 2. 为什么需要ICMP 由于IP协议只提供尽力而为的服务,即为了把数据包发送到目的地址尽最大努力,但是网络传输中出现错误是不可避免的,为了提高IP数据包交
这是历史学习笔记,可能存在过时或不完整的理解。
1. ICMP是什么
工作在网络层,用于在主机、路由器之间传递控制消息。
什么是控制消息?
- 网络通不通
- 主机是否可达
- 路由是否可用
2. 为什么需要ICMP
由于IP协议只提供尽力而为的服务,即为了把数据包发送到目的地址尽最大努力,但是网络传输中出现错误是不可避免的,为了提高IP数据包交付的成功率,才推出ICMP ICMP的作用在于流量控制和差错控制
3. ICMP报文格式
ICMP报文是放在IP数据报的数据部分的

- 类型:表示这个ICMP是什么类型的?差错报文或者询问报文
- 代码:某种类型下面还有不同的子类型
- 差错报文
- 终点不可达
- 源点抑制
- 时间超过
- 参数问题
- 改变路由
- 询问报文
- 回送请求和回送报文
- 时间戳请求和回答报文
- 差错报文
4. ICMP应用
4.1. Ping
测试两台主机的连通性,使用了ICMP回送请求和回答报文
4.2. Traceroute
跟踪一个分组从源点到终点的路径,使用了ICMP差错报文中的时间超过
讨论
使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看