首页/网络/BGP 与广域网速查/第 10 步:Router ID 与 Cluster List 比较
BGP 选路与策略62 条

第 10 步:Router ID 与 Cluster List 比较

eBGP 路径比较邻居 Router ID(小者胜);iBGP 场景先比 Originator ID,并列时比较 Cluster List 长度(短者胜)。

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

选路末尾的兜底比较

当选路走到 AS_PATH、ORIGIN、MED、eBGP 优于 iBGP、到下一跳的 IGP 度量这些步骤仍无法分出胜负时,比较进入兜底阶段:iBGP 路径先比 ORIGINATOR_ID(小者优先),并列时比 CLUSTER_LIST 长度(短者优先);eBGP 路径则比较通告方的 Router ID。这一步决定的结果看似偶然,实际由 Router ID 规划决定。

基本信息

iBGP 比较项ORIGINATOR_ID 小者优先,由反射器写入
并列处理CLUSTER_LIST 长度短者优先,长度相同再继续比较
eBGP 比较项通告方 Router ID,小者优先
配置参考部分实现默认偏好最先收到的路径,可用开关改为比较 Router ID
查看位置show ip bgp <前缀> 输出中的 Originator 与 Cluster list 行

典型使用场景

  • 双 RR 场景:解释为何同一前缀在两个客户端上结论不同
  • 排查「改 Router ID 后出口变了」:Router ID 参与末尾比较,变更会影响结果
  • RR 规划:保证全域 Router ID 唯一,避免 Originator 比较失效
  • 分析选中路径的合理性:确认最终胜出者是由兜底规则而非策略决定
  • 变更前评估:把 Router ID 纳入变更影响分析清单,而不是只当作标识

查看用于比较的字段

查看用于比较的字段
show ip bgp 10.100.0.0/16
# 输出中关注:
#   from 10.0.0.2            (通告方地址)
#   Originator: 2.2.2.2      (最初通告者的 Router ID)
#   Cluster list: 10.99.0.1  (经过的集群)
#   Metric / LocPrf / Weight (前置比较项)
!
show ip bgp neighbors 10.0.0.2 | include router-id

两个字段的来源

字段由谁写入比较规则
ORIGINATOR_ID第一个反射该路由的 RR小者优先
CLUSTER_LIST每台 RR 追加自身集群 ID长度短者优先
Router ID设备自身标识,优先级为显式配置、环回、物理口eBGP 场景下小者优先

结果一致性核对

结果一致性核对
# 在多台设备上查看同一前缀,比较 from 与最优标记
show ip bgp 10.100.0.0/16
#
# 核对是否存在 Router ID 重复
show ip bgp summary
# 顶部显示的本地 Router ID 应在全网唯一
#
# 变更 Router ID 前记录基线
show ip bgp 10.100.0.0/16 > before-rid.txt
不同实现对这个步骤的顺序与默认行为有差异:有的偏好最先收到的路径,有的直接比较 Router ID,且多数厂商提供开关切换。跨厂商组网时不要假设规则一致,以设备实际输出和厂商文档为准。

易错点

  • 修改 Router ID 前未评估:它参与末端比较,修改后同一前缀的最优路径可能改变
  • RR 域内 Router ID 重复:Originator 比较失去意义,选路与环路检测同时受影响
  • 把兜底比较当成随机结果:看似偶然的出口差异背后是可解释的字段比较
  • 忽略 Cluster list 长度的影响:多级反射场景下长度差异会直接决定胜负
  • 变更后不做前后对照:缺少基线就无法判断出口变化由哪一步比较引起

数据来源与参考

  • RFC 4456: 路由反射
  • Cisco: router-id 比较步骤
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