ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议( TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。

    ICMP报文是在IP数据报内部被传输的,如图6 - 1所示。

ICMP 的正式规范参见RFC 792 [Posterl 1981b ]。

    ICMP报文的格式如图6 - 2所示。所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。下面我们将逐个介绍各种报文格式。
    类型字段可以有1 5个不同的值,以描述特定类型的ICMP报文。某些ICMP报文还使用代码字段的值来进一步描述不同的条件。
    检验和字段覆盖整个ICMP报文。使用的算法与我们在3 . 2节中介绍的IP首部检验和算法相同。ICMP的检验和是必需的。