Cluster ID 与环路检测
路由反射器(RR)把从客户端学到的路由反射给其它客户端,为避免反射路径在集群内打转,RFC 4456 引入两个属性:ORIGINATOR_ID 记录最初通告者的 Router ID,CLUSTER_LIST 记录反射过程经过的集群 ID。反射器在发出路由时把自己的 cluster-id 追加进 CLUSTER_LIST,接收时若发现列表中已存在该值就丢弃该路由。
基本信息
| 默认取值 | 未配置时 cluster-id 取本机 Router ID |
|---|---|
| 配置命令 | router bgp 下 bgp cluster-id <值> |
| 推荐做法 | 同一集群内的多台 RR 显式配置相同的 cluster-id |
| 查看位置 | show ip bgp <前缀> 输出中的 Cluster list 与 Originator 行 |
| 适用协议 | RFC 4456 路由反射 |
| 与 Router ID 区别 | cluster-id 标识集群,Router ID 标识设备,两者角色不同 |
典型使用场景
- 双 RR 冗余组网:两台 RR 属于同一集群时必须共用 cluster-id
- 排障路由被丢弃:核对 CLUSTER_LIST 中是否出现本集群 ID
- 迁移 RR:新增 RR 加入现有集群前先统一集群标识
- 多集群设计:按区域划分集群并用不同 ID,便于分析反射路径
- 核查反射效果:确认客户端收到了正确的 Originator 与 Cluster list
配置与查看
配置与查看
router bgp 65001
bgp cluster-id 10.99.0.1
!
# 在两台 RR 上配置相同的 cluster-id
!
show ip bgp 10.100.0.0/16
# 关注输出:
# Originator: 2.2.2.2 (最初通告者的 Router ID)
# Cluster list: 10.99.0.1
# 回路丢弃的条件:收到的路由里已包含本集群 cluster-id两个防环属性对照
| 属性 | 写入者 | 判据 |
|---|---|---|
| ORIGINATOR_ID | 第一个反射该路由的 RR | 值等于本机 Router ID 时不再接收 |
| CLUSTER_LIST | 每台反射器追加自身 cluster-id | 列表中出现本集群 ID 即丢弃 |
| LOCAL_PREF | 不发生反射写入 | 反射器不修改该属性,客户端间保持一致 |
常见问题核对
常见问题核对
# 确认两台 RR 的 cluster-id 是否一致
show running-config | include cluster-id
# 查看客户端是否收到带 Originator 的路由
show ip bgp 10.100.0.0/16
# 检查客户端之间是否正常互通
show ip bgp summary
# 关注双 RR 场景下同一前缀的路径数量是否为两条同一集群内多台 RR 使用不同 cluster-id 时,反射路径的环路判定会失效:路由可能在集群内多处反射,形成不可预期的路径。双 RR 场景请在规划阶段就统一集群标识。