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

关键词:PE-CE路由、静态路由、OSPFv3、eBGP、iBGP、路由引入、多实例、Route-Map

一、引言

在 MPLS L3VPN 架构中,PE(Provider Edge)与 CE(Customer Edge)之间的路由协议选择直接影响 VPN 网络的规模、灵活性和运维复杂度。PE-CE 之间可以使用静态路由、OSPF、IS-IS 或 BGP 等协议来交换客户路由。每种协议都有其适用场景和限制,正确的选择需要在客户需求、网络规模和运维成本之间取得平衡。

二、核心概念

2.1 PE-CE 路由协议对比

协议 适用场景 优点 缺点
静态路由 小规模站点(<10个路由) 配置简单,资源占用低 不可扩展,无自动收敛
OSPF 中小规模(<1000条路由) 收敛快,支持区域划分 PE需运行多实例OSPF
IS-IS 大规模 收敛快,扩展性好 配置复杂,客户需支持IS-IS
eBGP 大规模,多AS客户 策略控制灵活,扩展性最佳 配置复杂,需要AS号规划
iBGP 单AS客户 简单,无AS号问题 需要全互联或RR

2.2 PE-CE 路由流程

PE-CE 路由流程 - 图示

2.3 VRF 内多实例路由

当 PE 连接多个 CE 时,需要在同一 VRF 内运行多个路由协议实例:

场景 VRF 内协议 配置方式
单 CE 单一协议 直接在 VRF 内使能协议
多 CE(同协议) 多实例 OSPFv3 多进程或 BGP 多实例
多 CE(不同协议) 混合协议 各协议独立实例 + import-route

三、技术细节

3.1 静态路由 PE-CE 方案

静态路由是最简单的 PE-CE 路由方案:

CE 侧配置:

[CE] ip route-static 0.0.0.0 0.0.0.0 10.1.1.1
  # 默认路由指向 PE

PE 侧配置:

[PE] vpn-instance VPN-A
[PE-vpn-instance-VPN-A] ip route-static 10.1.2.0 255.255.255.0 10.1.2.1
  # 静态路由指向 CE,下一跳为CE接口IP

路由注入:PE 通过 import-route static 将 VRF 内的静态路由注入 MP-BGP。

3.2 OSPF PE-CE 方案

OSPF 在 VRF 内的运行方式有单实例和多实例两种:

模式 说明 适用场景
单实例 VRF 内运行一个 OSPF 进程,所有 CE 共享 单 CE 或多 CE 信任场景
多实例(OSPFv3) VRF 内运行多个 OSPF 进程,各 CE 隔离 多 CE 隔离场景

OSPFv3 多实例配置:

