MVPN 路由分布
本主题提供有关配置路由实例以支持第 3 层 VPN 中的组播的信息和示例。
为 MBGP MVPN 配置路由实例
要配置 MBGP MVPN,请包含以下 mvpn
语句:
mvpn { mvpn-mode (rpt-spt | spt-only); receiver-site; route-target { export-target { target target-community; unicast; } import-target { target { target-value; receiver target-value; sender target-value; } unicast { receiver; sender; } } } sender-site; traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <flag-modifier> <disable>; } }
您可以在以下层次结构级别包含此语句:
[edit routing-instances routing-instance-name protocols]
[edit logical-systems logical-system-name routing-instances routing-instance-name protocols]
默认情况下,MBGP MVPN 路由实例与组播发送方和接收方站点相关联。如果配置该 receiver-site
选项,则路由实例仅与组播接收方站点关联。配置该 sender-site
选项将路由实例仅与组播发送方站点相关联。
为 MBGP MVPN 配置路由实例时,必须在路由实例的 PE 路由器之间配置 MPLS LSP(RSVP 信号或 LDP 信号),以确保 VPN 单播连接。点对多点 LSP 仅用于组播数据转发。
为基于多协议 BGP 的组播 VPN 配置仅 SPT 模式
对于 MBGP MVPN(也称为新一代第 3 层组播 VPN),默认操作模式为仅最短路径树(仅限 SPT)模式。在仅 SPT 模式下,活动组播源通过组播 VPN 源-活动路由获知。BGP-MVPN 草案 (draft-ietf-l3vpn-2547bis-mcast-bgp-00.txt) 的第 14 节介绍了这种操作模式。
与仅 SPT 模式相比,集合点树 (RPT)-SPT 模式(也称为共享树数据分发)支持本机 PIM 模型,该模型将 (*,G) 消息从接收方传输到站点间共享树联接消息的 RP。
在仅 SPT 模式下,当 PE 路由器收到 (*, C-G) 加入消息时,路由器将查找将数据传输到客户组的活动源。如果 PE 路由器具有客户组的源-活动路由,路由器将创建源树客户组播路由,并将路由发送到使用源连接到 VPN 站点的 PE 路由器。来源由 MVPN 的单转发器选择确定。当接收方在 VPN 站点中发送 (*,G) 加入消息时,(*,G) 加入消息只会传输到 PE 路由器。将加入消息转换为类型 7 组播路由(相当于 (S,G) 加入消息)后,将使用无播发社区设置安装路由。
MVPN 单转发器选择遵循 BGP-MVPN 草案 (draft-ietf-l3vpn-2547bis-mcast-bgp-00.txt) 第 9.1.1 节 中记录的规则。单转发器选举获胜者基于以下规则:
如果到源的活动单播路由通过接口,则此路由用于确定上游组播跃点 (UMH)。
如果到源的活动单播路由是 VPN 路由,则 MVPN 将根据 VPN 路由的路由导入社区中的最高 IP 地址以及本地 VRF 路由的本地主环路地址选择 UMH。
单货运代理选择可确保为给定客户来源 (C-S) 选择唯一的货运代理。源树和共享树的上游 PE 路由器可能有所不同,因为选择分别基于客户源和 C-RP。尽管单转发器选择对于仅 SPT 模式就足够了,但替代 RPT-SPT 模式涉及防止在共享树和源树上发送重复流量的过程。这些过程可能需要管理员配置的参数,以减少重复流量,并在 RPT 到 SPT 交换机期间减少空路由,反之亦然。
在仅 SPT 模式下,当源处于活动状态时,PIM 会在 DR 和 C-RP(或在自身与 C-RP 之间运行组播源发现协议 [MSDP] 的 PE 路由器)上为源创建寄存器状态。创建寄存器状态后,MVPN 会创建源-活动路由。 这些类型 5 源-活动路由安装在所有 PE 路由器上。当带有 (*,G) 加入消息的出口 PE 路由器收到源-活动路由时,它有两个路由可以组合在一起以生成 (S,G) 组播路由。类型 7 路由通知 PE 路由器接收方对组 G 感兴趣。源活动路由通知 PE 路由器源 S 正在向组 G 传输数据。MVPN 结合此信息以生成组播加入消息,并将其播发至入口 PE 路由器,具体取决于单转发器选择。
对于某些服务提供商,仅 SPT 实现并不理想,因为它会对 C-RP 配置产生限制。要使 PE 路由器从 (*, C-G) 加入消息创建客户组播路由,路由器必须通过 MVPN 类型 5 源-活动路由了解活动源。这些源-活动路由只能由 PE 路由器发起。这意味着 MVPN 中的 PE 路由器必须了解发送到 RP 的所有 PIM 寄存器消息,这仅在以下情况下才可能:
C-RP 位于 MVPN 中的一个 PE 上。
MSDP 在 MVPN 中某个 PE 路由器上的 C-RP 和 VRF 实例之间运行。
如果此限制不可接受,提供程序可以使用 RPT-SPT 模式,而不是默认的仅 SPT 模式。但是,由于仅 SPT 模式不会在 VPN 站点之间传输 (*,G) 路由,因此仅 SPT 模式比 RPT-SPT 模式具有以下优点:
通过在 PE 路由器之间仅交换和处理源树客户组播路由来简化操作
通过服务提供商在从 RPT 切换到 SPT 期间抑制 MVPN 瞬时重复项,简化了操作
通过限制交换的客户组播路由类型,减少服务提供商空间中的控制平面开销,从而实现更具可扩展性的部署
主干网中更稳定的流量模式,没有 RPT-SPT 模式中涉及的流量偏移
由于状态信息较少,因此更容易在服务提供商空间中进行维护
要配置仅 SPT 模式,请执行以下操作:
使用入口复制提供程序隧道配置互联网组播
路由实例类型 mpls-internet-multicast
使用入口复制提供程序隧道通过 MPLS 云在路由器之间传输 IP 组播数据,从而在大规模实施中为发送方和接收方路由器之间的组播流量提供更快的路径。
mpls-internet-multicast
路由实例是仅用于控制平面过程的非转发实例;它不支持任何接口配置。只能为逻辑系统定义一个mpls-internet-multicast
路由实例。用于互联网组播的所有组播和单播路由仅与主实例 (inet.0) 关联,而不与路由实例关联。
参与互联网组播的每台路由器都必须配置基于 BGP MPLS 的互联网组播(用于控制平面过程)和入口复制(形成 MPLS 点对点 LSP 的完整网格)。入口复制隧道可以是选择性的,也可以是包容性的,与路由实例中提供者隧道的配置相匹配。
该拓扑由位于 IP 组播域边缘的路由器组成,这些路由器具有一组 IP 接口和一组面向 MPLS 核心的接口,请参阅 图 1。互联网组播流量通过 MPLS 云在 IP 路由器之间传输,对数据平面使用入口复制隧道,在控制平面使用全网状 IGBP 会话。
mpls-internet-multicast
为每个路由器上的默认主实例配置路由实例类型,以支持通过 MPLS 的互联网组播。使用 PIM 作为组播协议时,mpls-internet-multicast
配置语句也包含在[edit protocols pim]
主实例的层次结构级别。这将创建一个将 PIM 与mpls-internet-multicast
路由实例关联的伪接口。
当需要将新目标添加到入口复制提供程序隧道时,生成的行为会有所不同,具体取决于入口复制提供程序隧道的配置方式:
create-new-ucast-tunnel
— 配置此语句后,将创建到目标的新单播隧道,并在不再需要目标时将其删除。对于使用入口复制的 RSVP LSP,请使用此模式。label-switched-path-template (Multicast)
— 配置此语句后,LSP 模板将用于入口复制的点对多点 LSP。

