MP-BGP 的扩展方式
MP-BGP(RFC 4760)把 BGP-4 从「只传 IPv4 单播」扩展成可以在同一条 TCP 会话上承载多种地址族:IPv6 单播、VPNv4/VPNv6、EVPN、FlowSpec、带标签单播等。扩展方式是引入 AFI/SAFI 二元组来标识路由所属的地址族,并在 Open 能力协商里逐族声明支持情况。
基本信息
| 协议基础 | RFC 4760 定义 MP_REACH_NLRI 与 MP_UNREACH_NLRI 属性 |
|---|---|
| 族标识 | AFI(地址族)+ SAFI(子地址族)二元组,如 VPNv4 为 1/128 |
| 激活方式 | Cisco 在 address-family 下 neighbor x activate,华为在族视图下 peer x enable |
| 策略范围 | 路由策略、前缀计数、收发统计都按族独立 |
| 能力协商 | Open 阶段声明,未协商成功的族不会交换路由 |
常见地址族标识
| 地址族 | AFI/SAFI | 典型用途 |
|---|---|---|
| IPv4 单播 | 1 / 1 | 常规互联网路由与 iBGP 承载 |
| IPv6 单播 | 2 / 1 | IPv6 路由交换,需注意 IPv6 下一跳可达性 |
| VPNv4 | 1 / 128 | MPLS L3VPN 客户路由,携带 RD 与 RT |
| VPNv6 | 2 / 128 | IPv6 形态的 L3VPN 路由 |
| EVPN | 25 / 70 | 二层/三层数据中心互联与 MAC/IP 通告 |
典型使用场景
- 在既有 IPv4 会话上追加 IPv6 路由交换,不必为 IPv6 单开邻居
- PE 之间用 VPNv4 交换客户路由,按 RT 落到各 VRF
- 数据中心用 EVPN 承载主机 MAC 与 IP 可达性,替代传统 VPLS
- 同一邻居上做差异化策略:IPv4 只收摘要,IPv6 单独收紧入向过滤
- 排障时按族核对收发计数,快速判断是「会话问题」还是「某个族没激活」
Cisco 多族配置
Cisco 多族配置
router bgp 65001
neighbor 2001:db8::2 remote-as 65002
address-family ipv4 unicast
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 prefix-list PL-IN in
exit-address-family
address-family ipv6 unicast
neighbor 2001:db8::2 activate
neighbor 2001:db8::2 prefix-list PL-IN6 in
exit-address-family
!
show bgp ipv6 unicast summary
show bgp ipv6 unicast 2001:db8:100::/48华为多族配置
华为多族配置
bgp 65001
peer 2001:db8::2 as-number 65002
ipv4-family unicast
peer 10.0.0.2 enable
ipv6-family unicast
peer 2001:db8::2 enable
peer 2001:db8::2 ip-prefix PL-IN6 import
#
display bgp ipv6-family peer verboseIPv6 地址族要额外关心下一跳可达性:本地路由表里必须有到达通告方 IPv6 下一跳的路由,否则前缀能收到却不会进入最优路由,表现为「邻居正常、前缀存在但不被使用」。
排错顺序
- 先确认 TCP 会话已 Established,未建立时看底层可达性与 179 放行,不看地址族
- 再看邻居详情的能力段落,确认目标地址族是否协商成功
- 核对邻居在该地址族下是否 activate 或 enable,漏配时配置里看不出任何异常
- 对比该族的收发前缀计数:收为 0 查对端出策略,收有数但不被采用查下一跳与入策略
- 最后核对族级路由策略与 community 发送开关,很多属性问题只在某些族上暴露