首页/网络/BGP 与广域网速查/GTSM 与 multihop 的组合选择
BGP 基础与邻居89 条

GTSM 与 multihop 的组合选择

多跳对等的两种安全取向:纯 multihop(放宽 TTL)或 TTL Security/GTSM(收紧校验);现代实践倾向 GTSM 思路。

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

GTSM 与 multihop 怎么选

多跳 EBGP 有两种安全取向。ebgp-multihop 是传统做法:只放宽接收端的 TTL 检查,让报文能从更远的地方到达,安全上并不加分。GTSM(TTL 安全,RFC 5082)反过来做:发送时使用高 TTL,接收时要求 TTL 落在预期范围内,直接丢弃来自其它跳数位置的伪造报文,属于更严格的校验。

基本信息

ebgp-multihop放宽接收 TTL 检查,允许远端报文到达
GTSM发送侧使用高 TTL,接收侧校验 TTL 范围
Cisco 写法neighbor <ip> ebgp-multihop <ttl> 或 neighbor <ip> ttl-security hops <n>
跳数的含义GTSM 中的 hops 表示对端距本端的预期跳数
标准依据RFC 5082(GTSM)、RFC 4271(BGP 与 TCP 传输)

典型使用场景

  • 新建多跳对等:优先按 GTSM 思路配置,安全性更好
  • 存量环境兼容:老设备不支持 GTSM 时保留 multihop 并说明原因
  • 迁移阶段:两端同时支持后按维护窗口统一变更
  • 安全评审:说明为何选择该方案以及跳数取值的依据
  • 排障核对:会话建不起来时先确认两端方案是否匹配

两种写法与核对

两种写法与核对
# 传统做法:放宽 TTL 检查(Cisco)
router bgp 65001
 neighbor 10.255.0.2 ebgp-multihop 2
# GTSM 做法:声明预期跳数
 neighbor 10.255.0.2 ttl-security hops 2
# 核对会话与邻居状态
show ip bgp summary
show ip bgp neighbors 10.255.0.2 | include TTL|multihop

两种方案对照

维度ebgp-multihopGTSM
TTL 处理只放宽接收检查发送用高 TTL,接收校验范围
安全性较弱,来源可被伪造较强,能过滤非常规跳数报文
兼容性几乎所有平台支持老设备可能不支持
适用场景兼容存量与传统环境新增部署与安全要求较高的场景
配置复杂度简单需确认实际跳数取值
迁移时两端要同时支持且一起变更:一侧按 GTSM 校验、另一侧仍是普通 multihop 时,容易出现报文被对端丢弃的情况,因此要安排在维护窗口内统一调整并预留回退步骤。
两者虽然都涉及 TTL,语义正好相反:一个放宽、一个收紧,同一邻居上同时配置会互相冲突。排查时逐邻居确认只保留其中一种,是最快的检查动作。

易错点

  • 两端方案不匹配:一侧校验 TTL 范围、一侧只放宽检查,会话建不起来
  • 跳数取值与实际不符:GTSM 的 hops 写小了会丢报文,写大了则失去过滤意义
  • 迁移无窗口计划:分步实施时中间状态不稳定,容易影响业务
  • 认为 multihop 也有安全收益:它只是放宽检查,不提供来源校验

数据来源与参考

  • RFC 5082: GTSM
  • 运营商: BGP 安全实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