ICMP - Internet Control Message Protocol - Internet控制报文协议

它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 [3] 它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

为了更有效的转发IP数据报和提高交付成功的机会,在网络层使用ICMP协议。

主要用途

  1. 发生差错的路由器利用 ICMP 向IP数据报的源主机报告差错或意外情况。
  2. 主机利用ICMP查询信息

工作原理

ICMP工作在网络层,但封装在IP数据报中进行传送。而不是封装在链路层帧

IP Protocol字段

https://keyon-photo-1256901694.cos.ap-beijing.myqcloud.com//markdown20191117231029.png

特点