摘要

  • 路由抖动抑制把近期撤回历史累积成逐渐衰减的惩罚值,越过本地阈值后暂停使用路由;这个数值既不能证明路由是否合法,也不能预测未来行为。
  • RFC 7196 建议采用远比旧式默认值审慎的阈值,并允许“只计算、不抑制”的模式,因为过度抑制会把正常收敛变成长时间的可达性损失。

历史分数变成执行决定

RFC 2439 从一个真实的控制平面问题出发。反复的路由变化会占用决策过程能力,并触发转发表项的增加和删除。负载足够高时,一台困难中的路由器还会把更多工作传给对等体。BGP 实现不能假定发送方会替它隔离不稳定性。

抑制机制为每条外部路由保留记忆:撤回时增加不稳定惩罚,状态不变时让惩罚按指数衰减;超过抑制阈值后暂停使用,降到复用阈值以下后重新采用,并受最长抑制时间约束。RFC 2439 将稳定性感知抑制用于从外部对等体接收的路由。把它应用于 IBGP 学到的路由,或在完成路径选择后延迟通告,可能制造路由环路。

这是一项本地权力。算法并不裁定前缀是否正当存在,而是允许一个边界根据近期变化史暂时拒绝一条路由。

阈值把受益者与成本承担者分开

路由器及其对等体从较少的更新、决策与转发变化中受益。成本则由被抑制的前缀和用户承担:一条仍可用的路径可能消失。惩罚值记录的是过去的状态转移,不是对意图、过错或未来不稳定性的证明。

RFC 7196 引用的一周历史实验显示,3% 的前缀产生了 36% 的 BGP 消息。使用 6000 的抑制阈值时,与不启用抑制相比更新率下降 19%,与阈值 2000 相比被抑制的前缀减少 90%。这些数字只属于特定历史实验,不能描述今天的互联网,也不能保证任何网络获得相同结果。

规范要求内部最大惩罚常数必须至少提高到 50000。同时,为避免破坏已有运营配置,现有实现不应自动改变可配置默认值。希望比传统设置温和、但仍较积极抑制的运营者,应把阈值设为至少 6000;审慎的运营者应设为至少 12000。这些是 SHOULD 级建议,不是通用保证。

先观察,再执行抑制

实现可以提供“只计算、不抑制”的测试模式。运营者能看到某组参数会隐藏哪些前缀,却不实际移除可达性。这把取证与执行分开,使团队可以测量受影响群体、识别正常收敛、核对备选路径,并估算路由降到复用阈值所需时间。

安全边界同样明确。攻击者可以制造虚假抖动,试图使受害前缀遭到抑制。RFC 7196 只说更审慎的参数应当略微减轻风险,并没有声称能够认证更新、识别攻击者或消除攻击。

证据与边界

RFC 2439 定义抑制模型、逐路由记忆、阈值、衰减和适用范围;RFC 7196 提供后续测量、修订参数和只计算模式;RFC 4271 给出基础 BGP 决策背景。关于权力、授权、受益者、成本与控制的结论,是从这些事实推导出的分析。

来源没有揭示任何具名网络的当前参数,不能证明发生变化的路由具有恶意,也没有给出适用于所有环境的安全阈值。采样方式、厂商实现、拓扑与备选路径都会改变结果。

来源