- ICMP 协议介绍
ICMP(Internet Control Message Protocol)是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议。ICMP允许路由器或主机报告差错情况和提供有关信息,用以调试、监视网络。
- ICMP 的报文格式
图1 ICMP回送请求和应答报文格式
在网络中,ICMP 报文将封装在IP数据报中进行传输。由于ICMP的报文类型很多,且又有各自的代码,因此,ICMP并没有一个统一的报文格式供全部ICMP 信息使用,不同的ICMP类别分别有不同的报文字段。
ICMP报文只在前4个字节有统一的格式,即类型、代码和校验和3个字段。接着的4个字节的内容与ICMP报文类型有关。图1描述了ICMP 的回送请求和应答报文格式,ICMP 报文分为首部和数据区两大部分。其中:
* 类型:一个字节,表示ICMP 消息的类型,内容参见表1;
* 代码:一个字节,用于进一步区分某种类型的几种不同情况;
* 校验和:两个字节,提供对整个ICMP 报文的校验和;
(2)ICMP 的报文类型
ICMP 报文的种类可以分为ICMP 差错报告报文和ICMP 询问报文两种,表1列出了已定义的几种ICMP 消息。
表1 ICMP 消息及类型码
类型的值 |
ICMP 消息类型 |
类型的值 |
ICMP 消息类型 |
0 |
回送(Echo)应答 |
12 |
参数出错报告 |
3 |
目的站点不可达 |
13 |
时间戳(Timestamp)请求 |
4 |
源站点抑制(Source quench) |
14 |
时间戳(Timestamp)应答 |
5 |
路由重定向(Redirect) |
15 |
信息请求 |