使用 EVPN-VXLAN 实施的 BGP 确定性路径转发 (DPF)
使用 EVPN-VXLAN 的 BGP 确定性路径转发 (DPF) 支持使用基于颜色的路由将物理网络分段为多个逻辑交换矩阵。这样可以实现精确的流量控制和隔离,同时集成自动故障切换机制以实现弹性。
概述
您可以通过向 BGP 会话分配交换矩阵颜色,使用 BGP 确定性路径转发 (DPF),将物理网络分段为多个逻辑交换矩阵。本文档提供使用 BGP DPF 和 EVPN-VXLAN 的 IP 交换矩阵的主干和叶设备配置示例。它包括设备配置和验证步骤,以及常规 BGP DPF 配置指南。
BGP-DPF 实施基于颜色的路由,使您能够跨不同颜色路径通告路由。通过在全局、组或邻居级别配置交换矩阵颜色,您可以控制通过特定路径播发哪些路由。将 DPF 与 EVPN-VXLAN 集成,可将彩色路由用作底层,从而更精确地控制流量。这可以在 MAC-VRF 级别实现流量隔离,确保虚拟化环境能够从隔离且高效的流量中受益。这种对路径选择的控制可确保网络能够满足延迟敏感性和冗余等多种需求。除了为主路径分配颜色外,您还可以为弹性设置备份路径,以确保在主路径不可用时无缝故障切换。
protocols bgp fabric-advertise route destination您可以使用该语句播发彩色 IPv4 和 IPv6 路由。此配置会根据颜色配置自动通告这些路由,无需导出策略。如果路由配置了该color选项,则通过相同颜色的 EBGP 邻接方播发路由,并将颜色社区添加到路由中。未配置颜色的路由将播发至所有 EBGP 对等方。
使用该 backup-color 选项配置备用颜色将通过备用颜色的 EBGP 邻接方播发路由。它还会将备用颜色社区添加到通过备用交换矩阵播发的路由中。配置该 backup-color 选项后,累积 IGP (AIGP) 指标 0 会添加到通过原色交换矩阵播发的路由中,以确保上游路由器优先使用原色交换矩阵。
您可以使用语 routing-instances name vtep-source-interface inet colored-tunnel-address destination 句为 EVPN MAC-VRF 配置彩色隧道端点。这会将 EVPN 路由 colored-tunnel-address 设置为协议下一跃点 (PNH)。然后,BGP 会使用指定的 PNH 播发这些 EVPN 路由。当入口 PE 收到 EVPN 路由时,它会使用 PNH 通过所需彩色隧道端点解析路由。因此,必须为不同颜色交换矩阵的 MAC-VRF 配置不同颜色的隧道地址。它们不能共享同一个虚拟隧道端点 (VTEP) 地址。
您可以配置租户 MAC-VRF 或 EVPN 5 类 (RT-5) 实例,而无需任何彩色交换矩阵配置。在这些实例中,路由没有颜色配置,而是播发给所有 EBGP 对等方。这些实例可以使用所有主干设备和 动态负载平衡 (DLB) 来优化网络性能。
DPF 配置准则和注意事项
配置 DPF 时,请记住以下准则和注意事项:
-
您可以使用 BGP 扩展社区为 BGP 邻接方配置颜色。这些配置必须在整个物理交换矩阵中保持一致。例如,如果 BGP 扩展社区
color:0:1在一台路由器上表示“蓝色”,则必须在同一物理交换矩阵中的所有其他路由器上表示“蓝色”。 -
在同一路由器上配置
fabric-advertise语句和导出策略时,导出策略不应修改语句指定的颜色社区fabric-advertise。此外,导出策略不应发起路由的fabric-advertiseAIGP 指标,因为在配置原色和备用色时,基于颜色的路由使用 AIGP 指标来指示原色。 -
BGP 通过未着色的 BGP 邻接方播发所有有色路由。当您想要将某些路由限制为特定颜色时,请勿混合未着色的织物和有色织物。
-
BGP 跨所有彩色交换矩阵播发未着色路由。如果只允许在特定彩色交换矩阵上匹配彩色路由,则应避免使用未着色的路由,但仅承载轻型控制流量的路由除外。
-
彩色 BGP 接收器将接受未着色的路由和与其颜色匹配的路由,但具有不同颜色的路由将标记为隐藏。
-
使用 DPF 部署 EVPN VXLAN 时,叶设备之间的叠加多跃点 EBGP 对等方保持不着色。仅
family evpn signaling使用 配置这些 BGP 对等方。请勿在这些对等方上启用或family inet6启用family inet,因为该配置允许在未着色的多跃点 EBGP 会话上播发彩色路由。除了 EVPN VXLAN 叠加 BGP 会话外,请勿使用彩色交换矩阵配置任何其他无色多跃点 EBGP 或 IBGP 对等方。否则,您将面临在这些未着色的多跃点 EBGP 或 IBGP 对等方上播发有色路由的风险。 -
当 DPF 与 EVPN-VXLAN 搭配使用时BGP不支持出口链路保护 (ELP) 和辅助复制功能。
以下部分介绍如何为 DPF 彩色交换矩阵配置主干和叶设备。此示例中的配置侧重于配置 BGP DPF。此处提供的配置示例并未提供实施 IP 交换矩阵底层网络所需的所有配置。这些配置实施基于颜色的 BGP 社区和交换矩阵颜色分配,以支持基于颜色的流量工程和服务级别路径选择。这样,不同流量类型就可以根据颜色分配通过指定的网络路径进行路由。
有关如何配置 IP 交换矩阵底层的信息,请参阅 IP 交换矩阵底层网络设计和实施。
拓扑要求
此示例使用以下硬件和软件组件:
-
充当超级主干和路由反射器的 QFX5120。
-
两台 QFX5120、三台 QFX5130 和一台用作主干设备的QFX5700。
-
三个 QFX5120 和一个用作叶设备的 QFX5130。
-
所有设备都运行 Junos OS 25.4R1。
-
请参阅 CLOS 网络中确定性路径转发 (DPF) 的 BGP 支持 ,了解支持此功能的产品的完整列表。
拓扑结构
在此示例中,我们将一个路由反射器连接到六个主干设备,每个设备均配置了三种不同交换矩阵颜色之一。用户可以选择使用不同颜色的主干在叶设备之间均衡流量负载。叶设备作为多宿主对等方连接到多个服务器设备。
此示例描述了三个有色的交换矩阵(蓝色、红色和绿色),以及一个连接到服务器 S4 和 S8 的无色交换矩阵。以下配置示例不包括无色交换矩阵的配置。由于未着色的路由会播发至所有 EBGP 对等方,因此服务器 S4 和 S8 上的实例可以使用所有主干和 DLB 负载平衡。
拓扑概述:
-
超级主干连接到六个彩色主干设备。
-
每个主干配置了一种颜色(蓝/红/绿),用于将物理交换矩阵划分为多个逻辑交换矩阵。
-
主干 1、主干 2 和主干 3 通过彩色 BGP 底层连接到叶 1 和叶 2。
-
主干 4、主干 5 和主干 6 通过彩色 BGP 底层连接到叶 3 和叶 4。
-
叶 1 和叶 2 是连接到服务器 S1 到 S4 的多宿主对等方。
-
枝叶 3 和枝叶 4 是连接到服务器 S5 到 S8 的多宿主对等方。
除了 图 1 所示的配置外,每个叶设备都有多个配置为与 VTEP 接口配合使用的环路接口。
| 叶设备 | 环路地址 | 目的 |
|---|---|---|
| 枝叶 1 | 192.168.0.1 | 主要内容 |
| 192.168.4.1 | ep-type-2 MAC-VRF | |
| 192.168.10.1 | ep 5 类 L3 VRF | |
| 枝叶 2 | 192.168.0.2 | 主要内容 |
| 192.168.4.2 | ep-type-2 MAC-VRF | |
| 192.168.10.2 | ep 5 类 L3 VRF | |
| 枝叶 3 | 192.168.0.5 | 主要内容 |
| 192.168.4.5 | ep-type-2 MAC-VRF | |
| 192.168.10.5 | ep 5 类 L3 VRF | |
| 枝叶 4 | 192.168.0.6 | 主要内容 |
| 192.168.4.6 | ep-type-2 MAC-VRF | |
| 192.168.10.6 | ep 5 类 L3 VRF |
主干配置和验证
本节提供有关如何通过 EVPN-VXLAN 配置和验证 DPF 的主干设备以启用基于颜色的路由。
主干配置
配置主干设备以实施基于颜色的 BGP 社区和交换矩阵颜色分配。
配置 BGP 扩展社区 using set policy-options community color-name members color:0:<tag> 语句。然后在全局、组或邻居级别分配 以 fabric-color 实施交换矩阵。
在示例中,我们分别为主干 1、主干 2 和主干 3 定义颜色“蓝色”、“红色”和“绿色”,然后在 BGP 邻居级别分配交换矩阵颜色。其余主干设备的配置类似。
主干 1
set policy-options community Blue members color:0:1 set protocols bgp group underlay-bgp neighbor 172.16.7.0 fabric-color Blue set protocols bgp group underlay-bgp neighbor 172.16.1.0 fabric-color Blue set protocols bgp group underlay-bgp neighbor 172.16.4.0 fabric-color Blue
主干 2
set policy-options community Red members color:0:2 set protocols bgp group underlay-bgp neighbor 172.16.8.0 fabric-color Red set protocols bgp group underlay-bgp neighbor 172.16.2.0 fabric-color Red set protocols bgp group underlay-bgp neighbor 172.16.5.0 fabric-color Red
主干 3
set policy-options community Green members color:0:3 set protocols bgp group underlay-bgp neighbor 172.16.9.0 fabric-color Green set protocols bgp group underlay-bgp neighbor 172.16.3.0 fabric-color Green set protocols bgp group underlay-bgp neighbor 172.16.6.0 fabric-color Green
主干验证
将命令与show bgp summary仅显示与指定的 fabric-color BGP 邻接方相关的信息选项一起使用fabric-color color-name。
此示例显示了主干 1 的输出。其余主干设备的输出类似。
user@spine1> show bgp summary fabric-color Blue
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 2 Peers: 6 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
bgp.evpn.0
33594 31674 0 0 0 0
inet.0
36 36 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
172.16.1.0 4200000011 741 748 0 0 5:37:03 Establ
inet.0: 8/8/8/0
172.16.4.0 4200000012 741 748 0 0 5:37:10 Establ
inet.0: 8/8/8/0
172.16.7.0 4200000021 742 746 0 0 5:38:19 Establ
inet.0: 20/20/20/0
分叶配置和验证
本节提供有关使用 EVPN-VXLAN 配置和验证 DPF 的叶设备的指南,以在彩色路径之间启用基于颜色的路由和自动故障切换。为简洁起见,本例中仅包含枝叶 1 配置。枝叶 2、枝叶 3 和枝叶 4 上的配置类似。
叶配置
这些示例包括配置以下内容:
-
颜色社区定义
-
彩色隧道端点的环路地址
-
BGP 邻接方的交换矩阵颜色
-
带有主路径和备用路径的彩色隧道端点通告
-
用于第 2 层和第 3 层 EVPN 服务的特定于服务的 VRF 实例
使用语句配置 set policy-options community color-name members color:0:<tag> BGP 扩展社区。
我们定义了“蓝色”、“红色”和“绿色”,因为叶子 1 可以连接到所有三种颜色的交换矩阵。
set policy-options community Blue members color:0:1 set policy-options community Red members color:0:2 set policy-options community Green members color:0:3
配置环路接口 IP 地址。此示例中的每个 VRF 为其各自的彩色隧道端点使用不同的 IP 地址。
set interfaces lo0 unit 0 family inet address 192.168.0.1/32 primary set interfaces lo0 unit 0 family inet address 192.168.0.1/32 preferred set interfaces lo0 unit 0 family inet address 192.168.4.1/32 set interfaces lo0 unit 0 family inet address 192.168.10.1/32
在邻接方级别配置 fabric-color 该语句,以便将交换矩阵颜色分配给相同颜色的邻接方。此示例在底层交换矩阵中创建三种不同的颜色路径:蓝色、红色和绿色。
set protocols bgp group underlay-bgp neighbor 172.16.1.1 fabric-color Blue set protocols bgp group underlay-bgp neighbor 172.16.2.1 fabric-color Red set protocols bgp group underlay-bgp neighbor 172.16.3.1 fabric-color Green
使用带有主色和备用颜色分配的语句来 fabric-advertise 配置交换矩阵路由通告。如果主路径变得不可用,配置 a backup-color 将启用自动故障切换。配置 a backup-color 还会触发向通过原色交换矩阵播发的路由添加 AIGP 指标 0。
set protocols bgp fabric-advertise route 192.168.4.1/32 color Red set protocols bgp fabric-advertise route 192.168.4.1/32 backup-color Blue set protocols bgp fabric-advertise route 192.168.10.1/32 color Red set protocols bgp fabric-advertise route 192.168.10.1/32 backup-color Green
为具有集成路由和桥接功能的 EVPN 2 类服务配置第 3 层 VRF 实例。此示例可为第 2 类 EVPN 服务创建 VRF 实例,并将 IRB 接口 478-481 关联为第 3 层网关功能。它还包括一个用于 VRF 特定寻址的环路逻辑接口 lo0.301,并将路由识别符 192.168.0.1:301 设置为路由唯一性。
set routing-instances VRF-ep-type2 instance-type vrf set routing-instances VRF-ep-type2 interface irb.478 set routing-instances VRF-ep-type2 interface irb.479 set routing-instances VRF-ep-type2 interface irb.480 set routing-instances VRF-ep-type2 interface irb.481 set routing-instances VRF-ep-type2 interface lo0.301 set routing-instances VRF-ep-type2 route-distinguisher 192.168.0.1:301 set routing-instances VRF-ep-type2 vrf-target target:100:301 set routing-instances VRF-ep-type2 vrf-table-label
为 EVPN Type-5 ip-prefix-routes配置第 3 层 VRF 实例。此示例包含用于 colored-tunnel-address 将 VRF 与彩色隧道端点 192.168.10.1 相关联的语句。
set routing-instances VRF-ep-type5 instance-type vrf set routing-instances VRF-ep-type5 routing-options rib VRF-ep-type5.inet6.0 multipath set routing-instances VRF-ep-type5 routing-options multipath set routing-instances VRF-ep-type5 protocols evpn ip-prefix-routes advertise direct-nexthop set routing-instances VRF-ep-type5 protocols evpn ip-prefix-routes encapsulation vxlan set routing-instances VRF-ep-type5 protocols evpn ip-prefix-routes vni 302060 set routing-instances VRF-ep-type5 protocols evpn ip-prefix-routes export ExportHostRoutes set routing-instances VRF-ep-type5 protocols evpn colored-tunnel-address inet 192.168.10.1 set routing-instances VRF-ep-type5 vtep-source-interface lo0.0 set routing-instances VRF-ep-type5 interface lo0.2060 set routing-instances VRF-ep-type5 interface irb.2237 set routing-instances VRF-ep-type5 interface irb.2238 set routing-instances VRF-ep-type5 interface irb.2239 set routing-instances VRF-ep-type5 interface irb.2240 set routing-instances VRF-ep-type5 route-distinguisher 192.168.0.1:2060 set routing-instances VRF-ep-type5 vrf-target import target:300:2060 set routing-instances VRF-ep-type5 vrf-target export target:200:2060
通过在配置中添加 colored-tunnel-address 语句,将 MAC-VRF 路由实例与彩色隧道端点相关联。在此示例中,将此语句添加到现有 MAC VRF 会将其与彩色隧道端点 192.168.4.1 相关联,从而使第 2 层 EVPN 服务能够利用带有蓝色备份的红色路径。
set routing-instances MACVRF-ep-type2 vtep-source-interface inet colored-tunnel-address 192.168.4.1
分叶验证
您可以使用各种 show 命令验证配置。
使用此 show bgp summary fabric-color color-name 命令仅显示具有指定结构颜色的邻居。此示例显示邻接方 172.16.1.1 已通过蓝色建立 fabric-color 会话。
user@leaf1> show bgp summary fabric-color Blue
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 5 Peers: 10 Down peers: 4
Table Tot Paths Act Paths Suppressed History Damp State Pending
bgp.evpn.0
57610 25196 0 0 0 0
inet.0
84 54 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
172.16.1.1 4200000001 749 739 0 0 5:36:42 Establ
inet.0: 14/29/29/0
该 show bgp neighbor fabric-color color-name 命令仅显示具有指定交换矩阵颜色的 BGP 邻接方。在此示例中,您可以看到“交换矩阵颜色”字段显示 BGP 颜色社区名称“蓝色”和分配给 BGP 颜色社区的值。
user@leaf1> show bgp neighbor fabric-color Blue Peer: 172.16.1.1+179 AS 4200000001 Local: 172.16.1.0+54513 AS 4200000011 Group: underlay-bgp Routing-Instance: master Forwarding routing-instance: master Type: External State: Established Flags: <Sync> … Fabric-color: Blue [color:0:1 ]
该 show bgp fabric-advertise 命令显示播发的路由以及分配给它们的主要颜色和备用颜色。
user@leaf1> show bgp fabric-advertise Route Color Backup color 192.168.0.1/32 - - 192.168.4.1/32 Red, color:0:2 Blue, color:0:1 192.168.10.1/32 Red, color:0:2 Green, color:0:3