什么是ICMP?
ICMP是“InternetControlMessageProtocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP主要功能
从技术教度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况,也能确保连线的准确性。
其功能主要有:
1.侦测远端主机是否存在。
2.建立及维护路由资料。
3.重导资料传送路径。
4.资料流量控制。
ICMP报文格式和分类
一个完整的ICMP数据报:ICMP报文是在IP数据报内部被传输的。
ICMP报文的基本格式:所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。
1) 8位类型:类型字段可以有15个不同的值,以便描述特定类型的ICMP报文。
2) 8位代码:某些ICMP报文还使用代码字段的值来进一步描述不同的条件。
3) 16位校验和:检验和字段覆盖整个ICMP报文。使用的算法和IP首部校验和算法相同。ICMP的检验和是必需的。