2 ICMP回射请求和应答报文头部格式

ICMP报文被封装在IP数据报内部传输。如图1所示,是ICMP协议回射请求和应答报文头部格式。

图1  ICMP回射请求和应答报文头部格式

图1  ICMP回射请求和应答报文头部格式

各种ICMP报文的前32bits都一样,它们是:

8bits类型和8bits代码字段:一起决定了ICMP报文的类型。常见的有:

类型8、代码0:回射请求。

类型0、代码0:回射应答。

类型11、代码0:超时。

16bits校验和字段:包括数据在内的整个ICMP协议数据包的校验和,其计算方法和IP头部校验和的计算方法是一样的。

对于ICMP回射请求和应答报文来说,接下来是16bits标识符字段:用于标识本ICMP进程。

最后是16bits序列号字段:用于判断回射应答数据报。

3 ICMP目标不可达报文

如图2所示,是ICMP目标不可达报文头部格式。

图2  ICMP目标不可达报文头部格式

图2  ICMP目标不可达报文头部格式

其中代码字段的不同值又代表不同的含义,如,0代表网络不可达、1代表主机不可达等,见表1。

4 ICMP超时报文头部格式

如图3所示,是ICMP超时报文头部格式。

图3  ICMP超时报文头部格式

图3  ICMP超时报文头部格式

其中:

类型11+代码0:表示传输期间生存时间为0。

类型11+代码1:表示数据报组装期间生存时间为0。

由于篇幅有限,这里不再分析其他类型ICMP协议数据包的格式。


相关内容