1.概念
ICMP经常被认为时IP层的一个组成部分,它传递差错报文以及其他需要注意的信息,通常被IP层或更高协议层(TCP/UDP)使用,一些ICMP报文会把差错报文返回给用户进程,ICMP报文是通过IP数据报来传的,它的报文基本格式为:
8位类型 | 8位代码 | 16位校验和 |
---|---|---|
不同类型的代码有不同的内容 |
2.ICMP报文的类型
类型 | 代码 | 描述 | 查询 | 差错 |
---|---|---|---|---|
0 | 0 | 回显应答(ping) | . | |
3 | 目的不可达 | . | ||
3 | 0 | 网络不可达 | ||
3 | 1 | 主机不可达 | . | |
3 | 2 | 协议不可达 | . | |
3 | 3 | 端口不可达 | . | |
3 | 4 | 需进行分片单设置了不分片bite | . | |
3 | 5 | 源站选路失败 | . | |
3 | 6 | 目的网络不认识 | . | |
3 | 7 | 目的主机不认识 | . | |
3 | 8 | 源主机被隔离 | . | |
3 | 9 | 目的网络被强制禁止 | . | |
3 | 10 | 目的主机被强制禁止 | . | |
3 | 11 | 由于服务类型TOS,网络不可达 | . | |
3 | 12 | 由于与无器类型TOS,主机不可达 | . | |
3 | 13 | 由于过滤通信被强制禁止 | . | |
3 | 14 | 主机越权 | . | |
3 | 15 | 优先权终止生效 | . | |
4 | 0 | 源端被关闭 | . | |
5 | 重定向 | . | ||
5 | 0 | 对网络重定向 | . | |
5 | 1 | 对主机重定向 | . | |
5 | 2 | 对服务器类型和网络重定向 | . | |
5 | 3 | 对服务器类型和主机重定向 | . | |
8 | 0 | 请求回显 | . | |
9 | 0 | 路由器通告 | . | |
10 | 0 | 路由器请求 | . | |
11 | 超时 | |||
11 | 0 | 传输期间生存期为0 | . | |
11 | 1 | 在数据报组装时间生存时间为0 | . | |
12 | 参数问题 | |||
12 | 0 | 坏的IP首部 | . | |
12 | 1 | 缺少必须选项 | . | |
13 | 0 | 时间戳请求 | . | |
14 | 0 | 时间戳应答 | . | |
15 | 0 | 信息请求 | . | |
16 | 0 | 信息应答 | . | |
17 | 0 | 地址掩码请求 | . | |
18 | 0 | 地址掩码应答 | . |
下面这些情况都不会产生ICMP差错
1)ICMP差错报文
2)目的地址是广播地址或多播地址的数据报
3)作为链路层广播的数据报
4)不是IP分片的第一片
5)源地址不是单个主机的数据报
3.ICMP地址掩码请求与应答
ICMP地址掩码请求用于无盘系统引导过程获取自己的子网掩码,系统广播它的ICMP请求报文
4.ICMP时间戳请求与应答
ICMP时间戳请求允许系统向另一个系统查询当前时间。返回的值是自午夜算起的毫秒数