ICMP协议结构全解

网络 网络管理
文章中,我们对ICMP协议进行了结构上的分析。通过几个部分的介绍,希望大家能够掌握这部分内容。具体内容请参考文章内容。

很多网络协议中,都有不稳定的因素。这里我们所说的不稳定因素,就是其中包括一些不可靠的协议。但是,我们通常会使用其他协议来进行弥补。这里我们就讲述一下ICMP协议进行IP协议的差错控制。下面我们来详细说明一下。

ICMP协议概述

IP协议是一种不可靠的协议,无法进行差错控制。但IP协议可以借助其他协议来实现这一功能,如ICMP。

ICMP(Internet Control Messages Protocol, 网间控制报文协议)允许主机或路由器报告差错情况和提供有关异常情况的报告。

一般来说,ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项大的功能。如,当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组,并向源站点返回一个目的站点不可到达的ICMP报文。

ICMP报文类型

1 ICMP报文类型

ICMP报文大体可以分为两种类型,即ICMP差错报文和ICMP协议询问报文。但细分又可分为很多类型,如表1所示。

表1  ICMP报文类型

表1  ICMP报文类型#p#

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协议数据包的格式。

责任编辑:佟健 来源: TT安全
相关推荐

2010-09-25 13:07:50

DHCP协议结构

2019-07-28 21:05:47

ICMPIP网络协议

2009-11-11 10:21:25

路由选择协议

2009-11-12 14:44:21

RIP路由协议

2014-10-10 15:28:08

TCP

2010-09-10 10:36:13

VxWorks网络协议

2010-08-02 16:43:46

ICMP协议

2010-06-24 13:04:13

ICMP协议

2010-06-19 13:47:39

AMF协议

2010-07-13 10:10:07

2014-11-27 09:38:12

2010-01-28 09:47:38

WLAN交换机

2010-08-02 16:14:54

2010-06-13 15:53:35

ICMP协议

2010-07-30 16:00:36

ICMP协议

2010-08-02 16:41:15

2014-09-26 14:30:41

2010-08-02 16:08:24

ICMP协议设置

2010-07-28 17:40:07

2010-07-30 16:28:06

点赞
收藏

51CTO技术栈公众号