Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

第 3 层 VPN 中的出口保护

本主题介绍了第 3 层 VPN 中出口保护中的概念和组件。其中介绍并提供了有关如何配置受保护、保护器和本地维修点 (PLR) 路由器的示例。

BGP 标记单播的出口保护

网络节点或链路故障发生时,使用传统路由表融合恢复服务需要一些时间。通过尽可能接近故障建立本地保护,本地维修程序可以提供更快的修复速度。对于 BGP 标记的单播可互连 IGP 区域、级别或自治系统 (AS) 的服务,可以快速保护出口节点。如果提供商路由器检测到出口路由器(AS 或区域边界路由器)已关闭,则会立即将发送至该路由器的信息流转发至将流量下游转发至目标的保护器路由器。

要为 BGP 标记的单播提供出口保护,保护器节点必须在故障发生之前为下游目标创建备份状态。该解决方案的基本理念是,保护器节点构建与受保护节点关联的转发状态,并将受保护节点分配的 MPLS 标签进一步下游中继到最终目标。

此功能支持应用程序 AS 间选项 C 和无缝 MPLS。

AS 间选项 C — BGP 标记单播通过将 AS 内部 LSP 拼接在一起提供端到端传输标签交换系列 (LSP)。AS 边界路由器将 EBGP 运行到其他 AS 边界路由器,以交换 /32 PE 回传路由的标签。IBGP 在每个 AS 内的提供商边缘路由器和 AS 边界路由器之间运行。在 图 1 中,流量从 CE1 流到 CE2。ASBR1 是受保护的 AS 边界路由器,ASBR2 是保护器,而设备 P1 是本地维修点 (PLR)。主路径从 PE1 选择到 PE2,而不是 ASBR1 和 ASBR3。当 ASBR1 发生故障时,路由器 P1 检测到 ASBR1 故障,并将流量转发至 ASBR2,ASBR2 提供备用服务并转发下游流量。

图 1:AS 间选项 C Inter-AS Option C

无缝 MPLS — BGP 标记单播通过拼接区域内/级别 LSP 提供端到端传输 LSP。区域边界路由器 (ABR) 将 BGP 标记的单播运行到其他 ABR,以交换 /32 PE 回传路由的标签。在 图 2 中,流量从设备 CE1 流向设备 CE2。ABR1 是受保护的 ABR,ABR2 是保护器,而 T1 是 PLR。主路径从 PE1 选择到 PE2,而不是 ABR1 和 ABR3。当 ABR1 发生故障时,路由器 T1 检测到 ABR1 故障,并将流量转发到 ABR2,ABR2 提供备用服务并转发下游流量。

图 2:无缝 MPLS Seamless MPLS

在这些应用程序中,受保护节点通告需要保护的主 BGP 标记单播路由。启用快速保护后,BGP 会将标签路由通告,并以特殊地址作为下一跳跃。此特殊地址是通过 CLI 配置的上下文标识符。受保护的节点还会为上下文标识符通告 IGP 中的上下文标识符和 LDP 中的 NULL 标签。

备份节点为受保护路由通告标记为单播路由的备份 BGP 路由。保护器节点使用备份节点通告的标签将信息流转发至备份节点。

保护器节点通过交叉连接由受保护节点发起的标签以及由备份节点发起的标签来提供备份服务。如果受保护节点出现故障,保护器节点会将信息流转发至备份节点。保护器节点以高指标将相同的上下文标识符通告到 IGP 中。此外,还会为上下文标识符播发 LDP 中的真实标签。保护器节点侦听受保护节点和备份节点通告的 BGP 标记单播路由,并弹出上下文标签表和备份 FIB。当具有实际上下文 LDP 标签的信息流到达时,查找将在受保护节点的上下文中完成。保护器节点通常充当备份节点。

PLR 检测受保护节点故障,并将 MPLS 流量转发至保护器节点。高 IGP 指标以及保护器节点通告的 LDP 标签可确保 PLR 使用保护器节点作为 LDP 备份 LSP。

支持的保护类型有两种:主机代配保护器和集中式保护器。在协作类型中,保护器节点也是备份节点。在集中式类型中,备份节点与保护器节点不同。

为 BGP 标记单播配置出口保护

对于 BGP 标记的单播可互连 IGP 区域、级别或 AS 的服务,可以快速保护出口节点。如果提供商路由器检测到出口路由器(AS 或区域边界路由器)已关闭,则会立即将发送至该路由器的信息流转发至将流量下游转发至目标的保护器路由器。

为 BGP 标记的单播配置出口保护之前,请确保 AS 或区域中的所有路由器都运行 Junos OS 14.1 或更高版本。

要为 BGP 标记的单播配置出口保护:

  1. 将以下配置添加到 受保护 的路由器:
  2. 将以下配置添加到 保护器 路由器:
  3. 将以下配置添加到 PLR (本地维修点)路由器:
  4. 在受保护的路由器上运行 show bgp neighbor 以验证出口保护是否已启用,例如:

