Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:使用点到多点 LSP 的 NG-VPLS

此示例说明如何使用点到多点 LSP 配置新一代 VPLS (NG_VPLS)。拓扑如图 1图 2 所示。此示例分以下部分进行组织:

要求

表 1 列出了此示例中使用的硬件和所需软件:

表 1:使用的硬件和软件
设备 组件 软件

六个 MX 系列 5G 通用路由平台

DPC-4 10GE-X、DPC-40 1GE-X

Junos OS 9.3R4 或更高版本

一个 T 系列核心路由器

FPC3、10GE-Xenpak

Junos OS 9.3R4 或更高版本

8 台 EX4200 以太网交换机

EX4200 虚拟交换机

Junos OS 9.3R4 或更高版本

一台 M7i 多服务边缘路由器

千兆以太网接口

Junos OS 9.3R4 或更高版本

概述和拓扑

NG-VPLS 的逻辑拓扑如图 1 所示。

图 1:使用点到多点 LSP Logical Topology of NG-VPLS Using Point-to-Multipoint LSPs 的 NG-VPLS 逻辑拓扑

此示例中的路由器预配置了以下内容:

  • OSPF 区域 0 配置在所有启用流量工程的 PE 路由器和 P 路由器上。

  • 所有面向核心的接口均配置了 mpls 协议地址家族。

  • 所有面向核心的接口都启用了 RSVP 和 MPLS 协议。

  • 所有 MX 系列路由器的网络服务模式都设置为以太网。通过包括 network-services 语句并指定 ethernet 选项来配置网络服务模式。

  • 所有 PE 路由器均已为自治系统 65000配置。

NG-VPLS 的物理拓扑示例如图 2 所示。该拓扑结构由 6 个 MX 系列路由器组成,核心连接了冗余链路。四个 MX 系列路由器用作 PE 路由器,两个是核心路由器。

图 2:使用点到多点 LSP Physical Topology of NG-VPLS Using Point-to-Multipoint LSPs 的 NG-VPLS 物理拓扑

请注意以下拓扑详细信息:

  • 在拓扑中配置了路由反射器,用于将系列 l2-vpn 路由反射到所有 PE 路由器以实现 BPG-VPLS。

  • GOLD VPLS 路由实例在每台 PE 路由器中配置了两个站点。

  • 一个 GOLD 站点连接到 CE 路由器,另一个直接连接到每个 PE 路由器上的测试设备。

  • no-tunnel-services 语句包含在 GOLD VPLS 实例中,以便为 VPLS 隧道服务使用 LSI 接口。

  • 路由器 CE1 和路由器 CE2 是用作 CE 路由器的 EX 系列虚拟机箱交换机。

  • 路由器 CE3 是用作 CE 路由器的 M7i 路由器。

  • 配置了两个组播源。一个连接到路由器 CE1(站点 1),另一个连接到路由器 PE2(站点 4),以模拟不同的场景。

  • 路由器 CE1 配置为集合点 (RP)。

  • 所有测试设备端口均启用单播流量,并发送到 GOLD VPLS 实例中的所有站点。

配置

此示例说明如何使用点到多点 LSP 配置新一代 VPLS。它分为以下部分:

配置 PE 路由器接口

逐步过程

在面向客户的 PE 接口上,启用 VLAN 标记,配置封装类型,并启用 VPLS 地址系列。您可以根据需要为 VPLS 路由实例选择四种接口封装。

  1. 如果您的网络要求将 PE 路由器到 CE 路由器链路上的每个逻辑接口配置为仅接受带有 VLAN ID 1000的数据包,包括语句 vlan-tagging ,包括语句 encapsulation ,并指定 vlan-vpls 为封装类型。此外,还包括语句 vlan-id 并指定 1000 为 VLAN ID。

    通过此配置,您可以使用不同的 VLAN ID 配置多个逻辑接口,并将每个逻辑接口与不同的路由实例相关联。

  2. 如果您的网络要求将 PE 路由器到 CE 路由器链路上的每个物理接口配置为将整个以太网端口用作单个 VPLS 实例的一部分,请包括语句 encapsulation ,并指定 ethernet-vpls 为封装类型。

    在此封装模式下,您无法创建多个逻辑单元 (VLAN)。

  3. 如果您的网络要求将 PE 路由器到 CE 路由器链路上的单个物理接口的每个逻辑接口配置为使用不同的封装组合,请包含语句 encapsulation ,并指定 flexible-ethernet-services 为层级的 [edit interfaces interface-name] 封装类型。还包括语句 encapsulation ,并在层次结构级别指定 vlan-vplsvlan-ccc 作为封装类型 [edit interfaces interface-name unit logical-unit-number]

  4. 如果您的网络需要支持使用在单个物理接口上不同逻辑接口中配置的单标记和双标记 VLAN 组合,请包括语句 encapsulation ,并指定 flexible-vlan-tagging 为封装类型。

  5. 配置面向核心的 CE 路由器接口。CE 路由器和 PE 路由器逻辑接口配置必须与封装类型和 VLAN ID 匹配。通常,如果 CE 设备是路由器,并将第 2 层域终止到第 3 层网络,则 IP 地址配置在面向核心的 CE 路由器接口上。在此示例中,接口配置为使用 VLAN ID 为的单 1000一标记。

为所有 PE 路由器配置路由反射器,以实现基于 BGP 的 VPLS

逐步过程

配置路由反射器是启用任何基于 BGP 的服务产品的首选方法。配置路由反射器可避免对 BGP 对等会话全网状的要求,而且扩展性良好。使用单个群集中的多个路由反射器可以实现 BGP 冗余。

  1. 要使 BGP 能够传输第 2 层 VPN 和 VPLS NLRI 消息,请创建一个对等方组,包括语句 family ,指定 l2vpn 选项,然后包含语句 signaling 。要配置路由反射器群集并完成 BGP 对等会话,请包括语句 cluster 并指定群集 ID 的 IP 地址。然后,包括该 neighbor 语句并指定群集中 BGP 客户端对等方 PE 路由器的 IP 地址。

  2. 配置 OSPF 并在路由反射器上启用流量工程,以便为从 PE 路由器终止的出口 LSP 创建约束最短路径优先 (CSPF) 数据库。

  3. 在连接到 MPLS 核心的所有接口上启用 MPLS 和 RSVP 协议。这会终止 PE 路由器的 RSVP 出口 LSP。

使用路由反射器建立基于 BGP 的 VPLS

逐步过程

对于基于 BGP 的 VPLS,所有 PE 路由器都需要具有彼此之间的全网状 BGP 对等会话,或者与路由反射器有一个对等方。路由反射器反射从其他 PE 路由器接收的路由。在此示例中,PE 路由器配置为与路由反射器建立对等关系。

  1. 要让所有 PE 路由器与路由反射器建立 BGP 客户端对等会话,请创建内部对等方组,包括语句 local-address 并指定 PE 路由器的 IP 地址。还包括语句 neighbor ,并指定路由反射器的 IP 地址。要使 BGP 能够传输第 2 层 VPN 和 VPLS NLRI 消息,请包括语句 family ,指定 l2vpn 选项,然后包括语句 signaling

  2. 配置从 PE 路由器到路由反射器的点对点 RSVP LSP。要创建 LSP,请包括语句 label-switched-path ,为 LSP 指定有意义的名称,包括该 to 语句,并将路由反射器的 IP 地址指定为 LSP 端点。需要此 LSP 才能解析路由表中从路由反射器接收的路由的 BGP 下一跃点 inet.3

在 PE 路由器之间配置点对点 LSP

逐步过程

在下一代 VPLS 中,点对多点 LSP 仅用于传输广播、组播和未知单播帧。所有其他帧仍然使用点对点 RSVP LSP 进行传输。这可以更有效地利用带宽,特别是在未知帧、广播帧和组播帧的来源附近。在网络中,这种权衡在于状态,因为每个 PE 路由器都是一个点到多点 LSP 的入口,它接触到所有其他 PE 路由器,需要 n 点对点 LSP,其中一个分别连接到其他 PE 路由器。

  1. 要创建点对点 LSP,请包括语句 label-switched-path ,为 LSP 指定有意义的名称,包括语句 to ,并将另一 PE 路由器的 IP 地址指定为 LSP 端点。示例显示了从路由器 PE1 到路由器 PE2、PE3 和 PE4 的 LSP 配置。

在 PE 路由器之间配置动态和静态点到多点 LSP

逐步过程

此过程介绍如何创建动态点对多点 LSP 以及如何配置静态点对多点 LSP。在配置了静态点到多点 LSP 的路由器上,LSP 会立即启动。在配置了动态点对多点 LSP 的路由器上,只有在从路由反射器或从参与 VPLS 域的其他 PE 路由器接收 BGP 邻接方信息后,LSP 才会出现。

对于每个 VPLS 实例,启用了动态点对多点 LSP 的 PE 路由器会基于点对多点模板创建专用的点对多点 LSP。每当 VPLS 通过 BGP 发现新邻接方时,此邻接方的子 LSP 将被添加到点到多点 LSP 中。

n如果 VPLS 实例中有 PE 路由器,则路由器在n网络中创建点对多点 LSP,其中每个 PE 路由器都是树的根,并将其余 n-1 PE 路由器作为通过源到叶子 LSP 连接的叶节点包含。

  1. 在这一步中,您将配置路由器 PE1 和路由器 PE2,以使用动态的点到多点 LSP 模板创建 LSP。当这些路由器收到从新邻接方路由反射器播发的新 BGP 路由时,会向该邻接方创建一个点对多点子 LSP。要创建动态点对多点 LSP 模板,请包括语句 label-switched-path ,为 LSP 模板指定一个有意义的名称,包括语句 template 并包含语句 p2mp 。此外,还可以启用链路保护并配置优化计时器,以定期重新优化 LSP 路径。

  2. 在这一步中,您将配置静态点到多点 LSP。创建静态点到多点 LSP 类似于创建点到点 LSP,但您还可以在每个点到多点 LSP 下配置其他 RSVP 参数。

    要创建静态点对多点 LSP,请包含语句 label-switched-path ,为 LSP 指定有意义的名称,包括该 to 语句,并指定作为 LSP 端点的 PE 路由器的 IP 地址。此外,还包括语句 p2mp 并指定路径名称。

配置点到多点链路保护

逐步过程

点对多点 LSP 仅支持用于流量工程的 RSVP 链路保护。不支持节点保护。链路保护是可选的,但这是大多数网络的推荐配置。

  1. 要启用面向核心的接口上的链路保护,请将语句 link-protection 包含在 [edit protocols rsvp interface interface-name] 层次结构级别。

  2. 启用点对多点 LSP 以使用 RSVP 链路保护功能。可以为使用模板的静态点到多点和动态点到多点 LSP 配置链路保护。

    对于静态点对多点 LSP,请配置每个分支机构子 LSP。要启用链路保护,请将语句link-protection[edit protocols mpls label-switched-path label-switched-path-name]包含在层次结构级别。

  3. 对于使用模板的动态点对多点 LSP,只需配置模板的链路保护。使用该模板的所有点对多点分支机构 LSP 均继承此配置。

    要为动态点到多点 LSP 启用链路保护,请将语句link-protection[edit protocols mpls label-switched-path label-switched-path-name]包含在层次结构级别。

为 NG-VPLS 配置基于 BGP 的 VPLS 路由实例

逐步过程

