Summary
- RFC 3345 描述的是确定性的 BGP 路由振荡:路由器按各自可见的不完整路径集合选路,而新通告又改变其他节点能够比较的候选路径。
- 证据应是跨节点重复出现的路径、UPDATE 与撤回序列,而不是某一时刻某台路由器的“最佳路径”。
分析
先看一个看似正常的动作:路由反射器选出当前最佳出口并通告给对端。接收方把这条通告加入自己的候选集合,再依照本地决策过程选路。随后,一条撤回可能移除最初影响第一个反射器的路径;它重新计算,又回到前一次选择。通告与撤回绕一圈,系统回到起点。这里不需要随机故障;正是局部状态互相改变,使全网无法收敛。
RFC 3345 于 2002 年作为信息性文档发布。它没有把 MED 规则说成错误:BGP 通常只比较从同一相邻 AS 学到的 MED,以保留对端表达出口偏好的局部含义。完整 iBGP 全互联会带来更广的路径可见性,但规模成本高。路由反射和 AS 联盟减轻会话规模,也可能让不同路由器看到不同出口。
Type I 振荡的条件包括单层反射或联盟设计,以及同一前缀从多个 AS 收到并接受不同 MED。RFC 的反射器示例中,MED 与到 NEXT_HOP 的 IGP 代价比较顺序很关键。一次 UPDATE 让另一节点改选;其后通告或撤回又改变第一个节点可见的路径集合。所谓“最佳”只对局部信息成立,并不自动代表分布式系统已稳定。
Type II 不是 Type I 的简单放大:它要求多层路由反射或多个子 AS,并符合文档描述的 MED 条件。联盟示例还显示周期扫描器可能影响何时重新计算。只保存最终路由表,会抹掉触发循环的时间顺序。
文档列出的替代措施各有代价:调整层间 IGP 度量、拒绝 MED、让决策过程不进入 MED 比较,或恢复全互联。没有一种适用于所有网络。RFC 7964 后来描述了包括 ADD-PATH 在内的路径多样性机制,但这不是广泛部署的证明,也不能说明每种振荡条件都已消失。
要证明生产网络出现了类似循环,需要每台相关路由器的候选路径、属性、选路理由、带时间戳的 UPDATE 与撤回、扫描器状态,并另行观察转发表和实际转发。控制平面的振荡本身不能证明丢包或业务中断。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
