三条反射规则
路由反射器只做一件事:在特定方向之间转发 IBGP 学到的路由。规则可以归纳为三条——客户端到客户端反射、客户端到非客户端反射、非客户端到客户端反射;而非客户端到非客户端不反射。最后这条是防环的关键,也是「同层设备之间学不到路由」这类现象的根源。
基本信息
| 规则数量 | 三条反射加一条不反射 |
|---|---|
| 不反射组合 | 非客户端到非客户端 |
| 防环字段 | Originator ID 与 Cluster List |
| 配置方式 | 对客户端邻居使用 route-reflector-client |
| 多级 RR | 用不同的 cluster-id 区分簇 |
| 验证 | show ip bgp <前缀> 查看 originator 与 cluster-list |
典型使用场景
- 确认某台设备为什么学不到路由:核对它与 RR 的角色关系
- 双 RR 设计:客户端同时连接两台 RR 时核对路径来源
- 多级 RR 规划:用 cluster-id 区分不同层级的簇
- 排障环路误判:通过 originator 与 cluster-list 判断路径是否被丢弃
- 变更前评估:把设备加入或移出客户端集合会影响整个反射拓扑
配置与验证
配置与验证
router bgp 65001
neighbor 10.0.0.10 route-reflector-client # 指定为客户端
!
show ip bgp 10.1.1.0/24 # 查看 originator 与 cluster-list
show ip bgp 10.1.1.0/24 | include originator
show ip bgp neighbors 10.0.0.10 # 确认客户端状态与收发计数反射规则
| 来源 | 目标 | 是否反射 |
|---|---|---|
| 客户端 | 客户端 | 反射 |
| 客户端 | 非客户端 | 反射 |
| 非客户端 | 客户端 | 反射 |
| 非客户端 | 非客户端 | 不反射 |
记忆法:只要涉及客户端就反射,两端都是非客户端就不动。
反射只是在 IBGP 内部转发路由,不改变 AS_PATH;如果 AS_PATH 出现异常,应去查 EBGP 侧或策略配置。
核对反射路径
核对反射路径
show ip bgp 10.1.1.0/24 # 查看 originator 与 cluster-list
show ip bgp 10.1.1.0/24 | include originator
show ip bgp neighbors 10.0.0.10 # 确认客户端状态
# originator 为发起该路由的设备标识;cluster-list 记录经过的簇角色与现象对照
| 设备角色 | 能学到的路由来源 | 学不到时的原因 |
|---|---|---|
| 客户端 | RR 与其他客户端 | 未在 RR 上被指定为客户端 |
| 非客户端 | RR 与客户端 | 非客户端之间不互相反射 |
| RR 自身 | 客户端与非客户端 | 需确保两端邻居都已建立 |
| 多级 RR | 上级与下级客户端 | cluster-id 未区分导致路径被丢弃 |
判断某台设备为何学不到路由,先确认它在反射拓扑中的角色:非客户端设备之间不会互相反射,缺少路由属于规则使然,而不是故障。