双点双向重分发的问题
两台边界设备同时做两个方向的重分发(例如 OSPF 与 BGP 互引)时,一条路由可能在一台设备上被引入另一域,再从另一台设备被引回来,形成环路或次优路径。经典解法是打标签:引入时给路由设置 tag,反向引入前先拒绝携带该 tag 的路由。
基本信息
| 场景 | OSPF 与 BGP 双点双向重分发 |
|---|---|
| 防环核心 | 引入方向打 tag,回引方向按 tag 拒绝 |
| 配套要求 | 两台边界设备使用同一 tag 约定 |
| 验证 | show ip ospf database external / show ip bgp 查看路由来源 |
| 替代手段 | 社区标记、管理距离调整、改用单点重分发 |
| 风险 | tag 不一致或只在一台设备配置时防环失效 |
典型使用场景
- 双边界双上行,两个域之间需要互访且都要求冗余
- 数据中心与园区网互联,OSPF 与 BGP 边界设备成对部署
- 迁移过渡期临时双向引入,需要防止路由在两域间震荡
- 多厂商环境:两侧设备来自不同厂商,用 tag 作为通用约定
- 故障演练:验证单台边界设备失效时路由是否正确切换而不产生环路
A 点示例
A 点示例
route-map RM-BGP2OSPF permit 10
set tag 65001 # 引入 OSPF 前打上约定 tag
!
router ospf 1
redistribute bgp 65001 subnets route-map RM-BGP2OSPF
!
route-map RM-OSPF2BGP deny 10
match tag 65001 # 回引前先拒绝带 tag 的路由
route-map RM-OSPF2BGP permit 20
!
router bgp 65001
redistribute ospf 1 route-map RM-OSPF2BGP
!
show ip ospf database external # 核对外部路由是否携带预期 tag常见做法对照
| 做法 | 原理 | 适用与限制 |
|---|---|---|
| 双向重分发 + tag | 引入打标,回引拒绝 | 通用,需要两端约定一致 |
| 单点重分发 | 只在一台设备做引入 | 简单但失去冗余时的路径灵活性 |
| 管理距离调整 | 利用协议优先级压制 | 影响面大,容易误伤其他前缀 |
| 汇总与过滤 | 限制引入范围为汇总段 | 减少明细数量,仍需配合标签 |
两台边界设备使用对称配置:本域回引前先拒绝携带约定 tag 的路由,避免路由在两域间震荡。
只在单台设备做防环配置时,另一台仍会把路由引回,环路与次优路径照样出现;变更必须两台一起做。