Example: Configure Internet Multicast Using Ingress Replication Tunnels
此示例使用 实例类型 mpls-internet-multicast
配置 VPN-B 。此示例还将 PIM 用于多播协议。
参见
控制多播 VPN 的 PIM 资源概述
服务提供商网络必须保护自己免受配置错误或行为异常的客户边缘 (CE) 设备及其关联的 VPN 路由和转发 (VRF) 路由实例的潜在攻击。行为异常的 CE 设备可能会向提供商边缘 (PE) 设备播发大量组播路由,从而消耗 PE 设备上的内存,并使用网络中为属于其他 VPN 的路由保留的其他系统资源。
要防止特定组播 VPN (MVPN) 的潜在行为异常的客户边缘设备和 VRF 路由实例,您可以控制以下协议无关组播 (PIM) 资源:
限制任何源组 (*,G) 和特定于源的组 (S,G) 接受的 PIM 联接消息数。
请注意设备如何计算 PIM 联接消息:
每个 (*,G) 计为一组接近限制。
每个 (S,G) 计为一组接近极限。
限制为特定 VRF 路由实例接收的 PIM 寄存器消息数。如果设备配置为集合点 (RP) 或有可能成为 RP,请使用此配置。当组播网络中的源变为活动状态时,源的指定路由器 (DR) 将组播数据包封装到 PIM 寄存器消息中,并通过单播将其发送到 RP 路由器。
请注意设备如何对 PIM 寄存器消息进行计数:
RP 接收的每个唯一 (S,G) 联接将计为一个组,计入配置的寄存器消息限制。
DR 为现有或已知 (S,G) 条目发送的定期注册消息不计入配置的注册消息限制。
在超过 PIM 寄存器限制或 PIM 联接限制(如果已配置)之前,将接受寄存器消息。一旦达到任一限制,将丢弃任何新请求。
限制特定 VRF 路由实例中允许的组到 RP 映射数。如果设备配置为 RP 或有可能成为 RP,请使用此配置。此配置可应用于配置为自动 RP 宣布和发现 (Auto-RP) 或作为 PIM 引导路由器的设备。PIM 域中的每个组播设备都必须能够将特定的组播组地址映射到同一 RP。Auto-RP 和自举路由器功能都是用于学习组到 RP 映射集的机制。Auto-RP 通常用于 PIM 密集模式部署,引导路由器通常用于 PIM 稀疏模式部署。
注意:组到 RP 的映射限制不适用于静态 RP 或嵌入式 RP 配置。
关于设备如何计算组到 RP 的映射,需要注意的一些重要事项:
映射到五个 RP 的一个组前缀计为五个组到 RP 的映射。
映射到一个 RP 的五个不同的组前缀计为五个组到 RP 的映射。
达到配置的限制后,除非发生下列情况之一,否则不接受新的 PIM 联接消息、PIM 寄存器消息或组到 RP 的映射:
使用命令清除
clear pim join
当前 PIM 联接状态。如果在为 PIM 寄存器消息限制配置的 RP 上使用此命令,则寄存器限制计数也会重新启动,因为 RP 不知道 PIM 联接消息。注意:在 RP 上,还可以使用
clear pim register
命令清除所有 PIM 寄存器。如果当前 PIM 寄存器计数大于新配置的 PIM 寄存器限制,则此命令很有用。清除 PIM 寄存器后,将收到新的 PIM 寄存器消息,直至达到配置的限制。负责过多 PIM 联接消息和 PIM 寄存器消息的流量将停止,不再存在。
-
谨慎:
切勿重新启动任何软件进程,除非客户支持工程师指示这样做。
在设备上重新启动 PIM 路由过程。此重新启动会清除所有配置的限制,但会中断路由,因此需要更改的维护时段。
PIM 资源的系统日志消息
可以选择为每个 PIM 资源配置系统日志警告阈值。使用此配置,可以生成和查看系统日志消息,以检测设备上是否收到过多的 PIM 联接消息、PIM 寄存器消息或组到 RP 映射。系统日志警告阈值是按 PIM 资源配置的,是 PIM 联接消息、PIM 寄存器消息和组到 RP 映射的已配置最大限制的百分比。可以进一步为每个已配置的 PIM 资源指定日志间隔,即日志消息之间的时间量(以秒为单位)。
日志消息传达何时超过配置的限制、何时超过配置的警告阈值以及何时配置的限制降至配置的警告阈值以下。 表 1 介绍了您可能会看到的不同类型的 PIM 系统消息,具体取决于系统日志警告和日志间隔配置。
系统日志消息 |
定义 |
---|---|
RPD_PIM_SG_THRESHOLD_EXCEED |
记录 (S,G)/(*,G) 路由超过配置的警告阈值。 |
RPD_PIM_REG_THRESH_EXCEED |
PIM 寄存器超过配置的警告阈值时的记录。 |
RPD_PIM_GRP_RP_MAP_THRES_EXCEED |
记录组到 RP 的映射何时超过配置的警告阈值。 |
RPD_PIM_SG_LIMIT_EXCEED |
记录 (S,G)/(*,G) 路由何时超过配置的限制,或者满足配置的日志间隔且路由超出配置的限制。 |
RPD_PIM_REGISTER_LIMIT_EXCEED |
当 PIM 寄存器超过配置的限制时,或者当满足配置的日志间隔且寄存器超过配置的限制时进行记录。 |
RPD_PIM_GRP_RP_MAP_LIMIT_EXCEED |
记录组到 RP 的映射何时超过配置的限制,或者满足配置的日志间隔且映射超过配置的限制。 |
RPD_PIM_SG_LIMIT_BELOW |
记录 (S,G)/(*,G) 路由何时降至配置的限制和配置的日志间隔以下。 |
RPD_PIM_REGISTER_LIMIT_BELOW |
记录 PIM 寄存器何时降至配置的限制和配置的日志间隔以下。 |
RPD_PIM_GRP_RP_MAP_LIMIT_BELOW |
记录组到 RP 的映射何时降至配置的限制和配置的日志间隔以下。 |
示例:配置 PIM 状态限制
此示例说明如何对协议无关组播 (PIM) 状态信息设置限制,以便服务提供商网络可以保护自身免受配置错误或行为异常的客户边缘 (CE) 设备及其关联的 VPN 路由和转发 (VRF) 路由实例的潜在攻击。
要求
配置此示例之前,不需要除设备初始化之外的特殊配置。
概述
在此示例中,配置了基于 BGP 的多协议组播 VPN(下一代 MBGP MVPN),但对 PIM 状态资源进行了限制。
该 sglimit maximum
语句为 vpn-1 路由实例接收的已接受 (*,G) 和 (S,G) PIM 加入状态数设置限制。
该 rp register-limit maximum
语句为 vpn-1 路由实例接收的 PIM 寄存器消息数配置限制。您可以在集合点 (RP) 或可能成为 RP 的所有设备上配置此语句。
该 group-rp-mapping maximum
语句配置 vpn-1 路由实例中允许的组到 RP 映射数限制。
对于每个已配置的 PIM 资源,该 threshold
语句设置在 PIM 日志文件中开始生成警告消息的最大限制的百分比。
对于每个已配置的 PIM 资源,该 log-interval
语句是系统日志消息生成之间的时间量(以秒为单位)。
图 2 显示了此示例中使用的拓扑。