示例:为 BGP 标记单播配置出口保护

此示例说明如何配置可在 AS 间选项 C 拓扑中的 PE 故障时可使用的 BGP 标记单播保护。

要求

此示例使用以下硬件和软件组件:

  • M 系列多服务边缘路由器、MX 系列 5G 通用路由平台或 T 系列核心路由器

  • Junos OS 版本 14.1 或更高版本

概述

网络节点或链路故障发生时,使用传统路由表融合恢复服务需要一些时间。通过尽可能接近故障建立本地保护,本地维修程序可以提供更快的修复速度。对于 BGP 标记的单播可互连 IGP 区域、级别或自治系统 (AS) 的服务,可以快速保护出口节点。如果提供商路由器检测到出口路由器(AS 或区域边界路由器)已关闭,则会立即将发送至该路由器的信息流转发至将流量下游转发至目标的保护器路由器。

此示例说明如何在第 3 层 VPN 中配置标记为单播的出口保护。

拓扑

在此示例中,通过在四个自治系统中配置两个客户边缘 (CE) 设备和六个服务提供商边缘 (PE) 设备来设置 AS 间选项 C 拓扑。CE 设备在 AS100 和 AS101 中配置。PE 设备在 AS200 和 AS300 中配置。

图 3 显示了此示例中使用的拓扑。

图 3:第 3 层 VPN Egress Protection in a Layer 3 VPN 中的出口保护

此示例的目的是保护 PE 路由器 R4。在路由器 R4 和路由器 R9 上配置了出口保护,以便在路由器 R4(或从 R5 到 R4 的链路)中断时,可以通过备份链路(R9 到 R8)路由流量。在此示例中,路由器 R4 是受保护的路由器,路由器 R9 是保护器路由器,而路由器 R5 是本地维修点 (PLR)。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。

路由器 R0

路由器 R1

路由器 R2

路由器 R3

路由器 R4

路由器 R5

路由器 R6

路由器 R7

路由器 R8

路由器 R9

在第 3 层 VPN 中配置出口保护

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置标记为单播出口保护:

  1. 配置每个路由器上的接口,例如:

  2. 为每个路由器配置路由器 ID 和自治系统 (AS) 编号,例如:

    在此示例中,路由器 ID 选择与路由器上配置的环路地址相同。

  3. 在每个路由器上配置协议,例如:

  4. 在所有 PE 路由器和 AS 边界路由器(路由器 R1、R3、R4、R6、R8 和 R9)上配置路由策略,例如:

  5. 在路由器 R1 和 R6 上配置 VPN 路由实例。

  6. 为路由器 R4 配置出口保护,将路由器 R4 设置为受保护的路由器,并将路由器 R9 设置为保护器。

结果

在配置模式下,输入 show interfacesshow routing-options、 、 show policy-options show protocols(如果适用)和show routing-instances(如果适用)命令来确认您的配置。

如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

如果完成对路由器的配置,请从配置模式进入 commit

使用每个路由器的相应接口名称和地址,对本示例中的每台路由器重复该过程。

验证

验证出口保护是否已启用

目的

验证受保护路由器 R4 上是否启用了出口保护。

行动

在路由器 R4 上运行 show bgp neighbor 以验证是否启用了出口保护。

将受保护 ASBR 的状态验证为“主要”

目的

验证受保护的 AS 边界路由器(路由器 R4)的状态是否为“主设备”。

行动

在路由器 R4 上运行 show mpls context-identifier

确认保护器 ASBR 的状态为“保护器”

目的

验证保护器 AS 边界路由器路由器 R9 的状态是否为“保护器”。

行动

在路由器 R9 上运行 show mpls context-identifier

第 3 层 VPN 边缘保护出口保护概述

通常,多宿主客户边缘 (CE) 路由器的第 3 层 VPN 服务恢复取决于入口提供商边缘 (PE) 路由器,以检测出口 PE 链路或节点故障,并将流量切换到备份 PE 路由器。为了实现更快的恢复,在出口 PE 节点出现故障时,可使用 PE 路由器的保护器机制立即执行服务的本地恢复。此机制要求本地维修点 (PLR) 的路由器将 VPN 流量重定向至保护器 PE 路由器,以便快速重新路由流量。

以下拓扑介绍了出口保护的概念。

图 4:出口保护 Sample Topology for Egress Protection示例拓扑

在此拓扑中:

路由器 PE3 充当 PE2 第 3 层 VPN 路由实例或子网的保护器。

CE 路由器是 VPN 的一部分,其中路由器 CE1 与路由器 PE1 和路由器 PE2 多宿主。同样,路由器 CE2 与路由器 PE2 和 PE3 进行了多宿主。

