- 论坛徽章:
- 0
|
ICMP Internet 控制报文协议
通常被TCP, UDP或者IP使用,用于传递差错报文以及其他需要注意的信息,一些ICMP报文把差错报文返回给用户进程;
ICMP在IP数据报内部传输;
所有ICMP 的前四个字节都是一样的,8bit 类型,8bit代码,16bit 校验和,然后加上其他不一样的信息;校验和字段覆盖整个ICMP报文;
当发送一份ICMP报文时,首先ICMP肯定是通过IP层来传送的,必然会在其前面添加IP首部,然后ICMP报文本身会包含:产生差错的数据报IP首部、产生差错的IP数据报的前8个字节,如果是在以太网中传输,那么其格式:
以太网首部+ IP首部+ ICMP首部+产生差错的数据报IP首部+ TCP/UDP首部(这就是数据报除去首部的前8个字节哈,8位)
产生差错的数据报IP首部—> 这个其中会包含了协议字段(2,6,17 反正不会是1..),如果是17代表UDP,那么后面的首部就可以被解析了
TCP/UDP首部—>会包含TCP/UDP端口号,使用其可以将ICMP和用户进程联系起来..
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/109778/showart_2150112.html |
|