ICMP(Internet Control Message Protocol,互联网控制报文协议)是一种网络层协议,用于在IP主机、路由器之间传递控制消息。ICMP封装在IP数据包中,用于报告错误情况和进行诊断等。ICMP类型编号用于区分ICMP消息的不同类型,以下是一些常见的ICMP类型编号:
1. **0** - Echo Reply(回显应答)
Echo Reply(回显应答,类型0):用于回复Echo Request(回显请求,类型8),通常用于测试网络连接是否正常。
2. **3** - Destination Unreachable(目的不可达)
Destination Unreachable(目的地不可达,类型3):用于指示主机或路由器无法到达目的地或某个网络服务不可用。
3. **4** - Source Quench(源抑制)
Source Quench(源站抑制,类型4):当接收方无法处理所有传入的数据包时,源站抑制报文会发送到发送方,以通知其减慢数据传输速度。
4. **5** - Redirect(重定向)
Redirect(重定向,类型5):用于通知发送方,其正在使用的路由不再是最佳路由,建议使用另一条路由。
5. **8** - Echo Request(回显请求)
6. **9** - Router Advertisement(路由器广告)
7. **10** - Router Selection(路由器选择)
8. **11** - Time Exceeded(时间超过)
ICMP(Internet Control Message Protocol)是用于在IP主机和路由器之间传递控制消息的协议,其中包括了多种类型的报文,用于不同的网络通信情况。超时消息是ICMP中的一种差错报文,它的Type字段编号为11。这类消息通常在以下情况下发送:
- TTL值为0:当数据包在传输过程中,其TTL(Time to Live)字段减少到0时,路由器会向源主机发送一个ICMP超时报文,通知它数据包未能及时到达目的地。
- 诊断工具应用:网络诊断工具如Traceroute利用ICMP超时报文来发现从源到目的地之间的路径上各个路由器的IP地址,帮助网络管理员了解网络路由情况。
此外,ICMP报文中的Type字段是必需的,它出现在每个ICMP报文的开始位置,并且伴随着一个Code字段,共同定义了特定类型的ICMP消息。这些消息对于网络操作的反馈和故障排查至关重要。例如,Ping命令就是通过发送ICMP回声请求(Echo Request)并等待回声应答(Echo Reply)来测试两台设备之间的连通性。而Traceroute则通过发送一系列TTL逐步增加的数据包,并通过接收到的ICMP超时报文来确定路径中的跳数和相关路由器的延迟。
总之,了解ICMP类型编号对于理解和处理网络问题非常重要,它们提供了网络状态的关键信息,帮助维护网络的健康运行。
9. **12** - Parameter Problem(参数问题)
10. **13** - Timestamp Request(时间戳请求)
11. **14** - Timestamp Reply(时间戳应答)
12. **15** - Information Request(信息请求)
13. **16** - Information Reply(信息应答)
14. **17** - Address Mask Request(地址掩码请求)
15. **18** - Address Mask Reply(地址掩码应答)
16. **30** - Traceroute(tracert)
17. **31** - Datagram Conversion Error(数据报转换错误)
18. **32** - Mobile Host Redirect(移动主机重定向)
19. **33** - IPv6 Where-Are-You(IPv6 你在哪里)
20. **34** - IPv6 I-Am-Here(IPv6 我在这里)
21. **35** - Mobile Registration Request(移动注册请求)
22. **36** - Mobile Registration Reply(移动注册应答)
23. **37** - Domain Name Request(域名请求)
24. **38** - Domain Name Reply(域名应答)
25. **39** - SKIP Algorithm Discovery Protocol(SKIP算法发现协议)
26. **40** - Photuris(一种安全相关协议)
这些类型编号代表了ICMP的不同功能,其中一些类型如3(目的不可达)、11(时间超过)和5(重定向)在网络诊断中非常常见。ICMP协议定义了多种错误报告和信息交换的消息类型,以帮助网络管理员和主机进行故障排除和网络管理。
========================
ICMP(Internet Control Message Protocol,互联网控制报文协议)的code字段用于进一步描述ICMP消息的具体情况。code字段与type字段一起决定了ICMP报文的确切含义。以下是一些常见的ICMP类型(type)及其对应的code值:
1. **类型 0** - Echo Reply
- **代码 0** - 有效的Echo Reply消息
2. **类型 3** - Destination Unreachable(目的不可达)
- **代码 0** - 网络不可达
- **代码 1** - 主机不可达
- **代码 2** - 协议不可达
- **代码 3** - 端口不可达
- **代码 4** - 需要进行分片但设置不分片比特
- **代码 5** - 源站选路失败
- **代码 6** - 目的网络未知
- **代码 7** - 目的主机未知
- **代码 9** - 目的网络被强制禁止
- **代码 10** - 目的主机被强制禁止
- **代码 11** - 网络不可达,由于服务类型TOS
- **代码 12** - 主机不可达,由于服务类型TOS
- **代码 13** - 通信被强制禁止,由于过滤
3. **类型 4** - Source Quench(源抑制)
- **代码 0** - 通知发送方减小速率
4. **类型 5** - Redirect(重定向)
- **代码 0** - 对网络重定向
- **代码 1** - 对主机重定向
- **代码 2** - 对服务类型和网络重定向
- **代码 3** - 对服务类型和主机重定向
5. **类型 8** - Echo Request(回显请求,Ping请求)
6. **类型 11** - Time Exceeded(时间超过)
- **代码 0** - 传输期间生存时间为0
- **代码 1** - 在数据报组装期间生存时间为0
7. **类型 12** - Parameter Problem(参数问题)
- **代码 0** - 坏的IP首部(catchall error)
- **代码 1** - 缺少必需的选项
8. **类型 13** - Timestamp Request(时间戳请求,已作废)
9. **类型 14** - Timestamp Reply(时间戳应答,已作废)
10. **类型 15** - Information Request(信息请求,已作废)
11. **类型 16** - Information Reply(信息应答,已作废)
12. **类型 17** - Address Mask Request(地址掩码请求)
13. **类型 18** - Address Mask Reply(地址掩码应答)
请注意,某些code值可能在不同的RFC中有不同的含义或已经被声明为已作废。此外,ICMP的type和code值范围是0到255,上述列表并不全面,仅包括一些常见的类型和code。