ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。
 
类型代码名称
00回应应答
3目的地不可达
0网路不可达
1主机不可达
2协议不可达
3端口不可达
4需要分片和不需要分片标记置位
5源路由失败
6目的网络未知
7目的主机未知
8源主机被隔离
9与目的网络的通告被禁止
10目的主机的通信被禁止
11对请求的服务类型,目的网路不可达
12对请求的服务类型,目的主机不可达
40源抑制(Source Quench)
5重定向
0为网络(子网)重定向数据报
1为主机重定向数据报
2为网络和服务类型重定向数据报
3为主机和服务类型重定向数据报
60选择主机地址
80回应(请求)
90路由器通告
100路由器选择
11超时
0传输中超出TTL
1超出分片重组时间
12参数问题
0指定错误的指针
1缺少需要的选项
2错误长度
130时间戳
140时间戳回复
150信息请求(废弃)
160信息回复(废弃)
170地址掩码请求
180地址掩码回复
30跟踪路由
31数据报会话错误
32移动主机重定向
33IPv6你在哪里
34IPv6我在这里
35移动注册请求
36移动注册回复