其他分享
首页 > 其他分享> > ICMP协议

ICMP协议

作者:互联网

一、ICMP介绍

1、什么是ICMP

​ ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。

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

ICMP 不是高层协议,而是 IP 层的协议。

二、ICMP 报文格式

image-20210103084904173

​ ICMP报文包含在IP数据报中。IP头部的Protocol为1就说明是ICMP报文

1、ICMP报头字段

类型 说明
类型 占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文
代码 占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型
校验和 这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错(其计算方法与在我们介绍IP报头中的校验和计算方法是一样的)

不同类型的报文由类型和代码共同决定

三、ICMP报文类型

image-20210103085144062

1、查询报文(query)或者信息类报文(information message)

​ 有关信息采集和配置的ICMP报文, ===》用于诊断查询

2、差错报文

​ 有关IP数据报传递的ICMP报文 ===》用于通知出错原因

image-20210103085257873

​ 当A需要给B返回差错报文时。

​ 1、A会把收到的数据报的IP数据报首部和数据中的前8个字节提取出来,作为ICMP报文的数据部分

​ 2、 再加上ICMP报文的前8个字段就形成了ICMP差错报文

​ 3、最后在加上IP首部(比如B的ip地址等)。最后形成装入ICMP报文的IP数据报

四、演示:抓包演示

ping www.baidu.com

image-20210103085336834

五、ICMP协议应用举例

1、pathping

​ 用来跟踪在源和目标之间的中间跃点处网络滞后和网络丢失的详细信息,即了解你所走的路径的路状如何?

image-20210103091522831

参考链接:

https://baike.baidu.com/item/ICMP

https://blog.csdn.net/tigerjibo/article/details/7356936


如果本篇博客有任何错误和建议,欢迎大佬们批评指正

我是知逆,我们下期见

Peace

标签:协议,IP,报文,差错,ICMP,数据,路由器
来源: https://www.cnblogs.com/mercurytan/p/14224800.html