ICMP

ICMP报文:

8位类型+8位代码+16位检验和+选项内容

类型为0,代码为0,是ping程序应答

类型为8,代码为0,是ping程序请求

类型为5,代码0:对网络重定向,代码1:对主机重定向,代码2:对服务类型和网络重定向,代码3:对服务类型和主机重定向

类型为13,代码0,是时间戳请求

类型为14,代码0,是时间戳应答

类型为17,代码0,是地址掩码请求

类型为18,代码0,是地址掩码应答

类型为11,代码为0,是传输期间生存时间为0(TTL为0)

类型为11,代码为1,在数据报组装期间生存时间为0

类型为3,代码为0:网络不可达,代码为1:主机不可达,代码为2:协议不可达,代码为3:端口不可达,代码为4:需要设置切片但设置了不分片比特,代码为5:源站选路失败,代码为11:由于TOS,网络不可达,代码为12:由于TOS,主机不可达

 

 

ICMP的一个规则就是:ICMP差错报文必须包括生成该差错报文端数据报IP首部,还必须至少包括跟在该IP首部后面的前8个字节(比如UDP/TCP首部)

ICMP中UDP端口不可达的报文为ICMP首部(8字节)+产生差错报文端数据报IP首部(20字节)+UDP首部(8字节)

 

ICMP重定向报文格式:类型5(1字节)+代码0~3(1字节)+检验和(2字节)+应该使用的路由器IP地址(4字节)+IP首部(包括选项)+原始IP数据报中的数据报8字节

重定向报文只由路由器生成,是使用于主机上

ICMP重定向报文的接收者必须查看三个IP地址:(1)导致重定向的IP地址(返回重定向报文的IP首部中),

                                                            (2)发送重定向报文的路由器的IP地址(包含重定向信息的IP数据报的源地址),

                                                            (3)应该采用的路由器IP地址(在ICMP报文的4~7字节中)

 

 

ICMP不可达差错(需要分片,未设置分片)格式:

类型3(1字节)+代码4(1字节)+检验和(2字节)+未用全为0(2字节)+下一站路由的MTU(2字节)+IP首部(包括选项)+原始IP数据报中的数据报8字节

 

ICMP源站抑制差错格式:当系统处理报文的速度低于接收报文的速度

类型4(1字节)+代码0(1字节)+检验和(2字节)+未用全为0(4字节)+IP首部(包括选项)+原始IP数据报中的数据报8字节

 

posted @ 2016-06-25 16:26  程石亮  阅读(294)  评论(0)    收藏  举报