路由器 PE1 可以是路由器 CE1 上下文标识符的发起人,而路由器 PE2 是该上下文标识符的保护器。同样,PE2 可以是路由器 CE2 上下文标识符的发起人,而路由器 PE3 是该上下文标识符的保护器。

路由器 PE4 采用的工作路径可能通过 PLR>PE2(用于路由器 CE1 和路由器 CE2)。路由器 CE1 的备份路径通过 PLR>PE1。路由器 CE2 的备份路径通过 PLR>PE3。正常情况下,信息流通过工作路径。

当路由器 PE4 检测到 PE2 节点或链路故障时,流量将从工作路径重新路由到受保护路径。在正常的故障转移过程中,故障检测和恢复依赖于控制平面,因此速度相对较慢。

通常,如果核心网络存在链路或节点故障,出口 PE 路由器必须依靠入口 PE 路由器来检测故障并切换到备份路径,因为无法为出口故障提供本地维修选项。

要为出口 PE 链路或节点故障提供本地维修解决方案,可使用一种称为出口保护的机制来修复并快速恢复连接。如果配置了出口保护,PLR 路由器将检测 PE2 链路或节点故障,并使用备份 LDP 信号标签交换系列 (LSP) 通过保护器路由器 PE3 重新路由流量。PLR 路由器使用每前缀无环路替代路由通过路由器 PE3 对备份下一跳跃进行编程,并且流量使用备用路径转发至路由器 CE1 和 CE2。此恢复在 PLR 路由器检测到路由器 PE2 出口节点或链路故障后快速完成。

双保护机制也可用于出口保护,其中两个 PE 路由器可同时充当其各自上下文 ID 路由或下一跳跃的主 PE 路由器和保护器 PE 路由器。

路由器功能

图 4 中,以下路由器执行以下功能:

受保护 PE 路由器

受保护的 PE 2 执行以下功能:

  • 更新第 3 层 VPN 前缀 BGP 下一跳跃的上下文标识符。

  • 将上下文标识符通告至 IS-IS 域。

保护器 PE 路由器

保护器 PE 路由器 PE3 执行以下功能:

  • 使用高指标将上下文标识符通告 IS-IS 域。高 IGP 指标(可配置)和 LDP 标签可确保 PLR 路由器在出口 PE 路由器故障时使用 LDP 信号备份 LSP。

  • 为受保护 PE 路由器 (PE2) 构建路由查找上下文标签表和备份转发表。

    注意:

    保护器 PE 路由器不应位于转发到主 PE 路由器的路径中。

PLR 路由器

作为本地维修点 (PLR) 的路由器执行以下功能:

  • 计算每前缀无环路替代路由。要使此计算发挥作用,语句和backup-spf-options per-prefix-calculation语句的node-link-protection配置在层次结构级别是必需的[edit protocols isis]

  • 通过 PE3 路由器(保护器 PE)安装上下文标识符的备份下一跳跃。

  • 检测 PE 路由器故障,并将传输 LSP 流量重定向至保护器。

注意:

PLR 路由器必须直接连接到保护器路由器(在此情况下,PE3)。如果没有,无环路替代路由将无法找到保护器的备份路径。此限制在 Junos OS 版本 13.3 和更高版本中删除。

保护器和保护模型

保护器是恢复出口 PE 节点故障的新角色或功能。对于需要出口节点保护的 VPN 前缀,可由备份出口 PE 路由器或参与 VPN 控制平面的其他任何节点扮演此角色。保护器的位置和作用有两个保护模型:

  • 主机托管保护器 — 在此型号中,保护器 PE 路由器和备份 PE 路由器配置在同一路由器上完成。保护器与受保护前缀的备份 PE 路由器共同定位,并且与发起受保护前缀的多宿主站点有直接连接。如果出口 PE 出现故障,保护器将从 PLR 路由器接收信息流,并将流量路由到多宿主站点。

  • 集中式保护器 — 在此型号中,保护器 PE 路由器和备份 PE 路由器不同。集中式保护器可能无法直接连接到多宿主站点。如果出口 PE 链路或节点故障,集中式保护器会使用为备份出口 PE 路由器通告的 VPN 标签将流量重新路由到备份出口 PE 路由器,该标签将接管向多宿主站点发送流量的角色。

网络可以使用两种保护模型或两者的组合,具体取决于需求。

作为出口节点保护的特殊场景,如果路由器既是保护程序,又是 PLR,则会安装备份下一跳跃以保护传输 LSP。特别是,它不需要绕过 LSP 进行本地维修。

在主机托管保护器模型中,PLR 或保护器通过备份 AC 直接连接到 CE,而在集中式保护器模型中,PLR 或保护器具有连接到备份 PE 的 MPLS 隧道。无论哪种情况,PLR 或保护器都将安装下一跃点备份,并带有标签,然后在表格中 context label 查找,即 。 __context__.mpls.0当出口节点发生故障时,PLR 或保护器会在 PFE 中将流量切换到此备份下一跃点。数据包的外部标签(传输 LSP 标签)弹出,内部标签(由出口节点分配的第 3 层 VPN 标签)被查找 __context__.mpls.0,从而将数据包直接转发至 CE(在托管保护器模型中)或备份 PE(集中式保护器模型中)。

有关出口 PE 故障保护的详细信息,请参阅互联网草案 draft-minto-2547-出口节点快速保护-00、 2547 出口 PE 快速故障保护。

IGP 广告模型

出口保护可用性在内部网关协议 (IGP) 中通告。标签协议和受限最短路径优先 (CSPF) 使用此信息进行出口保护。

对于第 3 层 VPN,IGP 通告可以为以下类型:

  • 上下文标识符作为存根链路(Junos OS 11.4 R3 和更高版本中支持)。将存根节点连接到中转节点的链路是存根链路。

  • 上下文标识符为存根别名节点(Junos OS 13.3 和更高版本中支持)。

  • 上下文标识符为存根代理节点(Junos OS 13.3 和更高版本中支持)。

默认情况下,会使用存根链路。要启用增强的本地修复点 (PLR) 功能(其中 PLR 在出口故障时重新路由服务流量),请配置存根别名节点或存根代理节点,如下所示:

这两种方法可以根据网络部署的需求提供不同的优势。

作为 Stub Alias 节点的上下文标识符

在剩余别名方法中,LSP 端点地址具有显式备份出口节点,可在受保护 LSP 的倒数第二跳节点上学习或配置备份。借助此模型,受保护 LSP 倒数第二个跳跃节点设置绕过 LSP 隧道,通过避免主出口节点来备份出口节点。此模型需要在核心节点中升级 Junos OS,但足够灵活才能支持所有流量工程约束。

PLR 会了解到上下文 ID 具有保护器。当主上下文 ID 关闭时,数据包将通过预先编程的备份路径重新路由至保护器。上下文 ID 和保护器映射在 PLR 上配置或学习,并在 IGP 中从保护器发出信号。PLR 上称为 inet.5 的路由表提供已配置或 IGP 学习的详细信息。

IS-IS 通过 IP 地址 TLV 将上下文 ID 通告到 TED 中。IS-IS 将此 TLV 作为扩展信息导入 TED。IS-IS 将 inet.5 路由中的保护器 TLV 路由通告为上下文 ID,而协议下一跳跃则是保护器的路由器 ID。如果保护器 TLV 有标签,则标签会添加到 inet.5 路由表中的路由中,供 LDP 使用。

CSPF 考虑用于通道端点计算的 IP 地址 TLV。

使用存根别名模型时,保护器 LSP 设置不需要更改任何节点。但是,要实现节点保护,请绕过 LSP 设置,PHN 和保护器路由器需要更改。

当 RSVP 设置旁路进行节点保护 LSP 时,如果 PLR 是 LSP 的倒数第二跳跃,RSVP 还会执行保护器查找。如果保护器可用于 LSP 目标,则使用 CSPF 计算受限的路径,该路径不包括出口 PE,如果尚未设置环境 ID,则会将旁路 LSP 目标设置为上下文 ID。将绕过 LSP 设置到上下文 ID 时,PLR 会取消所有保护选项。

如果网络支持 100% LFA 覆盖范围,但不支持 100% 的每个前缀 LFA 覆盖范围,则 LDP 非常有用。LDP 使用保护器设置备份路径,其上下文标签由保护器通告至服务点。

在 100% LFA 覆盖范围不可用的网络中,使用基于 RSVP 的隧道备份 LSP FLA 很有用。

在稳定状态下,转发与 PLR 中任何其他受保护的 LSP 相同。在保护器中,为上下文 ID 通告和发出信号的非空标签的表下一跃点指向 MPLS 上下文表,其中对等方的标签进行编程。

故障期间,PLR 使用旁路 LSP 将传输标签换成上下文 ID,或者交换标签上下文标签(上下文 ID 的保护器通告标签),然后将传输标签推送至保护器 lo0 接口地址。

作为 Stub 代理节点的上下文标识符

上下文标识符为存根代理节点(Junos OS 13.3 和更高版本中支持)。存根节点仅显示在 AS 路径末端,这意味着它不提供传输服务。在此模式下,称为虚拟或代理模式,LSP 端点地址表示为具有双向链路的节点,其中包含 LSP 的主出口节点和备份出口节点。借助此表示,LSP 主出口点的倒数第二跳跃可以像 PLR 一样设置旁路通道,通过避免主出口节点来备份出口。此模型的优势在于无需在核心节点上升级 Junos OS,从而帮助运营商部署此技术。

上下文 ID 表示为信息流工程 (TE) 和 IGP 数据库中的节点。主 PE 设备会将上下文节点通告到 IGP 和 TE 数据库中。主 PE 设备和受保护 PE 设备支持带宽和 TE 指标与上下文节点的一个链路。Junos OS 不会通告 TE 链路的其他 TE 特性。

在 IS-IS 中,主 PE 路由器通告代理节点以及与主路由器和保护器路由器的链路。主路由器和保护器路由器将链路通告至代理节点。代理节点将构建以下信息。

  • 系统 ID — 基于上下文 ID 的二进制编码十进制。

  • 主机名称 — 保护器名称:上下文 ID

  • LSP-ID — <系统 ID>.00

  • PDU 类型 — 基于配置的级别 2 和级别 1

  • LSP 属性:

    • 过载 — 1

    • IS_TYPE_L1(0x01) |2 级 PDU 的IS_TYPE_L2(0x02)

    • 级别 1 的IS_TYPE_L1

    • 多area — 否

    • 所有其他属性 — 0

代理节点仅包含区域、MT、主机名称、路由器 ID、协议和 IS reachabilty TLV。区域、MT、身份验证和协议 TLV 与主交换机相同。IS 可访问性 TLV 包含两个链路,称为 Cnode-主要链路和 Cnode-protector-link。这两个链路都包含 TE TLV。以下 TE-link-TLV 在上下文链接中通告:

  • IPv4 接口或邻接方地址

  • 最大带宽

  • TE 默认度量

  • 链路(本地或远程)标识符

子 TLV 值:

  • 带宽 — 零

  • TE 指标 — 最大 TE 指标

  • 接口地址 — 上下文 ID

  • 保护器邻接方地址 — 保护器路由器 ID

  • 主邻接方地址 — 受保护的路由器 ID

  • 链路本地 ID 保护器 — 0x80fffff1

  • 链路本地 ID 主 - 0x80fffff2

  • 链路远程 ID 保护器 — 从保护方那里学习

  • 链路远程 ID 主 - 从主设备学习

与上下文节点的受保护 PE 链路(主要通告链接并提供以下详细信息):

  • 带宽 — 最大

  • TE 指标 — 1

  • 接口地址 — 路由器 ID

  • 上下文邻接方地址 — 上下文 ID

  • 将本地 ID 链接到上下文节点 — 自动生成(类似于虚假链路)

  • 将远程 ID 链接到上下文节点 — 0x80fffff2

保护器 PE 与上下文节点的链接:

  • 保护器将未编号的传输链路通告至上下文节点的最大可路由链路指标以及最大 TE 指标和零带宽。未通告其他 TE 特征。

未编号链接的通告具有以下属性:

  • 带宽 — 0

  • TE 指标 — 最大 TE 指标

  • 接口地址 — 路由器 ID

  • 上下文邻接方地址 — 上下文 ID

  • 将本地 ID 链接到上下文节点 — 自动生成(类似于假链路)

  • 将远程 ID 链接到上下文节点 — 0x80fffff1

在 RSVP 中,行为更改仅在保护器和主路由器中。RSVP 将 LSP 和旁路 LSP 终止至上下文 ID。如果上下文 ID 是保护器,则会发出非空标签信号。否则,将基于配置或请求的标签类型。RSVP 会验证自身路径中的显式路由对象 (ERO)和上下文 ID。RSVP 使用两个记录路由对象 (RRO) 对象发送 Resv 消息,一个用于上下文 ID,一个用于自身。这模拟倒数第二跳跃节点 (PHN), 与上下文 ID LSP 的主保护器一起执行节点保护。作为快速重新路由 (FRR) 必需的旁路,LSP 必须通过保护器绕过上下文 ID 并将其合并回保护器 LSP PHN 设置,方法是避免主设备。

保护器还会终止上下文 ID 的备份 LSP,以便在故障期间使受保护的 LSP 保持活力,直到入口节点使 LSP 辞职。新的 LSP 通过保护器重新建立,但是此 LSP 不用于服务流量,因为服务协议不使用上下文 ID。即使主设备出现,LSP 也会遍历保护器。只有重新优化才能通过初选让 LSP 辞职。在存根代理模式下,不支持受约束的旁路 LSP。

由于 IGP 中通告的膨胀指标,LDP 无法使用存根代理方法。

关于转发状态,用于保护连接到另一个 PE 的一个或多个分段的 PE 路由器称为保护器 PE。保护器 PE 必须了解其保护的分段的转发状态,以抵御受保护的主要 PE。

对于给定分段,如果保护器 PE 未直接连接到与该分段关联的 CE 设备,则还必须至少从一个备份 PE 学习转发状态。这种情况只有在出口 PE 故障保护的情况下才会出现。

保护器 PE 在主 PE 上下文中维护给定分段的转发状态。保护器 PE 可能仅对主 PE 上的一个分段或主 PE 上的所有分段保持状态。

示例:为第 3 层 VPN 服务配置 MPLS 出口保护

此示例介绍在客户边缘 (CE) 路由器多宿主使用多个 PE 路由器的情况下,用于保护第 3 层 VPN 服务免受出口提供商边缘 (PE) 路由器故障侵害的本地维修机制。

此示例中使用了以下术语:

  • 发起方 PE 路由器 — 带有受保护路由实例或子网的 PE 路由器,用于分配主要第 3 层 VPN 路由器。

  • 备份 PE 路由器 — 宣布备份第 3 层 VPN 路由的 PE 路由器。

  • 保护器 PE 路由器 — 将由发起方 PE 路由器分发的 VPN 标签交叉连接到由备份 PE 路由器发起的标签的路由器。保护器 PE 路由器也可作为备份 PE 路由器。

  • 传输 LSP — 用于 BGP 下一跳跃的 LDP 信号标签交换系列 (LSP)。

  • PLR — 作为本地维修点 (PLR) 的路由器,可将第 3 层 VPN 流量重定向至保护器 PE 路由器,以实现快速恢复和重新路由。

  • 无环路替代路由 — 一种技术,通过预先计算 IGP 所有主要路由的备份路由,为内部网关协议 (IGP) 添加 IP 快速重新路由功能。在本文档中,IGP 是 IS-IS。

  • 多宿主 - 使您能够将 CE 设备连接到多个 PE 路由器的技术。如果与主 PE 路由器的连接发生故障,信息流可自动切换至备份 PE 路由器。

  • 上下文标识符 — 用于识别需要保护的 VPN 前缀的 IPv4 地址。标识符传播到 PE 和 PLR 核心路由器,使受保护的出口 PE 路由器能够将出口保护信号发送至保护器 PE 路由器。

  • 双重保护 — 一种保护机制,两个 PE 路由器可同时充当其各自上下文 ID 路由或下一跳跃的主 PE 路由器和保护器 PE 路由器。例如,在两个 PE 路由器 PE1 和 PE2 之间 PE1 可以是上下文标识符 203.0.113.1 的主 PE 路由器,也是上下文标识符 203.0.113.2 的保护器 同样,PE2 路由器可以是上下文标识符 203.0.113.1 和上下文标识符 203.0.113.2 的主 PE 路由器的保护器。

示例:为第 3 层 VPN 服务配置出口保护

此示例说明如何配置出口保护,以便快速恢复第 3 层 VPN 服务。

要求

此示例使用以下硬件和软件组件

  • MX 系列 5G 通用路由平台

  • 通道 PIC 或增强型 IP 网络服务模式的配置(在层次结构级别上[edit chassis]使用 network-services enhanced-ip 语句)。

  • 在设备上运行的 Junos OS 11.4R3 或更高版本

开始之前:

  • 配置设备接口。请参阅 Junos OS 网络接口配置指南

  • 在所有 PE 和 PLR 路由器上配置以下路由协议。

    • MPLS、LSP 和 LDP。请参阅 Junos OS MPLS 应用程序配置指南

    • BGP 和 IS-IS。请参阅 Junos OS 路由协议配置指南

  • 配置第 3 层 VPN。请 参阅 Junos OS VPN 配置指南

概述

一般情况下,如果出口 PE 路由器出现故障(对于多宿主客户边缘 [CE] 路由器),第 3 层 VPN 服务恢复取决于入口 PE 路由器检测出口 PE 节点故障,并将流量切换到备份 PE 路由器以用于多宿主 CE 站点。

Junos OS 版本 11.4R3 或更高版本使您能够为第 3 层 VPN 服务配置出口保护,在 CE 站点多宿主于一个 PE 路由器的情况下,保护服务免遭出口 PE 节点故障。该机制允许在出口节点故障时立即进行本地维修。作为本地维修点 (PLR) 的路由器将 VPN 流量重定向至保护器 PE 路由器,以便快速恢复服务,实现可与 MPLS 快速重新路由相媲美的快速保护。

用于配置出口保护的语句包括:

  • egress-protection—在 [edit protocols mpls] 层次结构级别配置时,此语句指定了第 3 层 VPN 和边缘保护虚拟电路的保护者信息和上下文标识符:

    [edit protocols bgp group group-name family inet-vpn unicast]下层、 [edit protocols bgp group group-name family inet6-vpn unicast][edit protocols bgp group group-name family iso-vpn unicast] 层次结构级别配置时,出口保护语句指定了上下文标识符,以启用对已配置的 BGP VPN 网络层可访问性信息 (NLRI) 的出口保护。

    [edit routing-instances] 层次结构级别配置时,语 egress-protection 句将保留受保护 PE 路由器的上下文标识符。

    此配置仅必须在主 PE 路由器中完成,并用于下一跳跃的出站 BGP 更新。

    [edit routing-instances routing-instance-name]层级配置context-identifier语句可为每个 VRF 实例提供客户边缘 VRF 级别上下文 ID 粒度。

  • context-identifier—此语句指定了用于定义参与出口保护 LSP 的 PE 路由器对的 IPV4 地址。上下文标识符用于将标识符分配给保护器 PE 路由器。标识符传播至参与网络的其他 PE 路由器,使受保护出口 PE 路由器能够将出口保护 LSP 信号发送至保护器 PE 路由器。

配置

CLI 快速配置

注意:

此示例仅显示与在受保护路由器、PE2、保护器路由器、PE3 和 PLR 路由器上配置第 3 层 VPN 服务的出口 PE 保护相关的样本配置。

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。

PE2(受保护 PE 路由器)

PE3(保护器 PE 路由器)

PLR 路由器

配置受保护 PE 路由器 (PE2)

逐步过程

要配置受保护 PE 路由器,PE2:

  1. 在接口上配置 MPLS。

  2. 配置出口保护和上下文标识符。

    注意:

    上下文标识符类型必须设置为 primary

  3. 为配置的 BGP NRLI 配置出口保护。

    注意:

    在层次结构级别上配置的 [edit protocols bgp group group-name family inet-vpn] 上下文标识符应与在层次结构级别上配置的 [edit protocols mpls] 上下文标识符匹配。

    注意:

    在层级配置上下文标识符 [edit routing-instances routing-instance-name] 可为每个虚拟路由和转发 (VRF) 实例提供 CE VRF 级别上下文 ID 粒度。

  4. 完成设备配置后,提交配置。

结果

发出 show protocols 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

配置保护器 PE 路由器 (PE3)

逐步过程

要配置保护器 PE 路由器,PE3:

  1. 在接口上配置 MPLS。

  2. 配置出口保护和上下文标识符。

  3. 配置 IPv4 第 3 层 VPN NRLI 参数。

  4. 配置路由策略选项。

  5. 完成设备配置后,提交配置。

结果

发出 show protocolsshow policy-options 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

配置 PLR 路由器

逐步过程

要将路由器配置为本地维修点 (PLR):

  1. 在接口上配置 MPLS。

  2. 配置每前缀-LFA 计算以及链路保护。

  3. 配置 LDP 以使用内部网关协议 (IGP) 路由指标,而不是默认 LDP 路由指标(默认 LDP 路由指标为 1)。

结果

发出 命令以 show protocols 确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证出口保护详细信息

目的

检查出口保护配置。

行动
意义

Instance 指示路由实例名称。 Type 显示了 VRF 的类型。它可以是 local-vrfremote-vrf. RIB (路由信息库)表示创建的边缘保护路由表。 Context-Id 显示了与 RIB 关联的上下文 ID。 Route Target 显示了与路由实例关联的路由目标。

验证路由实例

目的

验证路由实例。

行动
意义

Vrf-edge-protection-id 显示了使用路由实例在保护器 PE 路由器中配置的出口保护。

验证 BGP NRLI

目的

检查 BGP VPN 网络层可访问性信息的详细信息。

行动
意义

NLRI configured with egress-protection 显示了配置了出口保护的 BGP 系列。 egress-protection NLRI inet-vpn-unicast, keep-import: [remote-vrf] 显示了 BGP 组的出口保护路由策略。

示例:使用 RSVP 和 LDP 配置第 3 层 VPN 出口保护

此示例说明如何在客户多宿主到服务提供商时,在第 3 层 VPN 出口配置快速服务恢复。此外,此示例还包括增强的本地修复点 (PLR) 功能,其中 PLR 可在出口故障时重新路由服务流量。

从 Junos OS 版本 13.3 开始,提供增强型 PLR 功能,其中 PLR 可在出口故障时重新路由服务流量。作为此增强功能的一部分,PLR 路由器不再需要直接连接到保护器路由器。以前,如果 PLR 没有直接连接到保护器路由器,则无环路替代路由无法找到保护器的备份路径。

要求

配置此示例之前,无需设备初始化以外的特殊配置。

此示例需要 Junos OS 版本 13.3 或更高版本。

概述

在此示例中,客户边缘 (CE) 设备是 VPN 的一部分,其中设备 CE1 采用设备 PE2 和设备 PE3 进行多宿主。

设备 PE3 充当第 3 层 VPN 路由实例或子网的保护器。

设备 PE1 是设备 CE1 上下文标识符的发起人,设备 PE2 是该上下文标识符的主要路由器,而设备 PE3 是该上下文标识符的保护器。

设备 P1 用作本地维修点 (PLR)。因此,设备 P1 可将第 3 层 VPN 流量重定向至保护器 PE 路由器,以实现快速恢复和重新路由。

工作路径通过 P1>PE2。备份路径通过 P1>PE3。正常情况下,信息流通过工作路径。检测到设备 PE2 节点或链路故障时,流量将从工作路径重新路由到受保护路径。在正常的故障转移过程中,故障检测和恢复依赖于控制平面,因此速度相对较慢。通常,如果核心网络存在链路或节点故障,出口 PE 路由器必须依靠入口 PE 路由器来检测故障并切换到备份路径,因为无法为出口故障提供本地维修选项。要为出口 PE 链路或节点故障提供本地维修解决方案,此示例中使用称为出口保护的机制来修复并快速恢复连接。由于已配置出口保护,因此 PLR 路由器会检测设备 PE2 链路或节点故障,并使用备份 LDP 信号标签交换系列 (LSP) 通过保护器设备 PE3 重新路由流量。PLR 路由器使用每前缀无环路替代路由通过设备 PE3 对备份下一跃点进行编程,并且流量将使用备用路径转发至设备 CE2。此恢复在 PLR 路由器检测到设备 PE2 出口节点或链路故障后快速完成。双保护机制也可用于出口保护,其中两个 PE 路由器可同时充当其各自上下文 ID 路由或下一跳跃的主 PE 路由器和保护器 PE 路由器。

除了出口保护,此示例还演示了增强型 PLR 功能,其中 PLR 可在出口故障期间重新路由服务流量。Junos OS 版本 13.3 和更高版本支持此增强功能。在此示例中,设备 P1 (PLR) 直接连接到设备 PE3(保护器)。新的配置语句 advertise-mode允许您设置内部网关协议 (IGP) 通告出口保护可用性的方法。

拓扑

图 5 显示了示例网络。

图 5:采用 RSVP 和 LDP 的 3 层 VPN 出口保护 Layer 3 VPN Egress Protection with RSVP and LDP

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。

设备 CE1

设备 CE2

设备 P1

设备 PE1

设备 PE2

设备 PE3

程序

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备 P1(PLR):

  1. 配置设备接口。

  2. 配置 IS-IS。

    配置每前缀-LFA 计算以及节点链路保护。

  3. 启用 MPLS。

  4. 启用 RSVP。

  5. 启用 LDP。

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备 PE1:

  1. 配置设备接口。

  2. 启用 RSVP。

  3. 配置 MPLS。

  4. 配置 IBGP。

  5. 配置 IS-IS。

  6. 启用 LDP。

    [edit protocols ldp]
    user@PE1# set track-igp-metric
    user@PE1# set interface all
    user@PE1# set interface fxp0.0 disable
    

  7. 配置路由实例。

  8. 配置自治系统 (AS) 编号。

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备 PE2:

  1. 配置设备接口。

  2. 启用 RSVP。

  3. 配置 MPLS。

  4. 配置 IBGP。

  5. 配置 IS-IS。

  6. 启用 LDP。

    [edit protocols ldp]
    user@PE2# set track-igp-metric
    user@PE2# set interface all
    user@PE2# set interface fxp0.0 disable
    

  7. 配置 AS 编号。

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的配置模式下使用 CLI 编辑器

要配置设备 PE3:

  1. 配置设备接口。

  2. 启用 RSVP。

  3. 配置 MPLS。

  4. 配置 IBGP。

  5. 配置 IS-IS。

  6. 启用 LDP。

    [edit protocols ldp]
    user@PE3# set track-igp-metric
    user@PE3# set interface all
    

  7. 配置路由策略。

  8. 配置 AS 编号。

结果

在配置模式下,输入 show interfacesshow protocols 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

设备 P1

设备 PE1

设备 PE2

设备 PE3

如果完成设备配置,请从配置模式进入 commit

验证

确认配置工作正常。

验证保护器节点

目的

在保护器节点 (设备 PE3) 上,检查有关配置的出口保护上下文标识符的信息。

行动
意义

设备 PE3 是从设备 PE1 (172.16.183.55) 和设备 PE2 (172.16.183.56) 配置的两个 LSP 的保护器节点。

验证主节点

目的

在主节点 (设备 PE2) 上,检查有关配置的出口保护上下文标识符的信息。

行动
意义

设备 PE2 是主节点。

检查上下文标识符路由

目的

检查有关串联标识符 (192.0.2.6) 的信息。

行动

验证出口保护

目的

在设备 PE3 上,检查路由表中的路由。

行动
意义

Instance 表示公共组名称。 Type 显示了 VRF 的类型。它可以是 local-vrfremote-vrf. Route Target 显示与路由实例关联的路由目标。

验证设备 PE1 上的路由实例

目的

在设备 PE1 上,检查路由表中的路由。

行动

验证 LSP

目的

在所有设备上,检查 LSP 信息。

行动

验证 BGP NRLI

目的

检查 BGP VPN 网络层可访问性信息的详细信息。

行动
意义

NLRI configured with egress-protection 显示了配置了出口保护的 BGP 系列。 egress-protection NLRI inet-vpn-unicast, keep-import: [remote-vrf] 显示了 BGP 组的出口保护路由策略。

验证流量工程数据库

目的

在所有设备上,检查 TED。

行动

验证 IS-IS 数据库

目的

在所有设备上,检查 IS-IS 数据库。

行动