内容简介:何为ICMP协议? ICMP即互联网控制消息协议(Internal Control Message Protocol),与IP协议一样同属TCP/IP模型中的网络层,并且ICMP数据包是包裹在IP数据包中的。他的作用是报告一些网络传输过程中的错误与做一些同步工作。ICMP数据包有许多类型。每一个数据包只有前4个字节是相同域的,剩余的字段有不同的数据包类型的不同而不同。ICMP数据包的格式如下:ICMP数据包通过类型字段与代码字段来共同决定该数据包类型,下面列出各种类型对应关系:这些规则是为了防止过去允许 I
何为ICMP协议? ICMP即互联网控制消息协议(Internal Control Message Protocol),与IP协议一样同属TCP/IP模型中的网络层,并且ICMP数据包是包裹在IP数据包中的。他的作用是报告一些网络传输过程中的错误与做一些同步工作。ICMP数据包有许多类型。每一个数据包只有前4个字节是相同域的,剩余的字段有不同的数据包类型的不同而不同。ICMP数据包的格式如下:
- 类型字段:指明该数据包属于什么类型(大分类),长度1个字节。
- 代码字段:指明数据包属于大类里面的哪个小类,长度1个字节。类型字段与代码字段共同决定ICMP数据包类型,以及后续字段含义。
- 校验和 : 指明该数据包的校验和,长度2个字节。该校验和覆盖整个ICMP数据包。
二、ICMP数据包类型
ICMP数据包通过类型字段与代码字段来共同决定该数据包类型,下面列出各种类型对应关系:
- 最后两列表明该数据包是查询ICMP数据包还是差错数据包。一般的需要对差错数据包做一些特殊处理。
- 在有些时候是不会产生ICMP差错数据包的:
- ICMP差错数据包(ICMP查询数据包可能会产生ICMP差错数据包)
- 目的地址为广播/多播的IP数据包
- 链路层广播的数据包(如ARP)
- 非IP分片的第一片
- 源地址不是个单播地址。
这些规则是为了防止过去允许 I C M P差错报文对广播分组响应所带来的广播风暴。
三、常见的ICMP数据包
当前章节,介绍三种常见的ICMP数据包:ICMP端口不可达差错、ICMP地址请求与应答。其中第1种为ICMP差错数据包;第2种是ICMP查询数据包。通常查询数据包是成对出现的(请求与应答)。
通常该数据包指明类型字段为3,代码字段为0~15。后面数据部分包含4字节的0数据已经,IP首部与运输层首部(TCP/UDP首部)。通过抓包,来一个实际的例子:
以上所述就是小编给大家介绍的《系列TCP/IP协议-ICMP协议》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
REST in Practice
Jim Webber、Savas Parastatidis、Ian Robinson / O'Reilly Media / 2010-9-24 / USD 44.99
Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and ent......一起来看看 《REST in Practice》 这本书的介绍吧!