Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置任意源草稿罗森 6 组播 VPN

了解任意源组播

任意源组播 (ASM) 是一种多播形式,在该形式中,同一组中可以有多个发送方,这与指定单个特定源的特定于源的多播相反。原始组播规范 RFC 1112 同时支持 ASM 多对多模型和 SSM 一对多模型。对于 ASM,(S,G) 源组对被指定为 (*,G),这意味着组播组流量可以由多个源提供。

只要有感兴趣的侦听器,ASM 网络都必须能够确定特定组播组的所有源的位置,无论源可能位于网络中的什么位置。在 ASM 中, 源发现 的关键功能是网络本身的必要功能。

在有许多来源来来去去的环境中,例如对于视频会议服务,ASM 是合适的。组播源发现似乎是一个简单的过程,但在稀疏模式下并非如此。

在 PIM 密集模式下,将流量泛洪到网络中的每个路由器非常简单,以便每个路由器学习该组播组的内容的源地址。

但是,在 PIM 稀疏模式量泛洪不是一个可行的选项,因为它会带来与可扩展性和网络资源使用相关的问题。

示例:为草稿罗森 VPN 配置任意源组播

此示例说明如何使用具有客户 RP 和提供商 RP 的双 PIM 配置来配置任意源组播 VPN (MVPN),以及如何映射从客户到提供商的组播路由(称为 draft-rosen)。Junos OS 符合 RFC 4364 和互联网草案 draft-rosen-vpn-mcast-07.txt,MPLS/BGP VPN 中的组播

要求

准备工作:

概述

可以将草稿罗森组播虚拟专用网络 (MVPN) 配置为支持在任意源组播 (ASM) 模式或特定于源的组播 (SSM) 模式下运行的服务提供商隧道。

在此示例中,术语组 播第 3 层 VPN 用于指草稿 Rosen MVPN。

此示例包括以下设置。

  • 接口 lo0.1 — 在 PE 路由器的环路接口上配置附加设备。对于 lo0.1 接口,请从 VPN 地址空间分配一个地址。将 lo0.1 接口添加到配置中的以下位置:

    • VRF 路由实例

    • VRF 路由实例中的 PIM

    • 用于在 VPN 地址空间中通告接口的 IGP 和 BGP 策略

    在组播第 3 层 VPN 中,组播 PE 路由器必须使用主环路地址(或路由器 ID)与其内部 BGP 对等方进行会话。如果 PE 路由器使用路由反射器,并且下一跃点配置为 自身跃点,则基于 VPN 的第 3 层组播将不起作用,因为 PIM 无法将远程 PE 后面的组播源的上游接口信息传输到网络核心。组播第 3 层 VPN 要求 VPN 路由的 BGP 下一跃点地址与环路 VRF 实例地址的 BGP 下一跃点地址匹配。

  • 协议 PIM 接口 — 配置每个提供商路由器与 PE 路由器之间的接口。在所有客户边缘路由器上,将此语句包含在面向作为 RP 的提供商路由器的接口上。

  • 协议 PIM 模式稀疏 — 在所有 PE 路由器的 lo0 接口上启用 PIM 稀疏模式。您可以配置该特定接口,也可以使用该 interface all 语句配置所有接口。在客户边缘路由器上,您可以配置稀疏模式或稀疏密集模式。

  • 协议 PIM RP 本地 — 在充当 RP 的所有路由器上,配置本地 lo0 接口的地址。在此示例中,P 路由器充当 RP 路由器。

  • 协议 pim rp 静态 — 在所有 PE 和 客户边缘 路由器上,配置充当 RP 的路由器的地址。

    可以将 PE 路由器配置为 VPN 客户 RP (C-RP) 路由器。PE 路由器也可以充当 DR。这种类型的 PE 配置可以简化组播 VPN 的客户 DR 和 VPN C-RP 的配置。此示例不讨论将 PE 用作 VPN C-RP。

    图 1 显示了客户边缘的组播连接。在图中,CE2 是 RP 路由器。但是,RP 路由器可以位于客户网络中的任何位置。

    图 1:客户边缘路由器 Multicast Connectivity on the CE Routers上的组播连接
  • 协议 PIM 版本 2 — 在所有 PE 路由器和客户边缘路由器的 lo0 接口上启用 PIM 版本 2。您可以配置该特定接口,也可以使用该 interface all 语句配置所有接口。

  • 组地址 — 在路由实例中,为 PE 路由器上的 VPN 配置组播连接。在面向充当 RP 的路由器的接口上配置 VPN 组地址。

    PE 路由器上的 VPN 路由和转发 (VRF) 实例中的 PIM 配置需要与客户边缘路由器上的主 PIM 实例匹配。因此,PE 路由器包含一个主 PIM 实例(用于与提供商核心通信)和 VRF 实例(用于与客户边缘路由器通信)。

    属于同一 VPN 的 VRF 实例共享相同的 VPN 组地址。例如,包含支持组播的路由实例 VPN-A 的所有 PE 路由器共享相同的 VPN 组地址配置。 在图 2 中,共享 VPN 组地址配置为 239.1.1.1。

    图 2:VPN Multicast Connectivity for the VPN 的组播连接
  • 路由实例 instance-name 协议 PIM RIB 组 — 将路由组添加到 VPN 的 VRF 实例。

  • 路由选项 RIB 组 — 配置组播路由组。

拓扑学

此示例介绍如何在 PIM 稀疏模式下为 VPN-A 的组播地址范围配置组播,如图 3 所示。

图 3:客户边缘和服务提供商网络 Customer Edge and Service Provider Networks

配置

程序

CLI 快速配置

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

PE1

分步过程

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

要为草稿 Rosen VPN 配置组播:

  1. 在 P 路由器上配置 PIM。

  2. 在 PE1 和 PE2 路由器上配置 PIM。指定静态 RP — P 路由器 (10.255.71.47)。

  3. 在 CE1 上配置 PIM。指定 VPN RP — 路由器 CE2 (10.255.245.91) 的 RP 地址。

  4. 在 CE2 上配置 PIM,它充当 VPN RP。指定 CE2 的地址 (10.255.245.91)。

  5. 在 PE1 上,为第 3 层 VPN 配置路由实例 (VPN-A)。

  6. 在 PE1 上,配置 IGP 策略以通告 VPN 地址空间中的接口。

  7. 在 PE1 上,设置 VRF 实例的 RP 配置。VRF 实例中的 RP 配置提供 RP 地址的显式知识,以便可以转发 (*,G) 状态。

  8. 在 PE1 上,配置环路接口。

  9. 与对 PE1 路由器执行的操作一样,配置 PE2 路由器。

  10. 当其中一个 PE 路由器运行 Cisco Systems IOS 软件时,您必须配置瞻博网络 PE 路由器以支持此组播互操作性要求。瞻博网络 PE 路由器必须在主路由实例中具有 lo0.0 接口,并将 lo0.1 接口分配给 VPN 路由实例。您必须使用 lo0.0 接口用于主路由实例中提供商核心中的 BGP 对等互连的相同 IP 地址配置 lo0.1 接口。

    在层次结构级别上[edit interfaces lo0]配置瞻博网络 PE 路由器的 lo0.0lo0.1 环路接口上的相同 IP 地址,并在主路由实例的提供商核心中分配用于 BGP 对等互连的地址。在此备用示例中,针对 Cisco IOS 互操作性配置了单元 0 和单元 1。

  11. 配置组播路由表组。此组在执行 RPF 检查时访问 inet.2 。但是,如果使用 inet.0 进行组播 RPF 检查,此步骤将阻止组播配置正常工作。

  12. 在 VPN 的 VRF 实例中激活组播路由表组。

  13. 如果完成设备配置,请提交配置。

结果

通过从配置模式输入 show interfacesshow protocolsshow routing-instancesshow routing-options 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。此输出显示 PE1 上的配置。

验证

要验证配置,请运行以下命令:

  1. 使用 PE1 或 PE2 路由器中的命令显示 show pim interfaces instance instance-name 组播隧道信息和邻居数。从 PE1 路由器发出时,输出显示为:

    您还可以使用充当 RP 的提供商路由器中的命令显示 show pim join 所有 PE 隧道接口。

  2. 使用任一 PE 路由器中的命令, show pim neighbors instance instance-name 显示 PE1 和 PE2 路由器上的 VRF 实例之间的组播隧道接口信息、DR 信息和 PIM 邻居状态。从 PE1 路由器发出时,输出如下:

在可用 PIC 之间平衡组播隧道接口的负载

在草稿 Rosen 第 3 层 VPN 上配置组播时,系统会自动生成组播隧道接口,以封装和解封装控制和数据流量。

要生成组播隧道接口,路由设备必须具有以下一个或多个支持隧道的 PIC:

  • 自适应服务 PIC

  • 多服务 PIC 或多服务 DPC

  • 隧道服务 PIC

  • 在 MX 系列路由器上,使用语句在 tunnel-services 层次结构级别创建的 [edit chassis fpc slot-number pic number] PIC。

注意:

路由设备是充当路由器的路由器或 EX 系列交换机。

如果路由设备具有多个此类 PIC,则在实施中,在可用的支持隧道的 PIC 之间对隧道接口进行负载平衡可能很重要。

用于封装 mt-[xxxxx]的组播隧道接口的范围是从 32,768 到 49,151。用于解封装的接口 mt-[yyyyy]在 1,081,344 到 1,107,827 之间。PIM 仅在封装接口上运行。解封装接口填充下游接口信息。对于默认 MDT,实例的解封装和封装接口始终在同一 PIC 上创建。

对于每个 VPN,PE 路由器在服务提供商核心网络中构建组播分布树。创建树后,每个 PE 路由器封装来自连接的 VPN 的所有组播流量(数据和控制消息),并将封装的流量发送到 VPN 组地址。由于所有 PE 路由器都是 VPN 组地址组播分发树中传出接口列表的成员,因此它们都会接收封装的流量。当 PE 路由器收到封装的流量时,它们会解封装消息,并将数据和控制消息发送到客户边缘路由器。

如果路由设备具有多个支持隧道的 PIC(例如,两个隧道服务 PIC),则路由设备会在可用 PIC 之间平衡创建隧道接口的负载。但是,在某些情况下(例如,重新启动后),可能会为所有隧道接口选择单个 PIC。这会导致一个 PIC 负载过重,而其他可用的 PIC 则未得到充分利用。若要防止出现这种情况,可以手动配置负载平衡。因此,您可以在可用 PIC 之间统一配置和分配负载。

平衡状态的定义由您和第 3 层 VPN 实施的要求决定。您可能希望所有实例在可用 PIC 或配置的 PIC 列表中均匀分布。您可能希望所有实例中的所有封装接口均匀分布在可用 PIC 或配置的 PIC 列表中。如果考虑每个隧道封装接口的带宽,则可以选择不同的分布。您可以基于每个实例或每个路由设备设计负载平衡配置。

注意:

在第 3 层 VPN 中,以下每台路由设备必须至少有一个支持隧道的 PIC:

  • 每个提供商边缘 (PE) 路由器。

  • 充当 RP 的任何提供程序 (P) 路由器。

  • 充当源灾难恢复或 RP 的任何客户边缘 (CE) 路由器。接收方的指定路由器不需要支持隧道的 PIC。

