ICMP协议

参考链接:https://www.cnblogs.com/embedded-linux/p/7068130.html

1、一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。 所以我们就需要一种协议来完成这样的功能–ICMP协议。

ICMP协议的功能主要有: 
             1. 确认IP包是否成功到达目标地址 
             2. 通知在发送过程中IP包被丢弃的原因 

            1.ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结为网络层协议 
            2. ICMP只能搭配IPv4使用,如果是IPv6的情况下, 需要是用ICMPv6

2、报文格式

ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(属于ICMP报文的数据部分)。当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。ICMP报头如下图所示。 

ICMP协议_第1张图片

ICMP协议_第2张图片

ICMP协议_第3张图片

ICMP协议_第4张图片

3、应用

ping、traceroute

 

 

你可能感兴趣的:(协议分析)