ICMP的type字段、code字段

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。

相关推荐

  1. ICMPtype字段、code字段

    2024-05-10 23:32:04       29 阅读
  2. ES字段更改字段类型

    2024-05-10 23:32:04       59 阅读
  3. python3 csv解析单引号包含特殊字符字段

    2024-05-10 23:32:04       59 阅读
  4. PostgreSQL 支持字段类型

    2024-05-10 23:32:04       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 23:32:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 23:32:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 23:32:04       87 阅读
  4. Python语言-面向对象

    2024-05-10 23:32:04       96 阅读

热门阅读

  1. 模拟spring注解的底层逻辑。

    2024-05-10 23:32:04       30 阅读
  2. shell脚本变量

    2024-05-10 23:32:04       30 阅读
  3. K8S RBAC 命令行创建

    2024-05-10 23:32:04       33 阅读
  4. 网络安全基础

    2024-05-10 23:32:04       29 阅读
  5. iOS 音量键拍照(延时拍照)

    2024-05-10 23:32:04       25 阅读
  6. ruoyi-vue-pro 使用记录(3)

    2024-05-10 23:32:04       24 阅读
  7. [Android]单元测试和模块测试

    2024-05-10 23:32:04       24 阅读
  8. 修改页签标题 + 页签图表

    2024-05-10 23:32:04       31 阅读
  9. Vue 过渡

    2024-05-10 23:32:04       27 阅读
  10. 2024.5.10

    2024.5.10

    2024-05-10 23:32:04      23 阅读