要配置负载平衡:

  1. 在 M 系列或 T 系列路由器或 EX 系列交换机上,安装多个支持隧道的 PIC。(在某些实现中,只需要一个 PIC。负载平衡基于路由设备具有多个支持隧道的 PIC 的假设。
  2. 在 MX 系列路由器上,配置多个支持隧道的 PIC。
  3. 按照示例:为草稿 Rosen VPN 配置任意源组播中所述配置第 3 层 VPN。
  4. 对于每个 VPN,请指定一个 PIC 列表。

    PIC 在路由设备中的物理位置决定了组播隧道接口名称。例如,如果在 FPC 插槽 0 和 PIC 插槽 0 中安装了自适应服务 PIC,则相应的组播隧道接口名称为 mt-0/0/0。隧道服务 PIC、多服务 PIC 和多服务 DPC 也是如此。

    在语句中 tunnel-devices ,您指定的 PIC 列表的顺序不会影响接口的分配方式。实例使用所有列出的 PIC 创建默认封装和解封装接口以及数据 MDT 封装接口。实例使用轮询方法跨 PIC 列表(或在没有 PIC 列表的情况下,跨可用 PIC)分配隧道接口(默认接口和数据 MDT)。

    对于第一个隧道,循环算法从编号最低的 PIC 开始。第二个隧道是在编号下一个最低的 PIC 上创建的,依此类推,一轮又一轮。选择算法适用于路由设备范围。对于每个新实例,轮循机制不会在编号最低的 PIC 处重新启动。这适用于默认和数据 MDT 隧道接口。

    如果列表中的一个 PIC 发生故障,将使用轮询算法在列表中的其余 PIC 上创建新的隧道接口。如果列表中的所有 PIC 都出现故障,则会删除所有隧道接口,并且不会创建新的隧道接口。如果列表中的 PIC 从关闭状态启动,并且还原的 PIC 是唯一处于启动状态的 PIC,则接口将重新分配给还原的 PIC。如果列表中的某个 PIC 处于关闭状态,而其他 PIC 已启动,则不会执行接口重新分配。但是,当需要创建新的隧道接口时,还原的 PIC 可用于选择过程。如果在 PIC 列表中包括未安装在路由设备上的 PIC,则该 PIC 将被视为存在,但处于关闭状态。

    要平衡实例之间的接口,可以为每个实例分配一个 PIC。例如,如果您有 vpn1-10 并且有三个 PIC(例如 mt-1/1/0、 、mt-2/0/0mt-1/2/0),则可以将 vpn1-4 配置为仅使用 mt-1/1/0,vpn5-7 使用 mt-1/2/0,vpn8-10 配置为使用 mt-2/0/0

  5. 提交配置。

    提交新的 PIC 列表配置时,路由实例的所有组播隧道接口都将被删除,并使用新的 PIC 列表重新创建。

  6. 如果重新启动路由设备,某些 PIC 的启动速度会比其他 PIC 快。相差可能只有几分钟。因此,创建隧道接口时,已知的 PIC 列表可能与路由设备完全重新启动时不同。这会导致在某些(但不是全部)可用和已配置的 PIC 上创建隧道接口。若要纠正这种情况,可以手动重新平衡 PIC 负载。

    检查以确定是否需要重新平衡负载。

    输出显示,只有一个 mt-1/1/0 隧道封装接口,而 mt-1/2/0 有三个隧道封装接口。在这种情况下,您可能会决定重新平衡接口。如前所述,封装接口的范围为 32,768 到 49,151。在确定是否需要重新平衡时,请仅查看封装接口,因为默认 MDT 解封装接口始终与默认 MDT 封装接口驻留在同一个 PIC 上。

  7. (可选)重新平衡 PIC 负载。

    此命令会重新创建并重新平衡特定实例的所有隧道接口。

    此命令将重新创建并重新平衡所有路由实例的所有隧道接口。

  8. 验证 PIC 负载是否已平衡。

    输出显示具有 mt-1/1/0 两个封装接口,并且 mt-1/2/0 还具有两个封装接口。