ICMP协议详解
ICMP协议是一个网络层协议。
一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。
所以我们就需要一种协议来完成这样的功能–ICMP协议。
ICMP协议的功能
ICMP协议的功能主要有:
1. 确认IP包是否成功到达目标地址
2. 通知在发送过程中IP包被丢弃的原因
如下图所示:
我们需要注意几点:
1.ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结为网络层协议
2. ICMP只能搭配IPv4使用,如果是IPv6的情况下, 需要是用ICMPv6
ICMP的报文格式
ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(