第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 |
九、思考
- PE-CE 路由协议三种方式(静态/OSPF/BGP)的适用场景分别是什么?
- OSPF 多实例中的 Down-bit 和 DN-bit 起什么作用?
- 为什么 BGP 是 L3VPN 中最推荐的 PE-CE 协议?
- 如果 CE 不支持 BGP 也不支持 OSPF,如何与 PE 交换路由?
- PE 将 VPN 路由重分发到 OSPF 给 CE 时,需要注意什么问题?
下篇预告:第166篇《L3VPN 数据转发过程详解》——从 CE1 到 CE2,完整追踪一个数据包如何穿越 MPLS 骨干网,经历双层标签的压入、交换和弹出。