用于路由器报告错误或提供有关意外情况的信息。
ICMP报文被封装在IP报文数据中,无任何附加的优先级或可靠性
携带ICMP报文的IP包出错,不再产生ICMP报告
ICMP报文总是包括产生问题的数据报首部和前64bit数据
ICMP包格式
TYPE=8 CODE=0 - echo request
TYPE=0 CODE=0 - echo reply
TYPE=3 CODE=0 - 目的站不可达:网络不可达
TYPE=3 CODE=1 - 目的站不可达:主机不可达
TYPE=3 CODE=2 - 目的站不可达:协议不可达
TYPE=3 CODE=3 - 目的站不可达:端口不可达
TYPE=3 CODE=4 - 目的站不可达:需要分片
TYPE=3 CODE=5 - 目的站不可达:源路由失败
TYPE=3 CODE=6 - 目的站不可达:目的网络未知
TYPE=3 CODE=7 - 目的站不可达:目的主机未知
TYPE=3 CODE=8 - 目的站不可达:源主机被隔离
TYPE=3 CODE=9 - 目的站不可达:出于管理目的禁止了与目的网络的通信
TYPE=3 CODE=10 - 目的站不可达:出于管理目的禁止了与目的主机的通信
TYPE=3 CODE=11 - 目的站不可达:对所请求的服务类型,网络不可达
TYPE=3 CODE=12 - 目的站不可达:对所请求的服务类型,主机不可达
TYPE=4 CODE=0 - 源站抑制
TYPE=5 CODE=0 - 对网络重定向报文
TYPE=5 CODE=1 - 对主机重定向报文
TYPE=5 CODE=2 - 对网络和服务类型重定向报文
TYPE=5 CODE=3 - 对主机和服务类型重定向报文
路由器只向主机而不向其他路由器发送ICMP重定向请求
TYPE=9 CODE=0 - 路由器通告
TYPE=10 CODE=0 - 路由器恳求
TYPE=11 CODE=0 - TTL超时
TYPE=11 CODE=1 - 分片重组超时
TYPE=12 CODE=0 - 参数问题:使用指针指向错误字节
TYPE=12 CODE=1 - 参数问题:缺少必要选项
TYPE=12 CODE=2 - 参数问题:bad length
TYPE=13 CODE=0 - timestamp request
TYPE=14 CODE=0 - timestamp reply
TYPE=17 CODE=0 - address mask request
TYPE=18 CODE=0 - address mask reply