<font color="orange">「作者主页」:</font>士别三日wyx
<font color="orange">「作者简介」:</font>CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
<font color="orange">「专栏简介」:</font>此文章已录入专栏《计算机网络零基础快速入门》
ICMP的功能是检错而不是纠错;
它将出错的报文返回给发送方的设备,发送方根据ICMP报文确定「错误类型」,从而更好的重发错误的数据包。
我们用来测试网络连通性的 ping命令,就是ICMP的工作过程。
ICMP是IP协议的一部分,因此,ICMP协议的报文包含在IP数据报的数据部分: 1)类型(Type):4位,标明ICMP报文的作用及格式。
2)代码(Code):4位,标明报文的类型。
3)校验和:8位,检验报文是否有误。
ICMP协议主要通过 Type和 Code 的组合,来标明报文的类型,常见的有三种:
1)请求响应
发送方发送一个 Type =8的报文,途中没有异常,接收方就会返回一个 Type=0 的报文;
比如下面这一对请求和响应,注意看我圈中的地方:
2)网络、主机、协议、端口不可达
这几种情况的报文类型都是一样的,接收方返回一个 Type = 3,Code=3 的报文,意思就是端口不可达(访问了一个不存在的端口),比如下面这个响应,重点看我圈中的地方:
常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)。
完整的ICMP报文类型如下:
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/wangyuxiang946/article/details/124553016