ICMP Internet控制信息协议( 二 )


0 = 传送超时;
1 = 分段级装超时 。
校验码:16位数据(从ICMP类型开始)的反码和再取反而得 。为计算校验码,校验码域应该为零 。这些零在以后会被校验码取代 。
Internet包头 64位源数据报数据:Internet包头加上源数据的头64位而得 。此数据用于主机匹配信息到相应的进程 。假如高层协议使用端口号,应该假设其在源数据的头64个字节之中 。
说明:

假如网关在处理数据报时发现生存周期域为零,此数据报必须抛弃 。网关同时必须通过超时信息通知源主机 。
假如主机在组装分段的数据报时因为丢失段未能在规定时间内组装数据,此数据报必须抛弃 。网关发送超时信息 。
假如段零不可用则不用发送超时信息 。
代码0由网关发送,代码1由主机发送 。
参数问题消息
图3
IP域:
目的地址:从源数据中得到 。
ICMP域:
类型:12
代码:
0 = 指针指向错误 。
校验码: 16位数据(从ICMP类型开始)的反码和再取反而得 。为计算校验码,校验码域应该为零 。这些零在以后会被校验码取代 。
指针
假如code = 0,指向有问题的字节 。
Internet包头 64位源数据报数据:Internet包头 64位源数据报数据:Internet包头加上源数据的头64位而得 。此数据用于主机匹配信息到相应的进程 。假如高层协议使用端口号,应该假设其在源数据的头64个字节之中 。
说明:
假如网并或主机在处理数据报时发现包头参数有错误以至不能完成工作,它必须抛弃此数据报 。一个潜在的原因可以是变量的错误 。网关或主机将通过参数问题消息通知源主机,此消息只有在消息被抛弃时才被发送 。指针指向发现错误的数据报包头字节 。
代码: 从主机或网关接收0 。
源拥塞消息
图4
IP域:
目的地址:源数据报数据的地址和源网络 。
ICMP域:
类型:4
代码: 0
校验码: 16位数据(从ICMP类型开始)的反码和再取反而得 。为计算校验码,校验码域应该为零 。这些零在以后会被校验码取代 。
Internet包头 64位源数据报数据: Internet包头 64位源数据报数据:Internet包头加上源数据的头64位而得 。此数据用于主机匹配信息到相应的进程 。假如高层协议使用端口号,应该假设其在源数据的头64个字节之中 。
说明:
假如没有缓冲容纳,网关会抛弃数据报,假如网关这样做了,它会发送源拥塞消息给发送主机 。假如接收的数据报太多无法处理,目的主机也会发送相应的消息给发送主机 。此消息要求发送发减少发送速率,网关会给每个抛弃的消息返回源拥塞消息,在接到此消息后,发送主机应该减少发送速率,直到不再接收到网关发送的源拥塞消息为止 。在此之后,源主机可以再增加发送速率,直到接收到目的主机的源拥塞消息为止 。
网关或主机不会等到已经超过限度后再发送此消息,而是接近自己的处理极限时就发送此消息,这意味着,引发源拥塞消息的数据报仍然可以处理 。代码: 从主机或网关接收0 。
重定向消息
图5
IP域:
目的地址:源数据报数据的地址和源网络 。
ICMP域:
类型: 5
代码:
0 = 重定向网络的数据报;
1 = 重定向主机的数据报;
2 = 重定向网络和服务类型的数据报;
3 = 重定向网络和主机类型的数据报 。
校验码:
16位数据(从ICMP类型开始)的反码和再取反而得 。为计算校验码,校验码域应该为零 。这些零在以后会被校验码取代 。

推荐阅读