ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。 ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP报文是在IP数据报内部被传输的,如图6-1所示。 ![](https://box.kancloud.cn/2016-04-13_570de1e8b0afb.png) ICMP 的正式规范参见RFC 792 [Posterl 1981b ]。 ICMP报文的格式如图6-2所示。所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。下面我们将逐个介绍各种报文格式。 类型字段可以有15个不同的值,以描述特定类型的ICMP报文。某些ICMP报文还使用代码字段的值来进一步描述不同的条件。 检验和字段覆盖整个ICMP报文。使用的算法与我们在3.2节中介绍的IP首部检验和算法相同。ICMP的检验和是必需的。 ![](https://box.kancloud.cn/2016-04-13_570de1e8c64cd.png) 在本章中,我们将一般地讨论ICMP报文,并对其中一部分作详细介绍:地址掩码请求和应答、时间戳请求和应答以及不可达端口。我们将详细介绍第27章Ping程序所使用的回应请求和应答报文和第9章处理IP路由的ICMP报文。