2.6.1 网际控制报文协议ICMP

ICMP设计的初衷是为了允许路由器向主机报告交付数据报出错的原因,后来被扩展为允许路由器向其他路由器或主机发送差错或控制报文,同时,也允许主机通过ICMP与路由器或另外的主机通信,以传递控制信息。

 

ICMP报文放在IP数据报的数据部分中通过互联网传递,而IP数据报本身放在帧的数据部分中通过物理网络传递。

携带ICMP报文的数据报与携带用户信息的数据报具有完全相同的路由,没有额外的可靠性或优先级。因此,差错报文本身可能会丢失或被丢弃。

在一个已经拥塞的网络中,差错报文可能引起附加的拥塞。如果携带ICMP报文的IP数据报产生了差错,则差错处理过程产生一个异常,而不是一个新的报告ICMP报文出错的差错报文。

 

下面我们来看ICMP报文的格式。

每个ICMP报文的格式可能各不相同,但是他们的前三个字段是一致的。它们是一个8比特的类型字段,一个8比特的代码字段和一个16比特的校验和字段。

一些典型的ICMP报文格式将在下一知识点典型的ICMP报文中介绍。