一 透析ICMP协议: 协议原理( 二 )


代码0由网关发送,代码1由主机发送 。

;
3. 目标主机不可达报文
0123
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;Type;;;;;Code;;Checksum;;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;unused;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;;;Internet Header64 bits of Original Data Datagram;;;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

类型:3
代码:
0 = 网络不可达;
1 = 主机不可达;
2 = 协议不可用;
3 = 端口不可达;
4 = 需要段和DF设置;
5 = 源路由失败;
校验码:
16位数据(从ICMP类型开始)的反码和再取反而得 。为计算校验码,校验码域应该为零 。
这些零在以后会被校验码取代 。
Internet包头 源数据报:
Internet包头加上源数据的头64位而得 。此数据用于主机匹配信息到相应的进程 。
假如高层协议使用端口号,应该假设其在源数据的头64个字节之中 。
说明:
相应于网关的路由表,假如在目的域中指定的网络不可达,如网络距离为无限远,网关会向发送
源数据的主机发送目的不可达消息 。而且,在一些网络中,网关有能力决定目的主机是否可达 。
假如目的地不可达,它将向发送源数据的主机发送不可达信息 。
在目的主机,假如IP模块因为指定的协议模块和进程端口不可用而不能提交数据报,目的主机将
向发送源数据的主机发送不可达信息 。
另外一种情况是当数据报必须被分段传送,而“不可分段”位打开,在这种情况下,网关必须抛弃
此数据报,并向向发送源数据的主机发送不可达信息 。
【一 透析ICMP协议: 协议原理】代码0,1,4和5由网关发送,而代码2和3由主机发送 。

推荐阅读