首页 理论教育 网际控制报文协议实用技术

网际控制报文协议实用技术

时间:2026-01-26 理论教育 小龙哥 版权反馈
【摘要】:为了提高IP数据报交付成功的机会,在网际层使用了网际控制报文协议。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议,而是IP层的协议。图4-14 ICMP报文的格式ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。2)对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。4)对具有特殊地址的数据报不发送ICMP差错报告报文。PING使用了ICMP回送请求与回送回答报文。

为了提高IP数据报交付成功的机会,在网际层使用了网际控制报文协议(Internet Con-trol Message Protocol,ICMP)。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议,而是IP层的协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP报文格式如图4-14所示。

图示

图4-14 ICMP报文的格式

ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。ICMP报文的前4B是统一的格式,共有3个字段:即类型、代码和检验和。接着的4 B的内容与ICMP的类型有关。

ICMP差错报告报文共有5种:

1)终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。

2)源点抑制(Source Quench):当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

3)时间超过:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。

4)参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。(https://www.xing528.com)

5)改变路由(重定向,Redirect):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

不应发送ICMP差错报告报文的情况:

1)对ICMP差错报告报文不再发送ICMP差错报告报文。

2)对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。

3)对具有多播地址的数据报都不发送ICMP差错报告报文。

4)对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。

ICMP的一个重要应用就是分组网间探测(Packet Inter-Net Groper,PING),用来测试两个主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的例子,它没有通过运输层的TCP或UDP。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