ICMP¶
ICMP(Internet Control Message Protocol)Internet控制报文协议。
主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。
报头格式¶

| 字段 | 长度 | 描述 |
|---|---|---|
| 类型 | 1字节 | ICMP的类型 |
| Code | 1字节 | - 进一步划分ICMP的类型,该字段用来查找产生错误的原因.;例如,ICMP的目标不可达类型可以把这个位设为1至15等来表示不同的意思 |
| 校验和 | 2字节 | 该校验和是从ICMP头和以该字段替换为0的数据计算得出的 |
| 数据 | 若干个4字节 |
报文类型¶
| 类型 | 代码 | 状态 | 描述 | 查询 | 差错 |
|---|---|---|---|---|---|
| 0 - Echo Reply | 0 | echo响应 (被程序ping使用) | ● | ||
| 1-2 | 未分配 | 保留 | ● | ||
| 3-目的不可达 | 0 | 目标网络不可达 | ● | ||
| 3-目的不可达 | 1 | 目标主机不可达 | ● | ||
| 3-目的不可达 | 2 | 目标协议不可达 | ● | ||
| 3-目的不可达 | 3 | 目标端口不可达 | ● | ||
| 3-目的不可达 | 4 | 要求分段并设置DF flag标志 | ● | ||
| 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-重定向 | 0 | 重定向网络 | ● | ||
| 5-重定向 | 1 | 重定向主机 | ● | ||
| 5-重定向 | 2 | 基于TOS 的网络重定向 | ● | ||
| 5-重定向 | 3 | 基于TOS 的主机重定向 | ● | ||
| 6 | 弃用 | 备用主机地址 | |||
| 7 | 未分配 | 保留 | |||
| 8-请求回显 | 0 | Echo请求 | ● | ||
| 9-路由器通告 | 0 | 路由通告 | ● | ||
| 10-路由器请求 | 0 | 路由器的发现/选择/请求 | ● | ||
| 11-ICMP 超时 | 0 | TTL超时 | ● | ||
| 11-ICMP 超时 | 1 | 分片重组超时 | ● | ||
| 12-参数问题:错误IP头部 | 0 | IP 报首部参数错误 | ● | ||
| 12-参数问题:错误IP头部 | 1 | 丢失必要选项 | ● | ||
| 12-参数问题:错误IP头部 | 2 | 不支持的长度 | |||
| 13-时间戳请求 | 0 | 时间戳请求 | ● | ||
| 14-时间戳应答 | 0 | 时间戳应答 | ● | ||
| 15-信息请求 | 0 | 弃用 | 信息请求 | ● | |
| 16-信息应答 | 0 | 弃用 | 信息应答 | ● | |
| 17-地址掩码请求 | 0 | 弃用 | 地址掩码请求 | ● | |
| 18-地址掩码应答 | 0 | 弃用 | 地址掩码应答 | ● | |
| 19 | 保留 | 因安全原因保留 | |||
| 20-29 | 保留 | Reserved for robustness experiment | |||
| 30-Traceroute | 0弃用 | 信息请求 | |||
| 31 | 弃用 | 数据报转换出错 | |||
| 32 | 弃用 | 手机网络重定向 | |||
| 33 | 弃用 | Where-Are-You(originally meant for IPv6) | |||
| 34 | 弃用 | Here-I-Am(originally meant for IPv6) | |||
| 35 | 弃用 | Mobile Registration Request | |||
| 36 | 弃用 | Mobile Registration Reply | |||
| 37 | 弃用 | Domain Name Request | |||
| 38 | 弃用 | Domain Name Reply | |||
| 39 | 弃用 | SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol | |||
| 40 | Photuris, Security failures | ||||
| 41 | 实验性的 | ICMP for experimental mobility protocols such as Seamoby [RFC4065] | |||
| 42-255 | 保留 | 保留 | |||
| 235 | 实验性的 | RFC3692( RFC 4727) | |||
| 254 | 实验性的 | RFC3692( RFC 4727) | |||
| 255 | 保留 | 保留 |