第165篇:PE-CE 路由协议选择:静态/OSPF/BGP

关键词

PE-CE 路由、静态路由、OSPF 多实例、BGP 多跳、路由互引、路由重分发


一、PE-CE 路由的作用

在 MPLS L3VPN 中,PE 和 CE 之间的路由交换是正向流程的关键环节:

                MPLS 骨干
CE1 ──── PE1 ──── PE2 ──── CE2
│ │ │ │
│ PE-CE │ MP-BGP │ PE-CE │
│ 路由协议 │ VPNv4 路由 │ 路由协议 │
│ │ │ │

PE-CE 路由协议负责: - CE 将内部路由发布给 PE - PE 将对端 VPN 站点的路由发布给 CE


二、三种 PE-CE 协议比较

协议 配置复杂度 扩展性 路由控制 厂商兼容性 推荐场景
静态路由 最简单 最灵活 全兼容 简单站点、小规模
OSPF 中等 适中 企业内部使用 OSPF
BGP 较高 最丰富 大规模、多站点、CE 管理

三、方式一:静态路由

3.1 原理

PE 和 CE 之间不运行动态路由协议,而是手工配置静态路由。

CE ---- PE
 │       │
 │ 直连网段 │
 │         │
 │ 静态路由 │
 │  (指向PE)│

3.2 配置示例

# PE1 配置
ip vpn-instance VRF-A
 route-distinguisher 100:1
 vpn-target 1:1 export-extcommunity
 vpn-target 1:1 import-extcommunity
!
interface GigabitEthernet0/0/0.100
 ip binding vpn-instance VRF-A
 ip address 192.168.1.1 255.255.255.252
!
# 在 VRF 中配置静态路由
ip route-static vpn-instance VRF-A 10.1.0.0 16 192.168.1.2
!
# 将静态路由引入 BGP VPNv4
bgp 100
 ipv4-family vpn-instance VRF-A
  network 10.1.0.0 255.255.255.0
  import-route static                    # 引入 VRF 中的静态路由

# CE1 配置
ip route-static 0.0.0.0 0.0.0.0 192.168.1.1    # 默认路由指向 PE

3.3 优缺点

优点 缺点
配置简单,无需协议协商 路由变更需要手工修改
无协议开销 不适用于路由频繁变化的环境
安全(无协议报文) PE 故障场景缺少自动切换

四、方式二:OSPF(多实例)

4.1 OSPF 多实例原理

在 PE 上,OSPF 可以运行在 VRF 实例中,使用独立的进程与 CE 交换路由:

PE1 | 全局 OSPF(骨干网 IGP) Process 1: Area 0 | | | --- | --- | | VRF-A OSPF(PE-CE) Process 100: Area 0 | ← 与 CE 独立协商 |

4.2 配置示例

# PE1 配置
ip vpn-instance VRF-A
 route-distinguisher 100:1
 vpn-target 1:1 export-extcommunity
 vpn-target 1:1 import-extcommunity
!
interface GigabitEthernet0/0/0.100
 ip binding vpn-instance VRF-A
 ip address 192.168.1.1 255.255.255.252
!
# VRF 内的 OSPF 进程
ospf 100 vpn-instance VRF-A            # 绑定到 VRF-A
 area 0.0.0.0
  network 192.168.1.0 0.0.0.3
!
# 将 OSPF 路由引入 BGP VPNv4
bgp 100
 ipv4-family vpn-instance VRF-A
  import-route ospf 100                 # 引入 OSPF 路由
!
# CE1 配置
ospf 1
 area 0.0.0.0
  network 10.1.0.0 0.0.255.255
  network 192.168.1.0 0.0.0.3

4.3 Down-bit 防环机制

如果 PE2 将从 MP-BGP 学习的 VPN 路由重分发到 OSPF 中,CE2 可能再通过 OSPF 将路由发送回 PE2,形成环路。

Down-bit 就是为此设计的防环机制:

PE2 从 MP-BGP 学习到 VPNv4 路由(对端站点)
  │
  ▼
PE2 重分发到 OSPF(发送给 CE2)
  │
  ▼
OSPF LSA 中设置 Down-bit(不接收位)
  │
  ▼
CE2 收到 LSA(含 Down-bit)→ 正常使用
CE2 再通告 OSPF 给其他 CE(含 Down-bit)
  │
  ▼
如果 PE2 收到带 Down-bit 的 LSA → 忽略(防环)

4.4 DN-bit(华为实现)

华为设备在 OSPF LSA 中设置 DN-bit(类似 Down-bit),防止从 VRF 重分发到 OSPF 的路由再次被 PE 学习。

# 自动启用,无需配置
# 查看 DN-bit
<PE1> display ospf 100 lsdb

         OSPF Process 100 with VPN-Instance VRF-A
                 Area: 0.0.0.0

  Type      LinkState ID    AdvRouter     Age  Len   Sequence   Metric
  Network   192.168.1.1     1.1.1.1       100  32    80000001   1
  DN-bit: 1  ← 设置了 DN-bit,PE 不会再次导入

