1) ICMP协议简介 ICMP是(Internet ControlMessageProtocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息主要用来测试ip协议的连通性。虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 我们经常使用的用于检查网络通不通的Ping命令(Linux、Windows、网络设备中均有),这个"Ping"的过程实际上就是ICMP协议工作的过程。 I C M P报文通常被IP层或更高层协议( T C P或U D P)使用。ICM P报文是在IP数据报内部被传输的,ip协议号为1。 2) ICMP报文格式 I C MP报文的格式如下图,所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。
CCNA小白教程3.5 ICMP和ARP
3) ICMP报文的类型和代码含义 类型字段可以有1 5个不同的值,以描述特定类型的I C MP报文。某些I C MP报文还使用代码字段的值来进一步描述不同的条件。 各种类型的I C MP报文如下图所示,不同类型由报文中的类型字段和代码字段来共同决定,图中的最后两列表明I C MP报文是一份查询报文还是一份差错报文。 类型和代码为(8,0)的为“ping请求包”,也称echorequest 类型和代码为(0,0)的为“ping应答包”,也称echoreply 其它类型和代码为扩展功能和报错消息,如下图所示: