Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

配置 MBGP MVPN 通配符

了解为 MBGP MVPN 配置选择性点对多点 LSP 的通配符

选择性 LSP 也称为选择性提供商隧道。选择性提供商隧道从 VPN 中的某些组播组传输流量,并且仅扩展到具有这些组接收器的 PE 路由器。您可以为组前缀和源前缀配置选择性提供程序隧道,也可以对组和源使用通配符,如 Internet 草稿draft-rekhter-mvpn-wildcard-spmsi-01.txt在 S-PMSI 自动发现路由中使用通配符中所述。

以下各节介绍对选择性提供程序隧道使用通配符时的方案和特殊注意事项。

关于 S-PMSI

提供商组播服务接口 (PMSI) 是一个 BGP 隧道属性,其中包含 PE 路由器用于通过提供商网络核心传输流量的隧道 ID。选择性 PMSI (S-PMSI) 自动发现路由将给定 MVPN 客户组播流的绑定播发至特定提供商隧道。入口 PE 路由器通告的 S-PMSI 自动发现路由包含客户源和派生自源树客户组播路由的客户组的 /32 个 IPv4 或 /128 个 IPv6 地址。

图 1 显示了一个简单的 MVPN 拓扑。入口路由器 PE1 源自 S-PMSI 自动发现路由。出口路由器 PE2 和 PE3 由于从未显示在拓扑中的客户边缘设备接收加入消息,因此具有加入状态。为了响应 PE1、PE2 和 PE3 发送的 S-PMSI 自动发现路由通告,请根据加入状态选择是否加入隧道。选择性提供程序隧道配置在 PE1 上的 VRF 实例中配置。

注意:

MVPN 模式配置(RPT-SPT 或仅 SPT)在所有三个 PE 路由器上为组成 VPN 的所有 VRF 进行配置。如果省略 MVPN 模式配置,则默认模式仅为 SPT。

图 1:简单 MVPN 拓扑 Simple MVPN Topology

使用通配符 S-PMSI 的方案

通配符 S-PMSI 将源或组(或源和组)字段设置为通配符值 0.0.0.0/0,并通告将多个客户组播流绑定到单个 S-PMSI 自动发现路由中的单个提供商隧道。

配置通配符 S-PMSI 的方案如下所示:

  • 当客户组播流在 ASM 模式流中为 PIM-SM 时。在这种情况下,连接到包含客户 RP (C-RP) 的 MVPN 客户站点的 PE 路由器可以将沿客户 RPT 树传输的所有客户组播流绑定到单个提供商隧道。

  • 当 PE 路由器连接到包含多个源的 MVPN 客户站点时,所有源都发送到同一组。

  • 当客户多播流是 PIM 双向流时。在这种情况下,PE 路由器可以将同一组的所有客户组播流绑定到单个提供商隧道,这些流源自连接到该 PE 的给定 MVPN 的站点内,并在单个 S-PMSI 自动发现路由中通告此类绑定。

  • 当客户组播流在 SSM 模式流中为 PIM-SM 时。在这种情况下,PE 路由器可以将来自给定源的所有客户组播流量绑定到单个提供商隧道,该源位于连接到该 PE 路由器的站点中。

  • 如果要在提供商隧道中传输所有客户组播流量,这些流量都源自连接到给定 PE 路由器的给定 MVPN 的站点内。

通配符 S-PMSI 的类型

支持以下类型的通配符 S-PMSI:

  • A (*,G) S-PMSI 匹配具有组地址的所有客户组播路由。客户组播路由中的客户源地址可以是任意地址,包括共享树客户组播路由的 0.0.0.0/0。播发 (*, C-G) S-PMSI 自动发现路由时,源字段设置为 0,源地址长度设置为 0。S-PMSI 自动发现路由的组播组地址派生自客户组播联接。

  • A (*,*) S-PMSI 匹配所有客户组播路由。客户组播路由中的任何客户源地址和任何客户组地址都可以绑定到 (*,*) S-PMSI。播发 S-PMSI 自动发现路由时,源地址和长度设置为 0,组地址和长度设置为 0。S-PMSI 自动发现路由中的其余字段遵循与 (C-S, C-G) S-PMSI 相同的规则,如 BGP-MVPN 草案 (draft-ietf-l3vpn-2547bis-mcast-bgp-00.txt) 的第 12.1 节所述。

通配符 S-PMSI 和 (S,G) S-PMSI 之间的差异

对于动态提供商隧道,每个客户组播流绑定到单独的提供商隧道,并且每个隧道由单独的 S-PMSI 自动发现路由通告。对于静态 LSP,通过让多个 S-PMSI 自动发现路由播发同一提供商隧道,多个客户组播流绑定到单个提供商隧道。

配置通配符 (*,G) 或 (*,*) S-PMSI 时,一个或多个匹配的客户组播路由共享一个 S-PMSI。具有匹配源和组地址的所有客户组播路由都绑定到相同的 (*,G) 或 (*,*) S-PMSI 并共享同一隧道。(*,G) 或 (*,*) S-PMSI 在入口 PE 路由器中收到第一个匹配的远程客户组播加入消息时建立,并在从入口 PE 路由器撤回最后一个远程客户组播加入时删除。共享单个 S-PMSI 自动发现路由可提高控制平面的可扩展性。

通配符 (*,*) S-PMSI 和 PIM 密集模式

对于 PIM 密集模式 (PIM-DM) 中的 (S,G) 和 (*,G) S-PMSI 自动发现路由,所有下游 PE 路由器都将接收 PIM-DM 流量。如果下游 PE 路由器没有对组地址感兴趣的接收方,PE 路由器将实例化修剪状态并停止从隧道接收流量。

现在考虑 (*,*) S-PMSI 自动发现路由会发生什么情况。如果 PIM-DM 流量不受更长匹配 (S,G) 或 (*,G) S-PMSI 的约束,则会绑定到 (*,*) S-PMSI。与密集模式一样,无论客户组播加入状态如何,PIM-DM 流量都会通过提供商隧道泛洪到下游 PE 路由器。由于 (*,*) S-PMSI 自动发现路由中没有组信息,因此,如果出口 PE 路由器上有任何配置表明对 PIM-DM 流量感兴趣,出口 PE 路由器将加入 (*,*) S-PMSI 隧道。

如果出口 PE 路由器在与导入 S-PMSI 自动发现路由的实例对应的 VRF 实例中具有以下配置之一,则会指示对 PIM-DM 流量的兴趣:

  • 至少有一个接口在层次结构级别配置为 [edit routing-instances instance-name protocols pim interface] 密集模式。

  • 至少有一个组在层次结构级别配置为 [edit routing-instances instance-name protocols pim dense-groups group-address] 密集模式组。

通配符 (*,*) S-PMSI 和 PIM-BSR

对于 PIM 引导路由器 (PIM-BSR) 模式下的 (S,G) 和 (*,G) S-PMSI 自动发现路由,入口 PE 路由器通过提供商隧道将 PIM 引导消息 (BSM) 数据包泛洪到所有出口 PE 路由器。出口 PE 路由器不会加入隧道,除非消息具有 ALL-PIM 路由器组。如果消息包含此组,则无论加入状态如何,出口 PE 路由器都将加入隧道。消息中的组字段确定是否存在全 PIM 路由器地址。

现在考虑与 PIM-BSR 模式一起使用的 (*,*) S-PMSI 自动发现路由会发生什么情况。如果 PIM BSM 数据包不受更长匹配 (S,G) 或 (*,G) S-PMSI 的约束,则它们将绑定到 (*,*) S-PMSI。与 PIM-BSR 的情况一样,BSM 数据包会通过提供商隧道泛洪到下游 PE 路由器,到达 ALL-PIM-ROUTERS 目标组。由于 (*,*) S-PMSI 自动发现路由中没有组信息,因此出口 PE 路由器始终加入 (*,*) S-PMSI 隧道。与 PIM-DM 不同,出口 PE 路由器可能没有建议使用 PIM-BSR 作为 VRF 实例中的 RP 发现机制的配置。要防止所有出口 PE 路由器始终加入 (*,*) S-PMSI 隧道,必须忽略 (*,*) 通配符组配置。

这意味着,如果配置 PIM-BSR,则可以为所有其他组地址配置通配符组 S-PMSI。(*,*) S-PMSI 不用于 PIM-BSR 流量。需要匹配的 (*,G) 或 (S,G) S-PMSI(其中组地址为 ALL-PIM-ROUTERS 组)或包含提供商隧道才能通过提供商核心传输数据。对于 PIM-BSR,最长匹配查找依次为 (S,G)、(*,G) 和非独占提供程序隧道。如果未为路由实例配置非独占隧道,则必须配置 (*,G) 或 (S,G) 选择性隧道。否则,将删除数据。这是因为 PIM-BSR 的功能与 PIM-DM 类似,因为无论客户组播加入状态如何,流量都会通过提供商隧道泛洪到下游 PE 路由器。但是,与 PIM-DM 不同的是,出口 PE 路由器可能没有指示对 PIM-BSR 流量感兴趣或不感兴趣的配置。

通配符源和 0.0.0.0/0 源前缀

您可以在选择性提供程序隧道中的同一组前缀下配置 0.0.0.0/0 源前缀和通配符源。例如,配置可能如下所示:

wildcard-source配置语句的功能source 0.0.0.0/0不同。0.0.0.0/0 源前缀仅匹配从客户组播地址派生的 (C-S、C-G) 客户组播加入消息和触发器(C-S、C-G) S-PMSI 自动发现路由。由于所有(C-S、C-G)加入消息都与匹配组中的 0.0.0.0/0 源前缀匹配,因此通配符源 S-PMSI 仅用于 (*,C-G) 客户组播加入消息。如果没有配置的 0.0.0.0/0 源前缀,通配符源将匹配 (C-S, C-G) 和 (*,C-G) 客户组播加入消息。在此示例中,(10.0.1.0/24, 203.0.113.0/24) 的联接消息绑定到 sptnl3。(*, 203.0.113.0/24) 的加入消息绑定到 sptnl2

使用通配符配置选择性提供程序隧道

为 MBGP MVPN(也称为新一代第 3 层组播 VPN)配置选择性提供商隧道时,可以为组播组和源地址前缀使用通配符。使用通配符使 PE 路由器能够使用单个路由将给定 MVPN 客户的多个组播流绑定到单个提供商的隧道,如 https://tools.ietf.org/html/draft-rekhter-mvpn-wildcard-spmsi-00 中所述。

共享单个路由可减少 S-PMSI 自动发现路由的数量,从而提高控制平面的可扩展性。

要使用通配符配置选择性提供程序隧道,请执行以下操作:

  1. 配置与任何组 IPv4 地址匹配的通配符组和 (*,*) 联接消息的通配符源。
  2. 配置与任何组 IPv6 地址匹配的通配符组和 (*,*) 联接消息的通配符源。
  3. 配置组播组的 IP 前缀和 (*,G) 联接消息的通配符源。
  4. 将 IPv4 联接消息映射到选择性提供商隧道。
  5. 将 IPv6 联接消息映射到选择性提供商隧道。
  6. 将 (*,203.0.113/24) 联接消息映射到选择性提供程序隧道。

示例:使用通配符配置选择性提供程序隧道

使用 (*,G) 和 (*,*) S-PMSI,客户组播加入消息可以匹配多个 S-PMSI。在这种情况下,客户组播加入消息绑定到最长匹配的 S-PMSI。最长的匹配是 (S,G) S-PMSI,然后是 (*,G) S-PMSI 和 (*,*) S-PMSI,按此顺序排列。

请考虑以下配置:

对于此配置,最长匹配规则的工作方式如下:

  • 客户组播(10.1.1.1、203.0.113.1)加入消息绑定到 sptnl3 S-PMSI 自动发现路由。

  • 客户组播(10.2.1.1、203.0.113.1)加入消息绑定到 sptnl2 S-PMSI 自动发现路由。

  • 客户组播(10.1.1.1、203.1.113.1)加入消息绑定到 sptnl1 S-PMSI 自动发现路由。

当多个客户组播路由绑定到同一通配符 S-PMSI 时,只会创建一个 S-PMSI 自动发现路由。出口 PE 路由器始终使用与播发 S-PMSI 自动发现路由的入口 PE 路由器相同的匹配规则。这可确保在入口和出口 PE 路由器上进行一致的客户组播映射。