对于 NG-VPLS,路由实例配置与常规 VPLS 路由实例的配置类似。路由实例定义 VPLS 站点并创建 VPLS 连接。配置了以下参数。

  • 实例类型 – VPLS。

  • 接口 – 连接到 CE 路由器的接口。

  • 路由识别符 – 您在 PE 路由器上配置的每个路由实例都必须具有唯一的路由识别符。BGP 使用路由识别器来区分从不同 VPN 接收的潜在相同网络可访问性信息 (NLRI) 消息。建议为每个 PE 上的每个路由实例使用唯一的路由识别符,以便确定发起路由的 PE。

  • VRF 目标 – 使用 vrf-target 语句配置 VRF 目标社区将导致生成默认 VRF 导入和导出策略,接受导入的路由,并标记具有指定目标社区的导出路由。

  • 协议 – 按照以下过程所述配置 VPLS 协议。

  1. 要配置 NG-VPLS 路由实例,请包括 routing-instances 语句并指定实例名称。此外, instance-type 还包括语句并指定 vpls 为类型。包括该 route-distinguisher 语句并指定在路由器上配置的所有 VPN 中唯一的路由识别器。通过包括 vrf-target 语句并指定路由目标来配置 VRF 路由目标。一个路由器导出的路由目标必须与另一个路由器为同一 VPLS 导入的路由目标匹配。

  2. 要使用点到多点 LSP 进行 VPLS 泛洪,请在 VPLS 路由实例下配置 LSP。

    要为 VPLS 泛洪配置点到多点 LSP,请添加 label-switched-path-template 语句并指定层级的 [edit routing-instances routing-instances-name provider-tunnel rsvp-te] LSP 模板名称。

  3. 配置 VPLS 协议可实现 VPLS 域中不同站点之间的 VPLS。可以在单个 VPLS 路由实例下配置多个站点,但请注意,最低站点 ID 用于在其他 PE 路由器上构建 VPLS 伪线,并且会播发与最低站点 ID 关联的标签块。为 VPLS 协议配置了以下参数:

    • 站点 – VPLS 站点的名称。

    • 站点范围 – VPLS 中允许的最大站点 ID。站点范围指定 VPLS 中允许的最高值站点 ID,而不是 VPLS 中的站点数。

    • 站点标识符 – 1 到 65,534 之间的任意数字,用于唯一标识 VPLS 站点。这也称为相关 RFC 中的 VE-ID。

    • PE-CE 接口 – 参与此站点的接口。

    • VPLS 的隧道服务 – 如果未在层次结构中 [edit protocol vpls tunnel-services] 配置任何隧道接口,则路由器将使用路由器上提供的任何隧道接口(适用于 VPLS)。

    • 无隧道服务 – 如果包含 no-tunnel-services 语句,则路由器将标签交换接口 (LSI) 用于该 VPLS 实例的隧道服务。

    • Mac 表大小 – VPLS 媒体访问控制 (MAC) 地址表的大小。默认为 512 个地址,最多 65,536 个。当表格已满时,新的 MAC 地址将不再添加到表中。

    要配置 VPLS 协议,请在 vpls 层级添加语句 [edit routing-instances routing-instance-name protocols] 。要配置站点范围,请包括语句 site-range 并指定 VPLS 中允许的最高值站点 ID。要使路由器使用 LSI 接口,请包括语句 no-tunnel-services 。要创建 VPLS 站点,请添加语句 site 并指定站点名称。此外,还包括语句 site-identifier 并指定站点 ID。然后,包括该 interface 语句并指定连接到 CE 设备的接口的接口名称。

为 VPLS 配置隧道服务

逐步过程

VPLS 配置需要一个隧道接口来封装始发流量,并解封装来自远程站点的流量。如果未配置隧道接口,则路由器会默认选择路由器上的一个可用隧道接口。Junos OS 中有三种方法可用于配置此隧道接口。

  • 要指定要用作隧道的主设备的虚拟隧道接口,请包括语句 primary ,并指定要在 [edit routing-instances routing-instance-name protocols vpls tunnel-services] 层次结构级别中使用的虚拟隧道接口。

  • 要将路由器配置为将 LSI 接口用于隧道服务(而非虚拟隧道接口),请在 no-tunnel-services 层级添加语句 [edit routing-instances routing-instance-name protocols vpls]

  • 在 MX 系列路由器中,您必须创建要用于隧道服务的隧道服务接口。要创建隧道服务接口,请包括 bandwidth 语句并指定在层次结构级别为隧道服务保留的带宽量(以千兆位/秒 [edit chassis fpc slot-number pic slot-number tunnel-services] )。

验证控制平面

逐步过程

本节介绍 show 可用于验证控制平面的命令输出。它还提供了故障排除方法。请注意以下几点:

  • 此示例共有六个站点。路由器 PE1 和路由器 PE2 各有两个站点。路由器 PE3 和路由器 PE4 各有一个站点。所有站点均位于 GOLD VPLS 实例中。

  • 在 VPLS 中,如果在单个 VPLS 路由实例下配置了多个站点,则使用站点 ID 最低的站点的标签块在远程 SE 之间建立伪线。请注意,数据流量仍会发送到那些连接到处于以下状态之一的 CE 设备的 PE 路由器接口:

    • LM – 本地站点 ID 不是指定的最低值。本地站点 ID 不是最低值。因此,本地站点 ID 不会用于建立伪线或分发 VPLS 标签块。

    • RM – 远程站点 ID 不是指定的最低值。远程站点 ID 不是最低值。因此,远程站点 ID 不会用于建立伪线或分发 VPLS 标签块。

  • 有关如何分配和使用 VPLS 标签块的详细信息,请参阅 了解 VPLS 标签块操作

  1. 完成整个配置后,可以验证 VPLS 连接状态。

    在以下输出中,VPLS 连接显示 Up 某些站点的状态,其余站点显示 RMLM 状态。这是多宿主站点上 VPLS 实施时的预期状态。

    在此示例中,路由器 PE1 的站点 CE1 配置了站点 ID 1 ,配置了站点 Direct ID 2。站点 CE1 的标签块播发至远程 PE 路由器,用于从远程 PE 路由器接收数据包。在 show 命令输出中,请注意以下几点:

    • 路由器 PE1 使用其最低站点 ID,即站点 ID 1。站点 ID 1 用于设备 CE1

    • 路由器 PE2 使用其最低站点 ID,即站点 ID 3。站点 ID 3 用于设备 CE2

    • 路由器 PE3 和路由器 PE4 均配置了一个站点。

      对于站点 CE1,连接站点 3 处于状态 Up ,连接站点 4 处于状态 RM

    • 对于站点 Direct,所有连接均处于状态 LM

    • 站点 Direct 的站点 ID 高于此路由器上的站点 1

    在路由器 PE1 上 show vpls connections ,使用命令验证 VPLS 连接状态。

  2. 在路由器 PE4 上 show vpls connections ,使用命令验证 VPLS 连接状态。

    验证站点 2 和站点 4 是否处于状态 RM 。此状态会告诉您,路由器 PE1 和路由器 PE2 上为这些站点配置了最高的站点 ID。由于路由器 PE4 只配置了一个站点,因此它没有任何处于状态的 LM 站点。

  3. 在每个 PE 路由器上,使用 show bgp summary 命令验证 PE 路由器之间或 PE 路由器与路由反射器之间的 IBGP 会话是否已建立。PE 路由器才能交换任何第 2 层 VPN 路由,会话必须正常运行。在以下示例中,另请注意,路由器 PE1 的输出显示 bgp.l2vpn.0 已创建路由表和 GOLD.l2vpn.0 路由表。

  4. 在路由器 PE4 上,使用 show route table 命令验证到其他 PE 路由器是否有一个第 2 层 VPN 路由。路由器 PE3 应具有类似的 show 命令输出。

  5. 在路由反射器上,使用 show bgp summary 命令验证路由器是否与每个 PE 路由器都有 IBGP 对等会话。

  6. 在 NG-VPLS 中,点对多点 LSP 仅传输未知的单播、广播和组播数据包。用于 NG-VPLS 的 PE 路由器之间需要一个全网状点对点 LSP。点对点 LSP 在 inet.3 路由表中创建路由。这些条目用于解析从 BGP 对等方接收的第 2 层 VPN 路由。所有其他数据流量均通过点对点 LSP 发送。

    此外,还会为路由反射器创建点到点 LSP。此 LSP 在路由表中创建路由, inet.3 用于 BGP 下一跃点解析。

    在路由器 PE1 上,使用 show mpls lsp 命令验证 to-PE2to-PE3to-PE4to-RR LSP 是否处于状态 Up

  7. 对于每个 VPLS 实例,PE 路由器都会创建一个专用的点对多点 LSP。在此示例中,路由器 PE1 和路由器 PE2 配置为使用点到多点动态模板。

    对于动态点对多点 LSP,每当 VPLS 通过 BGP 发现新的第 2 层 VPN 邻接方时,将在此邻接 PE 路由器的 VPLS 实例中添加源到叶子 LSP。

    在路由器 PE1 上,使用 show mpls lsp 命令验证是否已创建三个源到叶子 LSP。

  8. 在路由器 PE2 上,使用 show mpls lsp 命令验证是否已创建三个源到叶子 LSP。

  9. 在这一步中,路由器 PE3 和路由器 PE4 使用静态的点对多点 LSP。对于静态点对多点 LSP,将手动配置所有 PE 路由器的源到叶子 LSP。

    在路由器 PE3 上,使用 show mpls lsp 命令验证是否已配置三个源到叶子 LSP。

  10. 在路由器 PE4 上,使用 show mpls lsp 命令验证是否配置了三个源到叶子 LSP。

  11. PE 路由器创建的每个点到多点 LSP 都可以使用 RSVP-TE 点对多点会话对象进行识别。会话对象在播发 VPLS 路由时,由 BGP 作为 PMSI 隧道属性传递。使用此隧道属性,传入的源到叶子 LSP 添加请求(RSVP-Path 消息)支持标签分配,当流量到达此源到叶子 LSP 上时,路由器将终止右侧 VPLS 实例中的消息并识别始发 PE。这支持源 MAC 地址学习。

    在路由器 PE1 上,使用 show rsvp session 命令验证动态点到多点 LSP 的 RSVP 会话是否为 Up 以及链路保护是否已配置为 desired。请注意,在 BGP 中发送的点对多点会话对象是 54337

  12. 路由器 PE4 已为静态点到多点 LSP 配置。未为这些 LSP 配置链路保护。使用 show rsvp session 命令验证将在 BGP 中发送的点对多点会话对象是否为 42873

  13. 在路由器 PE1 上,使用 show route table 命令验证路由器 PE1 是否从路由器反射器接收了到路由器 PE2 的第 2 层 VPN 路由,并且路由包含包含点对多点隧道标识符的 20361PMSI 对象。

  14. 在路由器 PE2 上,使用 show rsvp session 命令验证路由器 20361 PE1 上显示的 PMSI 隧道标识符对象的 PMSI 隧道标识符对象是否匹配。

验证数据平面

逐步过程

使用前面的步骤验证控制平面后,您可以验证数据平面。本节介绍 show 可用于验证数据平面的命令输出。

  1. 在路由器 PE1 上,使用show vpls connections extensive | match Flood命令验证所有站点的点到多点 LSP 名称和状态。请注意 LSP 的600192.0.2.1:1:vpls:GOLD泛洪下一跃点标识符。

  2. 在路由器 PE1 上,使用 show vpls connections extensive 命令验证所有站点的点到多点 LSP 名称和状态。

  3. Junos OS 9.0 及更高版本将泛洪下一跃点路由识别为复合下一跃点。在路由器 PE1 上,使用 show route forwarding-table family vpls vpn GOLD detail 命令验证数据包转发引擎中是否安装了三个复合泛洪下一跃点路由。

    您还可以使用 show route forwarding-table family vpls extensive 命令来匹配泛洪标识符,并记下泛洪标签。要匹配与点对多点 LSP 对应的标签,请使用 show rsvp session ingress p2mp 命令。

  4. 在路由器 PE1 上,使用 show route forwarding-table family vpls vpn GOLD extensive | find 0x30003/51 命令获取有关复合下一跃点路由和关联的点到多点 LSP 标签的详细信息。

  5. 在路由器 PE1 上,使用 show vpls mac-table instance GOLD 命令验证连接到 VPLS 域的 CE 路由器的学习 MAC 地址。

  6. 在路由器 PE1 上,使用 show vpls statistics 命令使用 VPLS 实例的数据包统计信息验证广播、组播和单播流量。

结果

此示例的配置、验证和测试部分已完成。以下部分可供参考。

路由器 PE1 的相关配置示例如下。

PE1 配置

路由器 PE2 的相关配置示例如下。

PE2 配置