配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
设备 CE1
set interfaces ge-1/2/0 unit 1 family inet address 10.1.1.1/30 set interfaces ge-1/2/0 unit 1 family mpls set interfaces lo0 unit 1 family inet address 192.0.2.1/24 set protocols ospf area 0.0.0.0 interface lo0.1 passive set protocols ospf area 0.0.0.0 interface ge-1/2/0.1 set protocols pim rp static address 203.0.113.1 set protocols pim interface all set routing-options router-id 192.0.2.1
设备 PE1
set interfaces ge-1/2/0 unit 2 family inet address 10.1.1.2/30 set interfaces ge-1/2/0 unit 2 family mpls set interfaces ge-1/2/1 unit 5 family inet address 10.1.1.5/30 set interfaces ge-1/2/1 unit 5 family mpls set interfaces vt-1/2/0 unit 2 family inet set interfaces lo0 unit 2 family inet address 192.0.2.2/24 set interfaces lo0 unit 102 family inet address 203.0.113.1/24 set protocols mpls interface ge-1/2/1.5 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.0.2.2 set protocols bgp group ibgp family inet-vpn any set protocols bgp group ibgp family inet-mvpn signaling set protocols bgp group ibgp neighbor 192.0.2.4 set protocols bgp group ibgp neighbor 192.0.2.5 set protocols ospf area 0.0.0.0 interface lo0.2 passive set protocols ospf area 0.0.0.0 interface ge-1/2/1.5 set protocols ldp interface ge-1/2/1.5 set protocols ldp p2mp set policy-options policy-statement parent_vpn_routes from protocol bgp set policy-options policy-statement parent_vpn_routes then accept set routing-instances vpn-1 instance-type vrf set routing-instances vpn-1 interface ge-1/2/0.2 set routing-instances vpn-1 interface vt-1/2/0.2 set routing-instances vpn-1 interface lo0.102 set routing-instances vpn-1 route-distinguisher 100:100 set routing-instances vpn-1 provider-tunnel ldp-p2mp set routing-instances vpn-1 vrf-target target:1:1 set routing-instances vpn-1 protocols ospf export parent_vpn_routes set routing-instances vpn-1 protocols ospf area 0.0.0.0 interface lo0.102 passive set routing-instances vpn-1 protocols ospf area 0.0.0.0 interface ge-1/2/0.2 set routing-instances vpn-1 protocols pim sglimit family inet maximum 100 set routing-instances vpn-1 protocols pim sglimit family inet threshold 70 set routing-instances vpn-1 protocols pim sglimit family inet log-interval 10 set routing-instances vpn-1 protocols pim rp register-limit family inet maximum 100 set routing-instances vpn-1 protocols pim rp register-limit family inet threshold 80 set routing-instances vpn-1 protocols pim rp register-limit family inet log-interval 10 set routing-instances vpn-1 protocols pim rp group-rp-mapping family inet maximum 100 set routing-instances vpn-1 protocols pim rp group-rp-mapping family inet threshold 80 set routing-instances vpn-1 protocols pim rp group-rp-mapping family inet log-interval 10 set routing-instances vpn-1 protocols pim rp static address 203.0.113.1 set routing-instances vpn-1 protocols pim interface ge-1/2/0.2 mode sparse set routing-instances vpn-1 protocols mvpn set routing-options router-id 192.0.2.2 set routing-options autonomous-system 1001
设备 P
set interfaces ge-1/2/0 unit 6 family inet address 10.1.1.6/30 set interfaces ge-1/2/0 unit 6 family mpls set interfaces ge-1/2/1 unit 9 family inet address 10.1.1.9/30 set interfaces ge-1/2/1 unit 9 family mpls set interfaces ge-1/2/2 unit 13 family inet address 10.1.1.13/30 set interfaces ge-1/2/2 unit 13 family mpls set interfaces lo0 unit 3 family inet address 192.0.2.3/24 set protocols mpls interface ge-1/2/0.6 set protocols mpls interface ge-1/2/1.9 set protocols mpls interface ge-1/2/2.13 set protocols ospf area 0.0.0.0 interface lo0.3 passive set protocols ospf area 0.0.0.0 interface ge-1/2/0.6 set protocols ospf area 0.0.0.0 interface ge-1/2/1.9 set protocols ospf area 0.0.0.0 interface ge-1/2/2.13 set protocols ldp interface ge-1/2/0.6 set protocols ldp interface ge-1/2/1.9 set protocols ldp interface ge-1/2/2.13 set protocols ldp p2mp set routing-options router-id 192.0.2.3
设备 PE2
set interfaces ge-1/2/0 unit 10 family inet address 10.1.1.10/30 set interfaces ge-1/2/0 unit 10 family mpls set interfaces ge-1/2/1 unit 17 family inet address 10.1.1.17/30 set interfaces ge-1/2/1 unit 17 family mpls set interfaces vt-1/2/0 unit 4 family inet set interfaces lo0 unit 4 family inet address 192.0.2.4/24 set interfaces lo0 unit 104 family inet address 203.0.113.4/24 set protocols mpls interface ge-1/2/0.10 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.0.2.4 set protocols bgp group ibgp family inet-vpn any set protocols bgp group ibgp family inet-mvpn signaling set protocols bgp group ibgp neighbor 192.0.2.2 set protocols bgp group ibgp neighbor 192.0.2.5 set protocols ospf area 0.0.0.0 interface lo0.4 passive set protocols ospf area 0.0.0.0 interface ge-1/2/0.10 set protocols ldp interface ge-1/2/0.10 set protocols ldp p2mp set policy-options policy-statement parent_vpn_routes from protocol bgp set policy-options policy-statement parent_vpn_routes then accept set routing-instances vpn-1 instance-type vrf set routing-instances vpn-1 interface vt-1/2/0.4 set routing-instances vpn-1 interface ge-1/2/1.17 set routing-instances vpn-1 interface lo0.104 set routing-instances vpn-1 route-distinguisher 100:100 set routing-instances vpn-1 vrf-target target:1:1 set routing-instances vpn-1 protocols ospf export parent_vpn_routes set routing-instances vpn-1 protocols ospf area 0.0.0.0 interface lo0.104 passive set routing-instances vpn-1 protocols ospf area 0.0.0.0 interface ge-1/2/1.17 set routing-instances vpn-1 protocols pim rp group-rp-mapping family inet maximum 100 set routing-instances vpn-1 protocols pim rp group-rp-mapping family inet threshold 80 set routing-instances vpn-1 protocols pim rp group-rp-mapping family inet log-interval 10 set routing-instances vpn-1 protocols pim rp static address 203.0.113.1 set routing-instances vpn-1 protocols pim interface ge-1/2/1.17 mode sparse set routing-instances vpn-1 protocols mvpn set routing-options router-id 192.0.2.4 set routing-options autonomous-system 1001
设备 PE3
set interfaces ge-1/2/0 unit 14 family inet address 10.1.1.14/30 set interfaces ge-1/2/0 unit 14 family mpls set interfaces ge-1/2/1 unit 21 family inet address 10.1.1.21/30 set interfaces ge-1/2/1 unit 21 family mpls set interfaces vt-1/2/0 unit 5 family inet set interfaces lo0 unit 5 family inet address 192.0.2.5/24 set interfaces lo0 unit 105 family inet address 203.0.113.5/24 set protocols mpls interface ge-1/2/0.14 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.0.2.5 set protocols bgp group ibgp family inet-vpn any set protocols bgp group ibgp family inet-mvpn signaling set protocols bgp group ibgp neighbor 192.0.2.2 set protocols bgp group ibgp neighbor 192.0.2.4 set protocols ospf area 0.0.0.0 interface lo0.5 passive set protocols ospf area 0.0.0.0 interface ge-1/2/0.14 set protocols ldp interface ge-1/2/0.14 set protocols ldp p2mp set policy-options policy-statement parent_vpn_routes from protocol bgp set policy-options policy-statement parent_vpn_routes then accept set routing-instances vpn-1 instance-type vrf set routing-instances vpn-1 interface vt-1/2/0.5 set routing-instances vpn-1 interface ge-1/2/1.21 set routing-instances vpn-1 interface lo0.105 set routing-instances vpn-1 route-distinguisher 100:100 set routing-instances vpn-1 vrf-target target:1:1 set routing-instances vpn-1 protocols ospf export parent_vpn_routes set routing-instances vpn-1 protocols ospf area 0.0.0.0 interface lo0.105 passive set routing-instances vpn-1 protocols ospf area 0.0.0.0 interface ge-1/2/1.21 set routing-instances vpn-1 protocols pim rp static address 203.0.113.1 set routing-instances vpn-1 protocols pim interface ge-1/2/1.21 mode sparse set routing-instances vpn-1 protocols mvpn set routing-options router-id 192.0.2.5 set routing-options autonomous-system 1001
设备 CE2
set interfaces ge-1/2/0 unit 18 family inet address 10.1.1.18/30 set interfaces ge-1/2/0 unit 18 family mpls set interfaces lo0 unit 6 family inet address 192.0.2.6/24 set protocols sap listen 192.168.0.0 set protocols ospf area 0.0.0.0 interface lo0.6 passive set protocols ospf area 0.0.0.0 interface ge-1/2/0.18 set protocols pim rp static address 203.0.113.1 set protocols pim interface all set routing-options router-id 192.0.2.6
设备 CE3
set interfaces ge-1/2/0 unit 22 family inet address 10.1.1.22/30 set interfaces ge-1/2/0 unit 22 family mpls set interfaces lo0 unit 7 family inet address 192.0.2.7/24 set protocols ospf area 0.0.0.0 interface lo0.7 passive set protocols ospf area 0.0.0.0 interface ge-1/2/0.22 set protocols pim rp static address 203.0.113.1 set protocols pim interface all set routing-options router-id 192.0.2.7
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
若要配置 PIM 状态限制,请执行以下操作:
配置网络接口。
[edit interfaces] user@PE1# set ge-1/2/0 unit 2 family inet address 10.1.1.2/30 user@PE1# set ge-1/2/0 unit 2 family mpls user@PE1# set ge-1/2/1 unit 5 family inet address 10.1.1.5/30 user@PE1# set ge-1/2/1 unit 5 family mpls user@PE1# set vt-1/2/0 unit 2 family inet user@PE1# set lo0 unit 2 family inet address 192.0.2.2/24 user@PE1# set lo0 unit 102 family inet address 203.0.113.1/24
在面向核心的接口上配置 MPLS。
[edit protocols mpls] user@PE1# set interface ge-1/2/1.5
在主路由器上配置内部 BGP (IBGP)。
IBGP 邻居是其他 PE 设备。
[edit protocols bgp group ibgp] user@PE1# set type internal user@PE1# set local-address 192.0.2.2 user@PE1# set family inet-vpn any user@PE1# set family inet-mvpn signaling user@PE1# set neighbor 192.0.2.4 user@PE1# set neighbor 192.0.2.5
在主路由器上配置 OSPF。
[edit protocols ospf area 0.0.0.0] user@PE1# set interface lo0.2 passive user@PE1# set interface ge-1/2/1.5
在主路由器上配置信令协议(RSVP 或 LDP)。
[edit protocols ldp] user@PE1# set interface ge-1/2/1.5 user@PE1# set p2mp
配置 BGP 导出策略。
[edit policy-options policy-statement parent_vpn_routes] user@PE1# set from protocol bgp user@PE1# set then accept
配置路由实例。
面向客户的接口和 BGP 导出策略在路由实例中引用。
[edit routing-instances vpn-1] user@PE1# set instance-type vrf user@PE1# set interface ge-1/2/0.2 user@PE1# set interface vt-1/2/0.2 user@PE1# set interface lo0.102 user@PE1# set route-distinguisher 100:100 user@PE1# set provider-tunnel ldp-p2mp user@PE1# set vrf-target target:1:1 user@PE1# set protocols ospf export parent_vpn_routes user@PE1# set protocols ospf area 0.0.0.0 interface lo0.102 passive user@PE1# set protocols ospf area 0.0.0.0 interface ge-1/2/0.2 user@PE1# set protocols pim rp static address 203.0.113.1 user@PE1# set protocols pim interface ge-1/2/0.2 mode sparse user@PE1# set protocols mvpn
配置 PIM 状态限制。
[edit routing-instances vpn-1 protocols pim] user@PE1# set sglimit family inet maximum 100 user@PE1# set sglimit family inet threshold 70 user@PE1# set sglimit family inet log-interval 10 user@PE1# set rp register-limit family inet maximum 100 user@PE1# set rp register-limit family inet threshold 80 user@PE1# set rp register-limit family inet log-interval 10 user@PE1# set rp group-rp-mapping family inet maximum 100 user@PE1# set rp group-rp-mapping family inet threshold 80 user@PE1# set rp group-rp-mapping family inet log-interval 10
配置路由器 ID 和 AS 编号。
[edit routing-options] user@PE1# set router-id 192.0.2.2 user@PE1# set autonomous-system 1001
结果
在配置模式下,输入 show interfaces
、 、 show routing-instances
show protocols
show policy-options
和show routing-options
命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
user@PE1# show interfaces
ge-1/2/0 {
unit 2 {
family inet {
address 10.1.1.2/30;
}
family mpls;
}
}
ge-1/2/1 {
unit 5 {
family inet {
address 10.1.1.5/30;
}
family mpls;
}
}
vt-1/2/0 {
unit 2 {
family inet;
}
}
lo0 {
unit 2 {
family inet {
address 192.0.2.2/24;
}
}
unit 102 {
family inet {
address 203.0.113.1/24;
}
}
}
user@PE1# show protocols
mpls {
interface ge-1/2/1.5;
}
bgp {
group ibgp {
type internal;
local-address 192.0.2.2;
family inet-vpn {
any;
}
family inet-mvpn {
signaling;
}
neighbor 192.0.2.4;
neighbor 192.0.2.5;
}
}
ospf {
area 0.0.0.0 {
interface lo0.2 {
passive;
}
interface ge-1/2/1.5;
}
}
ldp {
interface ge-1/2/1.5;
p2mp;
}
user@PE1# show policy-options
policy-statement parent_vpn_routes {
from protocol bgp;
then accept;
}
user@PE1# show routing-instances
vpn-1 {
instance-type vrf;
interface ge-1/2/0.2;
interface vt-1/2/0.2;
interface lo0.102;
route-distinguisher 100:100;
provider-tunnel {
ldp-p2mp;
}
vrf-target target:1:1;
protocols {
ospf {
export parent_vpn_routes;
area 0.0.0.0 {
interface lo0.102 {
passive;
}
interface ge-1/2/0.2;
}
}
pim {
sglimit {
family inet {
maximum 100;
threshold 70;
log-interval 10;
}
}
rp {
register-limit {
family inet {
maximum 100;
threshold 80;
log-interval 10;
}
}
group-rp-mapping {
family inet {
maximum 100;
threshold 80;
log-interval 10;
}
}
static {
address 203.0.113.1;
}
}
interface ge-1/2/0.2 {
mode sparse;
}
}
mvpn;
}
}
user@PE1# show routing-options
router-id 192.0.2.2;
autonomous-system 1001;
如果完成设备配置,请从配置模式输入 commit 。
验证
确认配置工作正常。
监视 PIM 状态信息
目的
验证计数器是否按预期设置且未超过配置的限制。
行动
在操作模式下,输入 show pim statistics
命令。
user@PE1> show pim statistics instance vpn-1 PIM Message type Received Sent Rx errors V2 Hello 393 390 0 ... V4 (S,G) Maximum 100 V4 (S,G) Accepted 0 V4 (S,G) Threshold 70 V4 (S,G) Log Interval 10 V4 (grp-prefix, RP) Maximum 100 V4 (grp-prefix, RP) Accepted 0 V4 (grp-prefix, RP) Threshold 80 V4 (grp-prefix, RP) Log Interval 10 V4 Register Maximum 100 V4 Register Accepted 0 V4 Register Threshold 80 V4 Register Log Interval 10
意义
V4 (S,G) 最大值字段显示 VPN 路由实例接受的最大 (S,G) IPv4 组播路由数。如果满足此数字,则不接受其他 (S,G) 条目。
V4 (S,G) 接受字段显示接受的 (S,G) IPv4 组播路由的数量。
V4 (S,G) 阈值字段显示记录警告消息的阈值(设备接受的最大 (S,G) IPv4 组播路由数的百分比)。
V4 (S,G) 日志间隔字段显示连续日志消息之间的时间(以秒为单位)。
V4(grp 前缀,RP)最大值字段显示 VRF 路由实例接受的组到集合点 (RP) IPv4 组播映射的最大数量。如果满足此数字,则不接受其他映射。
V4(grp 前缀,RP)接受字段显示接受的组到 RP IPv4 组播映射的数量。
V4(grp 前缀,RP)阈值字段显示记录警告消息的阈值(设备接受的组到 RP IPv4 组播映射的最大数量的百分比)。
V4(grp 前缀,RP)日志间隔字段显示连续日志消息之间的时间(以秒为单位)。
“V4 寄存器最大值”字段显示 VRF 路由实例接受的最大 IPv4 PIM 寄存器数。如果满足此数字,则不接受其他 PIM 寄存器。您可以在 RP 上配置寄存器限制。
“V4 已接受寄存器”字段显示已接受的 IPv4 PIM 寄存器数。
“V4 寄存器阈值”字段显示记录警告消息的阈值(设备接受的最大 IPv4 PIM 寄存器数的百分比)。
“V4 注册日志间隔”字段显示连续日志消息之间的时间(以秒为单位)。
了解为 MBGP MVPN 配置选择性点对多点 LSP 的通配符
选择性 LSP 也称为选择性提供商隧道。选择性提供商隧道从 VPN 中的某些组播组传输流量,并且仅扩展到具有这些组接收器的 PE 路由器。您可以为组前缀和源前缀配置选择性提供程序隧道,也可以对组和源使用通配符,如互联网草案 draft-rekhter-mvpn-wildcard-spmsi-01.txt 中所述,在 S-PMSI 自动发现路由中使用通配符。
以下各节介绍对选择性提供程序隧道使用通配符时的方案和特殊注意事项。
- 关于 S-PMSI
- 使用通配符 S-PMSI 的方案
- 通配符 S-PMSI 的类型
- 通配符 S-PMSI 和 (S,G) S-PMSI 之间的差异
- 通配符 (*,*) S-PMSI 和 PIM 密集模式
- 通配符 (*,*) S-PMSI 和 PIM-BSR
- 通配符源和 0.0.0.0/0 源前缀
关于 S-PMSI
提供商组播服务接口 (PMSI) 是一个 BGP 隧道属性,其中包含 PE 路由器用于通过提供商网络核心传输流量的隧道 ID。选择性 PMSI (S-PMSI) 自动发现路由将给定 MVPN 客户组播流的绑定播发至特定提供商隧道。入口 PE 路由器通告的 S-PMSI 自动发现路由包含客户源和派生自源树客户组播路由的客户组的 /32 个 IPv4 或 /128 个 IPv6 地址。
图 3 显示了一个简单的 MVPN 拓扑。入口路由器 PE1 源自 S-PMSI 自动发现路由。出口路由器 PE2 和 PE3 由于从未显示在拓扑中的客户边缘设备接收加入消息,因此具有加入状态。为了响应 PE1、PE2 和 PE3 发送的 S-PMSI 自动发现路由通告,请根据加入状态选择是否加入隧道。选择性提供程序隧道配置在 PE1 上的 VRF 实例中配置。
MVPN 模式配置(RPT-SPT 或仅 SPT)在所有三个 PE 路由器上为组成 VPN 的所有 VRF 进行配置。如果省略 MVPN 模式配置,则默认模式仅为 SPT。

