首页/网络/协议速查/ICMP 超时(类型 11)

ICMP 超时(类型 11)

TTL 减到 0(Code 0)或分片重组超时(Code 1)时回送:traceroute 正是利用 Code 0 逐跳探测路径。

协议速查网络更新于 2026-10-13

ICMP 超时报文

ICMP 超时(类型 11)有两个代码:代码 0 表示报文在传输中 TTL 减到 0,由路由器丢弃并回送;代码 1 表示分片重组在等待时间内没凑齐。traceroute 正是利用代码 0:故意把 TTL 从 1 递增,靠每一跳回的这条消息画出整条路径。

基本信息

类型号11(IPv4 Time Exceeded)
代码 0传输中 TTL 耗尽,最常见,traceroute 的基础
代码 1分片重组超时,现代网络少见
携带内容原始数据报的头部加至少 8 字节载荷
IPv6 对应ICMPv6 类型 3(Time Exceeded)
生成方路径上的任意一台路由器或最终目标主机

典型使用场景

  • 用 traceroute 绘制到目标的逐跳路径,按延迟找出异常跳
  • 排查路由环路:同一跳地址重复出现或 TTL 快速耗尽
  • 确认某条路径是否存在多层 NAT 或隧道导致跳数异常增加
  • 抓包验证路径上是否真的回送超时报文,判断是不是被设备屏蔽
  • 分析分片重组超时,判断路径 MTU 是否配置混乱
  • 定位「traceroute 只显示到第 N 跳」的原因:后续跳不回超时报文

最小示例

最小示例
traceroute -n 1.1.1.1 | head -5        # -n 不做反向解析,输出更快
traceroute -I -n 1.1.1.1               # 用 ICMP Echo 探测,部分设备更放行
tcpdump -nn -i eth0 'icmp[0] == 11' -c 10   # 抓超时报文
tcpdump -nn -i eth0 'icmp[0] == 11 and icmp[1] == 1' -c 5  # 只看分片重组超时
mtr -rwc 20 1.1.1.1                    # 持续探测并统计每跳丢包

代码含义与用途

代码含义用途
0传输中 TTL 耗尽traceroute 逐跳,判断路径与环路
1分片重组超时大包重组失败信号,指向 MTU 或分片配置问题
无响应设备不回超时报文路径后段显示星号,不代表该跳不存在
延迟突增某一跳排队严重多为该跳链路拥塞或限速
traceroute 输出中的星号表示该跳没有返回任何报文,可能是设备不回 ICMP、被限速,也可能是真丢包;要结合后续跳的响应与端到端丢包率一起判断。

易错点

  • 把中间跳不回应当成丢包:管理面限速 ICMP 很常见,只要末跳与端到端业务正常就不必追
  • 认为 traceroute 显示的路径就是转发路径:负载均衡与多路径会让不同探测走不同链路,重复跑几次结果可能不同
  • 忽略分片重组超时(代码 1)的提示:频繁出现说明路径上 MTU 配置混乱或有设备重组能力不足
  • TTL 起始值设置过小:探测不到远端目标却以为目标不可达,先确认默认值与实际跳数

数据来源与参考

  • RFC 792
  • RFC 1812 §4.3.2.3

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