一、概念
ICMP(互联网控制协议):TCP/IP协议族的一个子协议。它主要用于在IP网络中传递控制信息和错误消息,是IP协议的补充。ICMP协议是一种无连接协议,它不需要建立连接,也不需要维护状态,只需要发送报文和接收报文。
二、功能
- ICMP 的第一个功能是确认 IP 包是否能够成功到达目标地址,当两个设备进行互联时,其中一个设备发送给另一个设备的 IP 包如果没有到达,就会生成 ICMP 数据包发送给设备共享;
- ICMP 的第二个功能是进行网络诊断,例如ping命令可以测试两台设备之间网络是否正常,显示两台设备之间的延迟情况,并准确报告数据包到达目的地并返回后所花费的时间。
三、分类
(一)差错报告报文
差错报文分为以下几类:
- 目标不可达:不能交付数据报,原因可能是主机不可达,指的是路由表中没有主机的信息;
- 源点抑制:网络拥堵;
- 时间超过:TTL用尽;
- 参数问题:收到的数据报的首部中有的字段的值不正确;
- 改变路由(重定向):有了更合适的发送路由;
为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风暴,下面各种情况都不会导致产生ICMP差错报文:
- ICMP差错报文(但是,ICMP查询报文可能会产生ICMP差错报文);
- 目的地址是广播地址(见图3-9)或多播地址(D类地址,见图1-5)的IP数据报;
- 作为链路层广播的数据报;
- 不是IP分片的第一片;
- 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地址或多播地址;
(二)询问报文
询问报文分为以下几类:
- 回送请求或回答:用于判断相互通信的主机之间是否连通,应用如ping命令、traceroute/tracert命令;
- 时间戳请求或回答:计算出当前网络的往返时延;
写在后面
这个专栏主要是我在学习408真题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!!!
参考资料
[1]王道408教材(2025版)
[2]王道课程资料