[PE] ospfv3 1 vpn-instance VPN-A
[PE-ospfv3-1] area 0.0.0.0
[PE-ospfv3-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[PE] ospfv3 2 vpn-instance VPN-A
[PE-ospfv3-2] area 0.0.0.0
[PE-ospfv3-2-area-0.0.0.0] network 10.1.2.0 0.0.0.255

3.3 BGP PE-CE 方案

BGP 是大规模 L3VPN 的首选 PE-CE 协议:

模式 AS号分配 适用场景
eBGP PE 与 CE 使用不同 AS 号 客户自有 AS 号,多 AS 场景
iBGP PE 与 CE 使用相同 AS 号 单 AS 客户,简化配置
公共 AS(Public AS) CE 使用公共 AS 号 客户无自有 AS 号

eBGP 特殊处理: - eBGP 默认不接收同一 AS 的路由,L3VPN 中 PE 与 CE 的 AS 号不同,无需特殊处理 - 当 PE 通过 eBGP 从 CE 接收路由时,路由的 AS_PATH 属性包含 CE 的 AS 号 - 通过 MP-BGP 传递时,AS_PATH 被保留并传递到对端 PE

3.4 路由引入与过滤

方向 配置 作用
CE→PE import-route 将 CE 路由引入 VRF
PE→MP-BGP import-route vpn-instance 将 VRF 路由注入 VPNv4
MP-BGP→PE RT Import 匹配 RT 后导入 VRF
PE→CE 路由协议通告 将 VRF 路由通告给 CE

路由过滤:

# 限制CE发布的路由前缀
[PE] route-policy CE-FILTER permit node 10
[PE-route-policy-CE-FILTER-10] if-match ip-prefix CE-NETWORKS

[PE] ip ip-prefix CE-NETWORKS index 10 permit 10.1.1.0 24
[PE] ip ip-prefix CE-NETWORKS index 20 deny 0.0.0.0 0 less-equal 32

四、实战配置/案例分析

4.1 多协议 PE-CE 混合配置

# ========== PE配置: VRF内多CE多协议 ==========
[PE] vpn-instance VPN-A
[PE-vpn-instance-VPN-A] rd 10.1.1.1:100
[PE-vpn-instance-VPN-A] route-target export 100:100
[PE-vpn-instance-VPN-A] route-target import 100:100

# CE1: 静态路由
[PE] interface GE 1/0/0
[PE-GigabitEthernet1/0/0] ip binding vpn-instance VPN-A
[PE-GigabitEthernet1/0/0] ip address 10.1.1.1 24
[PE] vpn-instance VPN-A
[PE-vpn-instance-VPN-A] ip route-static 10.1.1.0 255.255.255.0 10.1.1.2
[PE] bgp 65001
[PE-bgp-65001-vpnv4] import-route static vpn-instance VPN-A

# CE2: OSPF
[PE] ospfv3 1 vpn-instance VPN-A
[PE-ospfv3-1] router-id 10.1.1.1
[PE-ospfv3-1] area 0.0.0.0
[PE-ospfv3-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE] interface GE 1/0/1
[PE-GigabitEthernet1/0/1] ip binding vpn-instance VPN-A
[PE-GigabitEthernet1/0/1] ip address 10.1.2.1 24
[PE-GigabitEthernet1/0/1] ospfv3 1 area 0.0.0.0
[PE-bgp-65001-vpnv4] import-route ospfv3 1 vpn-instance VPN-A

# CE3: eBGP
[PE] bgp 65001
[PE-bgp-65001] peer 10.1.3.2 as-number 65100
[PE-bgp-65001] peer 10.1.3.2 connect-interface GE 1/0/2
[PE-bgp-65001] import-route direct vpn-instance VPN-A
[PE-bgp-65001] import-route ospfv3 1 vpn-instance VPN-A
[PE] interface GE 1/0/2
[PE-GigabitEthernet1/0/2] ip binding vpn-instance VPN-A
[PE-GigabitEthernet1/0/2] ip address 10.1.3.1 24

4.2 故障排查:PE-CE 路由未学习

故障场景:PE 的 VRF 路由表中看不到 CE 的路由。

# Step 1: 检查 PE-CE 路由协议状态
<PE> display ospfv3 1 vpn-instance VPN-A peer
  # OSPF邻居状态: Full (正常)

<PE> display bgp peer 10.1.3.2
  # BGP邻居状态: Established (正常)

# Step 2: 检查 VRF 路由表
<PE> display ip routing-table vpn-instance VPN-A
  # 缺少CE3的BGP路由

# Step 3: 检查 BGP 路由
<PE> display bgp routing-table peer 10.1.3.2
  # BGP有从CE3学习的路由, 但未进入VRF

# Step 4: 根因分析
# CE3通过eBGP发布的路由在PE的BGP表中, 但未注入VRF
# 需要确认import-route配置

# Step 5: 解决方案
[PE-bgp-65001] import-route bgp vpn-instance VPN-A
  # 将BGP路由注入VRF

# Step 6: 验证
<PE> display ip routing-table vpn-instance VPN-A
  # VRF中已出现CE3的路由, Protocol=BGP

4.3 CE 侧 OSPF 配置

# CE2 侧 OSPF 配置
[CE2] ospfv3 1
[CE2-ospfv3-1] router-id 10.1.2.2
[CE2-ospfv3-1] area 0.0.0.0
[CE2-ospfv3-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[CE2-ospfv3-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[CE2] interface GE 0/0/0
[CE2-GigabitEthernet0/0/0] ip address 10.1.2.2 24
[CE2-GigabitEthernet0/0/0] ospfv3 1 area 0.0.0.0

四(续)、高级主题

4.4 PE-CE 路由协议选型决策矩阵

网络规模 CE数量 路由条数 推荐协议 理由
微型 1-2 <10 静态路由 配置简单,无需协议开销
小型 3-10 10-100 OSPFv3 收敛快,PE支持多实例
中型 10-50 100-1000 OSPFv3 / eBGP 灵活扩展,策略控制
大型 50-200 1000-10000 eBGP 大规模扩展,策略丰富
超大型 200+ 10000+ eBGP + RR 层次化设计,收敛可控

4.5 PE-CE 路由过滤最佳实践

# ========== PE侧: 严格限制CE发布的路由 ==========

# 1. 定义IP前缀列表
[PE] ip ip-prefix CE-A-NETWORKS index 10 permit 10.1.1.0 24
[PE] ip ip-prefix CE-A-NETWORKS index 20 permit 192.168.1.0 24
[PE] ip ip-prefix CE-A-NETWORKS index 30 deny 0.0.0.0 0 less-equal 32

# 2. 定义Route-Policy
[PE] route-policy CE-A-IMPORT permit node 10
[PE-route-policy-CE-A-IMPORT-10] if-match ip-prefix CE-A-NETWORKS

[PE] route-policy CE-A-IMPORT deny node 9999
[PE-route-policy-CE-A-IMPORT-9999] # 拒绝所有不匹配的路由

# 3. 应用到OSPF
[PE] ospfv3 1 vpn-instance VPN-A
[PE-ospfv3-1] import-route isis 1 route-policy CE-A-IMPORT

# 4. 应用到BGP(eBGP场景)
[PE-bgp-65001] peer 10.1.3.2 route-policy CE-A-IMPORT import

# 5. 限制默认路由注入(防止CE发布默认路由到PE)
[PE-ospfv3-1] default-route-advertise route-policy NO-DEFAULT
[PE] route-policy NO-DEFAULT deny node 10
[PE-route-policy-NO-DEFAULT-10] if-match ip-prefix DEFAULT-ONLY
[PE] ip ip-prefix DEFAULT-ONLY index 10 permit 0.0.0.0 0 greater-equal 0 less-equal 0

4.6 PE-CE 路由协议对比深度分析

维度 静态 OSPFv3 IS-IS eBGP iBGP
收敛速度 人工干预 1-3s 1-3s 3-30s 3-30s
扩展性 差 中 好 优 中
策略控制 无 中 中 优 中
配置复杂度 低 中 高 高 中
CPU 占用 极低 中 中 中 中
资源占用 极低 中 中 中 中
故障排查 简单 中等 复杂 复杂 中等
AS号需求 无 无 无 需要 共享

4.7 PE-CE 路由冲突处理

当 PE 通过多个 CE 学习到相同路由时的处理机制:

场景 冲突路由来源 处理方式
同一协议多实例 OSPF 进程1 vs 进程2 按协议优先级和Metric选择
不同协议 静态 vs OSPF vs BGP 按协议优先级(Preference)
BGP 多路径 同一前缀多个Next-Hop BGP选路规则(LocPrf/AS_PATH等)

协议优先级(Preference):

协议 优先级值(华为) 值越小越优先
Direct 0 ✅
OSPF(Internal) 10
IS-IS 15
Static 60
BGP 255 ❌ 最后

五、总结

项目 要点
静态路由 简单场景首选,PE需手工配置每段CE路由
OSPF 中小规模场景,VRF内支持多实例隔离
BGP 大规模场景首选,策略控制灵活,扩展性最佳
混合协议 同一VRF可运行多协议,通过import-route统一注入MP-BGP
路由过滤 严格控制CE发布的路由范围,防止路由泄露

思考

  1. PE-CE 使用 eBGP 时,如果 PE 和 CE 的 AS 号相同会发生什么?如何避免 AS 环路检测问题?
  2. 在 VRF 内同时运行 OSPF 和 BGP 时,如果两条路由指向同一目的网络,PE 如何选择最优路由?
  3. PE-CE 使用 OSPF 时,CE 是否可以配置默认路由(LSA Type 5)注入 PE?这样做有什么风险?

下篇预告:第166篇:L3VPN 数据转发过程详解