分别是终点不可达、源站抑制、时间超时、参数问题、改变路由。
1、 终点不可达:
分为:网络不可达,主机不可达,协议不可达,端口不可达,需要分片但DF比特已置为1,以及源路由失败等六种情况,其代码字段分别置为0至5。当出现以上六种情况时就向源站发送终点不可达报文。
2、源站抑制:
当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,使源站知道应当将数据报的发送速率放慢。
3、时间超时:
当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源站发送时间超过报文。当目的站在预先规定的时间内不能收到一个数据报的全部数据报片时,就将已收到的数据报片都丢弃,并向源站发送时间超过报文。
4、参数问题:
当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢弃该数据报,并向源站发送参数问题报文。
5、改变路由:
路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。
扩展资料
ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。
发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。
以下几种情况都不会导致产生ICMP差错报文:
1、ICMP差错报文(但是,ICMP查询报文可能会产生ICMP差错报文)
2、目的地址是广播地址或多播地址的IP数据报
3、作为链路层广播的数据报
4、不是IP分片的第一片
5、源地址不是单个主机的数据报。即源地址不能为零地址、环回地址、广播地址或多播地址。
首先ICMP报文装在IP数据报中,但是它不是高层协议,而是IP层协议。ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。
其字节类型有1、 3 终点不可达;2、11 时间超过;3、12 参数问题;4、5 改变路由;5、8或0 回送请求或回答;6、13或14 时间戳请求或回答;代码 : 进一步区分某种类型中的几种不同情况。检验和 : 用于检验整个ICMP报文。但是IP首部检验和并不检验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)