ICMP,即控制报文协议,是TCP,UDP,IP等主要协议的辅助协议,主要用于传递各种网络信息。
ICMP包格式:
| 8位类型 | 8位代码 | 16位校验和 | 数据部分(不同类型的ICMP有不同的内容) |
(1)类型字段和代码字段共同决定ICMP的类型;校验和覆盖整个ICMP报文,因为IP只有对头部的校验,ICMP需要自己去校验收到的ICMP报文是否有错;
(2)类型字段和代码字段对应的ICMP描述如下图所示:
(3)注意到上图中的ICMP分为两类,查询与差错报文。对于差错报文,ICMP报文的数据字段一般包含出错IP分组的头部及其数据域的前8个字节,如果IP分组的数据是TCP或者UDP,则这8个字节就包含了源端口号和目的端口号。
(4)对于查询类型的ICMP报文,数据部分的开头一般是标识和序号字段,各占两个字节。标识用于标识不同的发送进程,序号用于标识不同的ICMP,比如ping程序中,往往标识是进程ID,序号是0,1,2…
本文介绍了ICMP协议的基本概念,包括其作为TCP/IP协议簇中辅助协议的作用,报文格式及类型,如差错报告和查询报文的具体内容,并解释了它们在网络通信中的应用。
![7LVP4C8ZERVL]`KU5W~~KGY 7LVP4C8ZERVL]`KU5W~~KGY](http://hi.youkuaiyun.com/attachment/201104/19/0_1303225830W8Ln.gif)

被折叠的 条评论
为什么被折叠?