使用通配符 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 源前缀和通配符源。例如,配置可能如下所示:
routing-instances { vpna { provider-tunnel { selective { group 203.0.113.0/24 { source 0.0.0.0/0 { rsvp-te { label-switched-path-template { sptnl3; } } } wildcard-source { rsvp-te { label-switched-path-template { sptnl2; } static-lsp point-to-multipoint-lsp-name; } threshold-rate kbps; } } } } } }
和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 自动发现路由的数量,从而提高控制平面的可扩展性。
要使用通配符配置选择性提供程序隧道,请执行以下操作:
示例:使用通配符配置选择性提供程序隧道
使用 (*,G) 和 (*,*) S-PMSI,客户组播加入消息可以匹配多个 S-PMSI。在这种情况下,客户组播加入消息绑定到最长匹配的 S-PMSI。最长的匹配是 (S,G) S-PMSI,然后是 (*,G) S-PMSI 和 (*,*) S-PMSI,按此顺序排列。
请考虑以下配置:
routing-instances { vpna { provider-tunnel { selective { wildcard-group-inet { wildcard-source { rsvp-te { label-switched-path-template { sptnl1; } } } } group 203.0.113.0/24 { wildcard-source { rsvp-te { label-switched-path-template { sptnl2; } } } source 10.1.1/24 { rsvp-te { label-switched-path-template { sptnl3; } } } } } } } }
对于此配置,最长匹配规则的工作方式如下:
客户组播(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 路由器上进行一致的客户组播映射。
为 MBGP MVPN 配置 NLRI 参数
要在多协议 BGP 为 IPv4 地址族携带组播 VPN NLRI 的情况下启用 VPN 信令,请包含以下 family inet-mvpn
语句:
inet-mvpn { signaling { accepted-prefix-limit { maximum number; teardown percentage { idle-timeout (forever | minutes); } } loops number; prefix-limit { maximum number; teardown percentage { idle-timeout (forever | minutes); } } } }
要在多协议 BGP 为 IPv6 地址家族承载组播 VPN NLRI 的情况下启用 VPN 信令,请包含以下 family inet6-mvpn
语句:
inet6-mvpn { signaling { accepted-prefix-limit { maximum number; teardown percentage { idle-timeout (forever | minutes); } } loops number prefix-limit { maximum number; teardown percentage { idle-timeout (forever | minutes); } } } }