(参考文献)TCP/IP详解,卷1:协议
ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP和UDP)使用。
ICMP报文是在IP数据报内部被传输的,如下图:
ICMP报文的格式如下图:
ICMP报文类型
类型 | 代码 | 描 述 | 查询 | 差错 |
0 | 0 | 回显应答(Ping应答) | * |
|
3
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 目的地不可达 网络不可达 主机不可达 协议不可达 端口不可达 需要进行分片但设置了不分片比特 源站选路失败 目的网络不认识 目的主机不认识 源主机被隔离(作废不用) 目的网络被强制禁止 目的主机被强制禁止 由于服务类型TOS,网络不可达 由于服务类型TOS,主机不可达 由于过滤,通信被强制禁止 主机越权 优先权终止生效 |
|
* * * * * * * * * * * * * * * *
|
4 | 0 | 远端被关闭 |
| * |
5
|
0 1 2 3 | 重定向 对网络重定向 对主机重定向 对服务类型和网络重定向 对服务类型和主机重定向
|
| * * * * *
|
8 | 0 | 请求回显 | * |
|
9 10 | 0 0
| 路由器通告 路由器请求
| * *
|
|
11
|
0 1 | 超时: 传输期间生存时间为0 在数据报组装期间生存时间为0
|
|
* *
|
12
|
0 1
| 参数问题: 坏的IP首部(包括各种差错) 缺少必须的选项
|
|
* *
|
13 14
| 0 0
| 时间搓请求 时间搓应答
| * *
|
|
15 16 | 0 0 | 信息请求 信息应答 | * * |
|
17 18 | 0 0 | 地址掩码请求 地址掩码应答 | * * |
|
ICPM地址掩码请求与应答
ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码。系统广播他的ICMP请求报文(这一过程与无盘系统在引导过程中用RARP获取IP地址类似的)。无盘系统获取子网掩码的另外一个方法是BOOTP协议。ICMP地址掩码请求报文格式如下: