ICMP(Internet Control Message Protocol)互联网控制报文协议,所谓控制,就是通过下发指令来感知和控制网络环境,所以它一定是配合一个无法感知网络环境的协议来工作的,这个协议就是 IP(包括 IPv4 和 IPv6)。
ICMP用于在IP网络中传输控制消息。它通常与IP协议一起使用,用于进行网络故障排除、错误报告和网络状态监测。ICMP 通常被认为是 IP 协议的一部分,它封装在 IP 层中,使用 IP 协议进行传输。因此,严格来说,ICMP 既不是一个网络层协议,也不是一个传输层协议,而是介于两者之间的一个协议。
- ICMP 协议是一种面向无连接的协议,用于传输出错报告控制信息。
- 它是一个非常重要的协议,它对于网络安全具有极其重要的意义。主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。
- 当遇到 IP 数据无法访问目标、IP 路由器无法按当前的传输速率转发数据包等情况时,会自动发送 ICMP 消息。
主要功能是传输网络诊断信息,信息主要包括两类:
- 一类是 查询类报文 :主要用于信息的查询和采集,比如采集传输路径上的每个路由器都是谁,本次传输的报文是否达到目的地等等。
- 另一类是 差错诊断类报文 :主要用于诊断网络故障,比如传输报文被丢弃的原因是什么等等。
ICMP协议是在IP协议的基础上实现的,它使用IP数据包进行传输,具有较低的开销和延迟。ICMP消息通常由网络设备(如路由器)或网络管理工具(如Ping程序)生成和处理。它提供了一种有效的方式来进行网络故障排除、网络状态监测和网络性能测试。