ICMP(Internet Control Message Protocol)是互联网控制报文协议,它主要用于在IP网络之间传递控制消息,以便网络能够正常运行。ICMP报文类型是指ICMP头部的第一个字节,表示ICMP消息的类型。ICMP报文类型号一共有18种,其中有些用于错误报告,有些用于询问和回答。本文将从不同角度分析ICMP报文类型号的分类和用途。
一、分类
ICMP报文类型号从1到18,一般按照官方RFC进行分类,可以分为两大类:
1. 差错报告型
ICMP差错报告型是用于通知源端主机或路由器某些错误的报文,有助于网络管理员进行故障诊断和解决。主要包括以下类型号:
- 0:Echo回显应答
- 3:目的不可达
- 4:源点抑制
- 5:重定向消息
- 11:超时消息
- 12:参数问题
- 14:时间戳请求
- 15:时间戳应答
- 16:信息请求
- 17:信息应答
2. 询问和回答型
ICMP询问和回答型用于确认主机或路由器是否可达的报文,常用于网络测试和故障排除。主要包括以下类型号:
- 8:Echo回显请求
- 9:路由器通告
- 10:路由器请求
- 13:域名请求
二、用途
不同类型的ICMP报文具有不同的用途,下面分别介绍:
1. 差错报告型
1.1 Echo回显应答(类型号0)
当主机或路由器收到Echo回显请求后,将返回一个Echo回显应答,以指示目标主机或路由器是否正常工作。
1.2 目的不可达(类型号3)
当IP数据报在传递过程中发生错误或无法到达目标时,目标主机或路由器将发送一个目的不可达报文给源端。
1.3 源点抑制(类型号4)
当一个路由器发现由于过多流量引起网络拥塞时,会向源端发送一个源点抑制报文,要求源端减少发送数据的速率。
1.4 重定向消息(类型号5)
当一个路由器决定将数据报送到一个新的下一跳路由器时,它会向发送数据包的源端发出重定向消息,以便下一次直接将数据报送到正确的下一跳路由器。
1.5 超时消息(类型号11)
当一个数据包在网络中长时间未被路由器传递时,将向数据包的发送方发出超时消息,以便发送方知道传输已经中断。
1.6 参数问题(类型号12)
当IP数据报中发现某些字段的值不正确时,会发送一个参数问题报文,通知发送方修正这些参数。
1.7 时间戳请求(类型号14)
时间戳请求报文包含了一个时间戳,请求目标主机或路由器回答一个时间戳应答报文,以便测量网络延迟。
1.8 时间戳应答(类型号15)
时间戳应答报文包含了发送时间和接收时间的差值,以及目标主机或路由器的当前时间,用于计算网络延迟。
1.9 信息请求(类型号16)
信息请求报文请求目标主机或路由器返回它们的MTU(最大传输单元)值。
1.10 信息应答(类型号17)
信息应答报文返回目标主机或路由器的MTU值。
2. 询问和回答型
2.1 Echo回显请求(类型号8)
Echo回显请求报文包含一个数据块和时间戳,要求目标主机或路由器返回一个Echo回显应答报文。
2.2 路由器通告(类型号9)
路由器通告报文可以告诉网络中的所有主机,该路由器可以用于默认路由。
2.3 路由器请求(类型号10)
路由器请求报文可以用来确定网络拓扑。
2.4 域名请求(类型号13)
域名请求报文请求目标主机或路由器返回一个IP地址,以便确认主机或路由器是否可达。
扫码咨询 领取资料