你这个场景里,其实问题出在 IGP 不一致:
A 内部跑 ISIS,A 和 B 之间用 ISIS + iBGP;
C 内部跑 OSPF,C 和 B 之间用 OSPF + iBGP;
BGP 的 AS 号相同(iBGP)。
结果就是:
A ←→ B 可以互学到路由。
C ←→ B 也能互学到路由。
但是 A ←→ C 没法互通,因为 iBGP 默认不会把从一个 iBGP 邻居学到的路由再传给另一个 iBGP 邻居(iBGP split-horizon 规则)。
✅ 解决办法有几个常见选项:
把 B 配置成 RR,A 和 C 做 RR-client。
RR 会打破 iBGP 的 “不转发” 限制,把从一个 client 学到的路由再反射给另一个 client。
配置很简单(以华为/华三为例):
bgp 65000
peer A_IP as-number 65000
peer A_IP route-reflector-client
peer C_IP as-number 65000
peer C_IP route-reflector-client
这样 A 和 C 就能互相学到路由。
直接让 A 和 C 也建立 iBGP 邻居关系。
因为在一个 AS 内,iBGP 必须全互联(除非用 RR/Confederation)。
缺点:规模大时难以维护。
如果网络比较复杂,可以把 A、B、C 各分在子 AS 里,用 Confederation 机制解决。
实际场景里用得少,不如 RR 简单。
⚠️ 补充注意点:
因为 A 用 ISIS,C 用 OSPF,B 做了两边的 IGP redistribution。要确保 OSPF ↔ ISIS 互导策略合理,避免环路(通常只导入边界网段,核心网段不导)。
如果未来规模继续扩大,推荐在核心(B 或多台核心设备)统一部署 RR 架构,而不是搞全互联。
👉 所以你的情况,最简洁可维护的办法是:把 B 配成 Route Reflector,让 A、C 都做 RR-client,这样路由就能在 A 和 C 之间传递了。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论