4.5 OSPF 的优缺点

优点 缺点
CE 侧无需特殊配置 需要谨慎处理路由域交互和防环
与 CE 的 OSPF 域平滑集成 多实例配置较复杂
支持的路由策略较丰富 Area 类型限制可能影响路由

五、方式三:BGP(多跳 EBGP)

5.1 原理

PE 和 CE 之间运行 EBGP,CE 通过 BGP 将内部路由发布给 PE,PE 通过 MP-BGP 在骨干网传播。

              EBGP                      MP-BGP                      EBGP
  CE1 ────────────── PE1 ───────────────── PE2 ────────────── CE2
  AS 65001           AS 100                AS 100              AS 65002

5.2 配置示例

# PE1 配置
ip vpn-instance VRF-A
 route-distinguisher 100:1
 vpn-target 1:1 export-extcommunity
 vpn-target 1:1 import-extcommunity
!
interface GigabitEthernet0/0/0.100
 ip binding vpn-instance VRF-A
 ip address 192.168.1.1 255.255.255.252
!
# 在 VRF 中与 CE 建立 BGP 邻居
bgp 100
 ipv4-family vpn-instance VRF-A
  peer 192.168.1.2 as-number 65001        # CE 的 AS
  import-route direct                     # 引入直连
#
# CE1 配置(AS 65001)
bgp 65001
 peer 192.168.1.1 as-number 100
 network 10.1.0.0 255.255.255.0

5.3 BGP 多跳场景

当 CE 和 PE 非直连时,需要使用 ebgp-multihop

  CE1 ─── Switch ─── PE1

  CE1 和 PE1 之间跨越二层交换机,无直连三层接口

CE1 配置:
bgp 65001
 peer 192.168.1.1 as-number 100
 peer 192.168.1.1 ebgp-multihop 2        # 允许 2 跳

5.4 BGP 的优缺点

优点 缺点
扩展性最好(支持大量路由) CE 需要支持 BGP
路由策略最丰富 BGP 配置相对复杂
天然防环(AS Path 属性) 需要规划 AS 编号
支持路由控制(Local Pref、MED 等) 对 CE 设备有一定要求

六、三种协议的选择指南

6.1 决策树

CE 能否运行动态路由协议?
  │
  ├── 不能(简单设备、固定线路)
  │    └── 选择静态路由
  │
  ├── 能
  │    ├── CE 当前运行 OSPF?
  │    │    ├── 是 → 选择 OSPF 多实例(平滑集成)
  │    │    └── 否
  │    │
  │    └── CE 是否支持 BGP?
  │         ├── 是 → 选择 BGP(推荐)
  │         └── 否 → 选择 OSPF(或重新评估需求)

6.2 典型场景

场景 推荐协议 理由
小型分支、CPE 设备 静态路由 简化运维,设备能力有限
CE 是企业核心路由器(运行 OSPF) OSPF 多实例 与内部 IGP 无缝集成
CE 是运营商客户边界路由器 BGP 大规模路由交换,策略丰富
多 VPN 站点,需要精细策略 BGP AS Path、Community 等控制
CE 是防火墙 静态路由 防火墙通常不支持 BGP 或 OSPF

七、跨协议路由重分发

在实际部署中,可能需要在 PE 上将 PE-CE 学习到的路由重分发到 MP-BGP(或反向),这需要谨慎处理:

# 从 OSPF 重分发到 BGP VPNv4
bgp 100
 ipv4-family vpn-instance VRF-A
  import-route ospf 100
  import-route static                     # 静态也引入

# 从 BGP 重分发到 OSPF(用于对端站点路由通告给本 CE)
ospf 100 vpn-instance VRF-A
 import-route bgp                         # 引入 BGP VPNv4 路由

注意:重分发时务必确认防环(Down-bit/DN-bit 自动处理 OSPF 方向,AS Path 处理 BGP 方向)。


八、总结

协议 配置命令 适用场景 防环机制
静态路由 ip route-static vpn-instance 小型简单站点 无(手工保证)
OSPF 多实例 ospf [id] vpn-instance [name] CE 运行 OSPF Down-bit/DN-bit
BGP 多跳 peer [ce-ip] as-number [ce-as] 大型/多站点 AS Path

九、思考

  1. PE-CE 路由协议三种方式(静态/OSPF/BGP)的适用场景分别是什么?
  2. OSPF 多实例中的 Down-bit 和 DN-bit 起什么作用?
  3. 为什么 BGP 是 L3VPN 中最推荐的 PE-CE 协议?
  4. 如果 CE 不支持 BGP 也不支持 OSPF,如何与 PE 交换路由?
  5. PE 将 VPN 路由重分发到 OSPF 给 CE 时,需要注意什么问题?

下篇预告:第166篇《L3VPN 数据转发过程详解》——从 CE1 到 CE2,完整追踪一个数据包如何穿越 MPLS 骨干网,经历双层标签的压入、交换和弹出。