网关或主机不会等到已经超过限度后再发送此消息,而是接近自己的处理极限时就发送此消息,这意味着,引发源拥塞消息的数据报仍然可以处理。代码:从主机或网关接收0。
重定向消息
图5
IP域:
目的地址:源数据报数据的地址和源网络。
ICMP域:
类型: 5
代码:
0 = 重定向网络的数据报;
1 = 重定向主机的数据报;
2 = 重定向网络和服务类型的数据报;
网络基础概念
3 = 重定向网络和主机类型的数据报。
校验码:
16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。
网关Internet地址:
应该发送网关地址(其在源数据报数据的internet目的网络域中指定)。
Internet包头+64位源数据报数据:
Internet包头+64位源数据报数据:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。
说明:
网关在下面情况下发送重定向消息。网关(G1)从网关相连的网络上接收到数据报,它检查路由表获得下一个网关(G2)的地址(X)。如果G2和指定的接收主机在同一网络上,重定向消息发出,此消息建议发送主机直接将数据报发向网关G2,因为这更近,同时网关G1向前继续发送此数据报。
因为在数据报中的IP源路由和目的地址域是可选的,所以即使有更好的路由有时也无法发现。代码:网关发送0,1,2和3。
回送或回送响应消息
图6
IP域:
地址:
网络基础概念
回送消息的源地址是回送响应消息的目的地址。若要形成一个回送响应消息,应该将源和目的地址交换,将类型代码更改为0,重新计算机校验码。
IP域:
类型:
8代表回送消息;
0代表回送响应消息。
代码:0
校验码:
16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。
标识符:如果代码=0,帮助匹配回送和回送响应的代码可以为0。
序列码:如果代码=0,帮助匹配回送和回送响应的序列码可以为0。
说明:
回送消息中接收到的消息应该在回送响应消息中返回。标识符和序列码由回送发送者使用帮助匹配回送请求的响应。代码:从主机或网关接收0。
时间戳和时间戳响应消息
图7
IP域:
网络基础概念
地址:
时间戳消息的源地址是时间戳响应消息的目的地址。若要形成一个时间戳响应消息,应该将源和目的地址交换,将类型代码更改为14,重新计算机校验码。
IP域:
类型:
13代表时间戳消息;
14代表时间戳响应消息。
代码:0
校验码:
16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。
标识符:如果代码=0,帮助匹配时间戳和时间戳响应的代码可以为0。
序列码:如果代码=0,帮助匹配时间戳和时间戳响应的代码可以为0。
说明:
接收到的时间戳附加在响应里返回,时间是以百万分之一称为单位计算,并以标准时午夜开始计时。原时间戳是发送方发送前的时间。接收时间戳是回送者接收到的时间,传送时间是回送者发送的时间。
如果时间以百万分之一秒计无效,或者不能以标准时提供,可以在时间戳的高字节填充入数据以表示这不是标准数据。标识符和序列码由发送者匹配请求的响应。代码:从主机或网关接收0。
信息请求或信息响应消息
图8
网络基础概念
IP域:
地址:
信息请求消息的源地址是信息响应消息的目的地址。若要形成一个信息响应消息,应该将源和目的地址交换,将类型代码更改为16,重新计算机校验码。
IP域:
类型:
15代表信息请求消息;
16 代表信息响应消息。
代码: 0
校验码:
16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。
标识符:如果代码=0,帮助匹配信息请求和信息响应的代码可以为0。
序列码:如果代码=0,帮助匹配信息请求和信息响应的代码可以为0。
说明:
此消息可以在IP包头中以源网络地址发送,但同时目的地址域为0(这表示此网络内)。响应IP模块应该发送完全指定地址的响应。发送此消息是主机寻找到自己所在网络号码的一种方法。标识符和序列码由发送者匹配请求的响应。代码:从主机或网关接收0。
消息类型总结
0 回送响应
3 目的不可达
4 源拥塞
5 重定向
8 回送
网络基础概念
11 超时
12 参数问题
13 时间戳
14 时间戳响应
15 信息请求
16 信息响应

