📄 internet控制信息协议(icmp).htm
字号:
<P align=justify>说明:</P>
<P
align=justify>如果没有缓冲容纳,网关会抛弃数据报,如果网关这样做了,它会发送源拥塞消息给发送主机。如果接收的数据报太多无法处理,目的主机也会发送相应的消息给发送主机。此消息要求发送发减少发送速率,网关会给每个抛弃的消息返回源拥塞消息,在接到此消息后,发送主机应该减少发送速率,直到不再接收到网关发送的源拥塞消息为止。在此之后,源主机可以再增加发送速率,直到接收到目的主机的源拥塞消息为止。</P>
<P
align=justify>网关或主机不会等到已经超过限度后再发送此消息,而是接近自己的处理极限时就发送此消息,这意味着,引发源拥塞消息的数据报仍然可以处理。代码:
从主机或网关接收0。</P><B>
<P align=justify>重定向消息</B></P>
<P align=center><IMG height=175 alt=图五
src="Internet控制信息协议(ICMP).files/ICMP5.jpg" width=493></P>
<P align=center>图5</P>
<P align=justify>IP域:</P>
<P align=justify>目的地址:源数据报数据的地址和源网络。</P>
<P align=justify>ICMP域:</P>
<P align=justify>类型: 5</P>
<P align=justify>代码:</P>
<P align=justify>0 = 重定向网络的数据报;</P>
<P align=justify>1 = 重定向主机的数据报;</P>
<P align=justify>2 = 重定向网络和服务类型的数据报;</P>
<P align=justify>3 = 重定向网络和主机类型的数据报。</P>
<P align=justify>校验码:</P>
<P
align=justify>16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。</P>
<P align=justify>网关Internet地址:</P>
<P align=justify>应该发送网关地址(其在源数据报数据的internet目的网络域中指定)。</P>
<P align=justify>Internet包头+64位源数据报数据:</P>
<P
align=justify>Internet包头+64位源数据报数据:Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。</P>
<P align=justify>说明:</P>
<P
align=justify>网关在下面情况下发送重定向消息。网关(G1)从网关相连的网络上接收到数据报,它检查路由表获得下一个网关(G2)的地址(X)。如果G2和指定的接收主机在同一网络上,重定向消息发出,此消息建议发送主机直接将数据报发向网关G2,因为这更近,同时网关G1向前继续发送此数据报。</P>
<P
align=justify>因为在数据报中的IP源路由和目的地址域是可选的,所以即使有更好的路由有时也无法发现。代码:网关发送0,1,2和3。</P><B>
<P align=justify>回送或回送响应消息</B></P>
<P align=center><IMG height=177 alt=图六
src="Internet控制信息协议(ICMP).files/ICMP6.jpg" width=488></P>
<P align=center>图6</P>
<P align=justify>IP域:</P>
<P align=justify>地址:</P>
<P
align=justify>回送消息的源地址是回送响应消息的目的地址。若要形成一个回送响应消息,应该将源和目的地址交换,将类型代码更改为0,重新计算机校验码。</P>
<P align=justify>IP域:</P>
<P align=justify>类型:</P>
<P align=justify>8代表回送消息;</P>
<P align=justify>0代表回送响应消息。</P>
<P align=justify>代码:0</P>
<P align=justify>校验码:</P>
<P
align=justify>16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。</P>
<P align=justify>标识符:如果代码=0,帮助匹配回送和回送响应的代码可以为0。</P>
<P align=justify>序列码:如果代码=0,帮助匹配回送和回送响应的序列码可以为0。</P>
<P align=justify>说明:</P>
<P align=justify>回送消息中接收到的消息应该在回送响应消息中返回。标识符和序列码由回送发送者使用帮助匹配回送请求的响应。代码:
从主机或网关接收0。</P><B>
<P align=justify>时间戳和时间戳响应消息</B></P>
<P align=center><IMG height=250 alt=图七
src="Internet控制信息协议(ICMP).files/ICMP7.jpg" width=489></P>
<P align=center>图7</P>
<P align=justify>IP域:</P>
<P align=justify>地址:</P>
<P
align=justify>时间戳消息的源地址是时间戳响应消息的目的地址。若要形成一个时间戳响应消息,应该将源和目的地址交换,将类型代码更改为14,重新计算机校验码。</P>
<P align=justify>IP域:</P>
<P align=justify>类型:</P>
<P align=justify>13代表时间戳消息;</P>
<P align=justify>14代表时间戳响应消息。</P>
<P align=justify>代码:0</P>
<P align=justify>校验码:</P>
<P
align=justify>16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。</P>
<P align=justify>标识符:如果代码=0,帮助匹配时间戳和时间戳响应的代码可以为0。</P>
<P align=justify>序列码:如果代码=0,帮助匹配时间戳和时间戳响应的代码可以为0。</P>
<P align=justify>说明:</P>
<P
align=justify>接收到的时间戳附加在响应里返回,时间是以百万分之一称为单位计算,并以标准时午夜开始计时。原时间戳是发送方发送前的时间。接收时间戳是回送者接收到的时间,传送时间是回送者发送的时间。</P>
<P
align=justify>如果时间以百万分之一秒计无效,或者不能以标准时提供,可以在时间戳的高字节填充入数据以表示这不是标准数据。标识符和序列码由发送者匹配请求的响应。代码:
从主机或网关接收0。</P><B>
<P align=justify>信息请求或信息响应消息</B></P>
<P align=center><IMG height=139 alt=图八
src="Internet控制信息协议(ICMP).files/ICMP8.jpg" width=488></P>
<P align=center>图8</P>
<P align=justify>IP域:</P>
<P align=justify>地址:</P>
<P
align=justify>信息请求消息的源地址是信息响应消息的目的地址。若要形成一个信息响应消息,应该将源和目的地址交换,将类型代码更改为16,重新计算机校验码。</P>
<P align=justify>IP域:</P>
<P align=justify>类型:</P>
<P align=justify>15代表信息请求消息;</P>
<P align=justify>16 代表信息响应消息。</P>
<P align=justify>代码: 0</P>
<P align=justify>校验码:</P>
<P
align=justify>16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零。这些零在以后会被校验码取代。</P>
<P align=justify>标识符:如果代码=0,帮助匹配信息请求和信息响应的代码可以为0。</P>
<P align=justify>序列码:如果代码=0,帮助匹配信息请求和信息响应的代码可以为0。</P>
<P align=justify>说明:</P>
<P
align=justify>此消息可以在IP包头中以源网络地址发送,但同时目的地址域为0(这表示此网络内)。响应IP模块应该发送完全指定地址的响应。发送此消息是主机寻找到自己所在网络号码的一种方法。标识符和序列码由发送者匹配请求的响应。代码:
从主机或网关接收0。</P>
<P align=justify> </P>
<P align=justify>消息类型总结</P>
<P align=justify>0 回送响应</P>
<P align=justify>3 目的不可达</P>
<P align=justify>4 源拥塞</P>
<P align=justify>5 重定向</P>
<P align=justify>8 回送</P>
<P align=justify>11 超时</P>
<P align=justify>12 参数问题</P>
<P align=justify>13 时间戳</P>
<P align=justify>14 时间戳响应</P>
<P align=justify>15 信息请求</P>
<P align=justify>16 信息响应</FONT></P></TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -