ICMP报文的详细解读

ICMP报文:概念、作用与类型

一、ICMP报文基础

ICMP(Internet Control Message Protocol,互联网控制报文协议)​是TCP/IP协议族的核心协议之一,主要用于在IP主机和路由器之间传递控制消息。这些消息虽然不传输用户数据,但对网络诊断、错误报告和路由控制至关重要。

ICMP报文格式
关键特性​:
1、工作在网络层(OSI第三层)
2、作为IP协议的附属协议(IPv4中协议号1,IPv6中Next Header值58)
3、不提供可靠传输机制(不保证报文到达)

二、ICMP报文的核心作用

功能类别具体用途
网络诊断Ping测试、路径追踪(traceroute)
错误报告目标不可达、超时、参数错误等通知
路由控制重定向最佳路由、MTU发现
邻居发现IPv6中的地址解析、路由器发现(NDP协议)
网络管理时间戳请求、路由器通告等(部分功能已逐渐被替代)

三、常见ICMP报文类型示例

1. 网络诊断类

类型名称用途典型工具
Type=0Echo Replyping响应ping
Type=8Echo Requestping请求ping
Type=11Time ExceededTTL超时(traceroute核心机制)traceroute

2. 错误报告类

类型名称触发场景
Type=3Destination Unreachable目标主机/端口不可达
Type=5Redirect发现更优路由时通知发送方
Type=12Parameter ProblemIP头部字段错误

3. 路由控制类

类型名称功能
Type=9Router Advertisement路由器定期通告网络信息
Type=10Router Solicitation主机主动请求路由器信息
Type=4Source Quench请求降低发送速率(已弃用)

4. 补充说明

常用ICMPv6类型示例
类型名称用途
Type=133Router Solicitation主机请求路由器通告
Type=134Router Advertisement路由器通告网络配置
Type=135Neighbor Solicitation地址解析/重复地址检测
Type=136Neighbor Advertisement响应NS报文

四、ICMP报文基础结构

  ICMP报文是封装在IP数据包中的控制消息,其基本格式如下:

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                         Message Body                            +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

字段说明​:
​  Type​:8位,标识报文类型(如0=Echo Reply,3=Destination Unreachable)
  Code​:8位,子类型(含义取决于Type值)
  ​Checksum​:16位,校验和(覆盖整个ICMP报文)
  ​Message Body​:可变长度,具体内容因类型而异

协议设计哲学​
  ICMP本质上是一个"网络层的管理协议",它通过简单的报文交互实现了复杂的网络诊断和错误报告功能,是TCP/IP协议族中"轻量级控制"的典范设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两圆相切

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值