首页/网络/BGP 与广域网速查/TTL 与可达性的组合核对
BGP 基础与邻居89 条

TTL 与可达性的组合核对

多跳对等的 TTL 设定与路由可达性是两个独立检查项:两者都过才会话建立,排查时分开验证避免混因。

BGP 与广域网速查网络更新于 2026-10-13

TTL 与可达性两件事

多跳 BGP 对等起不来时,两个独立原因经常被混在一起:一是路径本身不可达(路由缺失或中间过滤),二是报文虽然能到但 TTL 余量不足,被对端或中间设备丢弃。前者靠路由表与 traceroute 验证,后者靠 TTL 设置与抓包验证。把两项分开检查,比一起调参更快定位根因。

基本信息

检查一路径可达性:路由表是否有目标,双向 ping 是否通
检查二TTL 余量:报文从本端到对端经过多少跳、剩余多少
多跳对等Cisco 用 neighbor <ip> ebgp-multihop <ttl> 放宽 TTL 限制
验证工具traceroute 定位跳数,ping 设置 TTL 探测,抓包查看实际 TTL
关联条目GTSM 场景下 TTL 校验更严格,配置方式互不相同

典型使用场景

  • 多跳 EBGP 建不起来:先确认可达性,再看 TTL 设置是否覆盖实际跳数
  • 链路调整后会话中断:路径跳数变化导致原本够用的 TTL 不再够用
  • 排查「偶发」问题:路由抖动期间路径临时变长,TTL 余量不足时会话断裂
  • 安全加固:把 TTL 校验与可达性检查分开评估,避免叠加改动
  • 文档维护:记录每个多跳邻居的实际跳数与 TTL 设置,便于扩网评估

两项分开验证

两项分开验证
# 检查一:路径是否可达、经过几跳
traceroute 10.255.0.2
ping 10.255.0.2 repeat 5
# 检查二:限制 TTL 探测报文能否到达
ping -t 2 10.255.0.2        # Linux 设置 TTL;Windows 下用 ping -i
# 抓包查看实际 TTL 值,确认余量是否充足
tcpdump -ni eth0 'tcp port 179' -c 10

现象与原因对照

现象可达性问题TTL 问题
完全无法建立路由缺失或中间阻断,最典型TTL 设置小于实际跳数
能建立但抖动路径不稳定抖动期路径变长,TTL 不再够用
单向成功回程路由缺失回程 TTL 校验更严格
调大 TTL 后恢复不是主因确认是 TTL 余量不足导致
两项一起调参的最大问题是无法归因:改了两处之后恢复了,却不知道是哪一项起了作用,下次遇到同类问题时依旧没有依据。

易错点

  • 两项一起调:无法归因根因,问题复现时仍然要重新摸索
  • 忽略回程方向:去程 TTL 够用不代表回程够用,两个方向要分别验证
  • 路径变化后未复核:中间链路调整使跳数增加,原设置静默失效
  • 只调 TTL 不查可达性:把路径问题误诊为 TTL 问题,浪费窗口时间

数据来源与参考

  • 厂商: 多跳 BGP 排查指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