示例:配置 PIM 稀疏模式
了解 PIM 稀疏模式
协议无关组播 (PIM) 稀疏模式域使用反向路径转发 (RPF) 创建从数据源到请求数据的接收方的路径。当接收方发出显式加入请求时,将触发 RPF 检查。(*,G) PIM 加入消息从接收方的指定路由器 (DR) 发送到 RP。(根据定义,此消息实际上称为 join/prune 消息,但为了清楚起见,根据其上下文,它被称为 join 或 prune。加入消息通过每个路由器的 RPF 接口逐跳组播到所有 PIM 路由器组 (224.0.0.13),直到到达 RP。RP 路由器接收 (*,G) PIM 加入消息,并将接收该消息的接口添加到集合点树 (RPT) 转发状态条目的传出接口列表 (OIL) 中。这将构建连接接收器和 RP 的 RPT。即使没有活动源生成流量,RPT 仍然有效。
状态(*,G) 或 (S,G) 条目)是用于转发单播或组播数据包的信息。S 是源 IP 地址,G 是组播组地址,* 表示发送到组 G 的任何源。路由器跟踪每个组的传入和传出接口的组播转发状态。
当源变为活动状态时,源 DR 将组播数据包封装到 PIM 寄存器消息中,并通过单播将其发送到 RP 路由器。
如果 RP 路由器在 PIM 稀疏模式域中具有感兴趣的接收器,它将向源发送 PIM 联接消息,以构建回源的最短路径树 (SPT)。源在 LAN 上发送组播数据包,源 DR 将数据包封装在 PIM 寄存器消息中,并通过单播将消息转发到 RP 路由器。RP 路由器接收从源返回的 PIM 寄存器消息,从而向分发树添加新源,从而跟踪 PIM 表中的源。一旦 RP 路由器以本机方式(使用 S,G)接收数据包,它就会发送寄存器停止消息,以停止通过单播方式接收寄存器消息。
在实际应用中,许多具有多个 SPT 的接收方都参与组播流量。为了说明该过程,我们跟踪从 RP 路由器到一个接收器的组播流量。在这种情况下,RP 路由器开始沿 RPT 向接收方的 DR 发送组播数据包,以便传送给感兴趣的接收方。当接收方的 DR 从 RPT 收到第一个数据包时,DR 会向源 DR 发送 PIM 联接消息,以开始构建回源的 SPT。当源 DR 从接收方的 DR 收到 PIM 联接消息时,它将开始沿所有 SPT 发送流量。当接收方的 DR 收到第一个组播数据包时,接收方的 DR 会向 RP 路由器发送 PIM 修剪消息,以阻止通过 RPT 发送重复数据包。反过来,RP 路由器停止向接收方的 DR 发送组播数据包,并通过 RPT 向源 DR 发送此源的 PIM 修剪消息,以停止从该特定源向 RP 路由器发送组播数据包。
如果 RP 路由器从活动源接收 PIM 寄存器消息,但在 PIM 稀疏模式域中没有感兴趣的接收方,它仍会将活动源添加到 PIM 表中。但是,将活动源添加到 PIM 表后,RP 路由器会发送寄存器停止消息。RP 路由器发现活动源的存在,不再需要接收源的播发(这会利用资源)。
如果 PIM 加入消息的数量超过配置的 MTU,则会在 IPv6 PIM 稀疏模式下对消息进行分段。为避免 PIM 加入消息分段,组播流量接收接口 MTU,而不是路径 MTU。
PIM 稀疏模式的主要特征如下:
具有下游接收器的路由器通过显式加入消息加入 PIM 稀疏模式树。
PIM 稀疏模式 RP 是接收器与源相遇的路由器。
发送方向一个或多个 RP 宣布其存在,接收方查询 RP 以查找组播会话。
接收方通过 RP 从源获取内容后,如果新的基于源的树 (S,G) 较短,则最后一跃点路由器(最靠近接收方的路由器)可以选择从共享分布树 (*,G) 中删除 RP。然后,接收者可以直接从源获取内容。
PIM 稀疏模式从共享树过渡到基于源的树是 PIM 的主要功能之一,因为它可以防止 RP 或周围核心链接过载。
使用稀疏模式组播时,存在有关源、RP 和接收器的相关问题:
源必须能够发送到所有 RP。
RP 必须彼此认识。
接收方必须向已知 RP 发送显式加入消息。
接收者最初只需要知道一个 RP(他们后来了解其他 RP)。
接收器可以从树中显式修剪自己。
从不转换到基于源的树的接收器正在有效地运行基于核心的树 (CBT)。
PIM 稀疏模式具有针对所有这些问题的标准功能。
会合点
RP 路由器充当其他路由器的信息交换点。PIM 域中的所有路由器都必须提供到 RP 路由器的映射。它是唯一需要知道域的活动源的路由器,其他路由器只需要知道如何访问 RP。这样,RP 将接收器与源匹配。
RP 路由器位于源的下游,形成最短路径树的一端。 如图 1 所示,RP 路由器位于接收器的上游,因此形成集合点树的一端。

使用 RP 作为信息交换点的好处是,它可以减少非 RP 路由器中的状态量。无需网络泛洪即可提供有关活动源的非 RP 路由器信息。
RP 映射选项
可以通过以下机制之一学习 RP:
静态配置
任播 RP
自动 RP
引导路由器
我们建议使用任播 RP 的静态 RP 映射和具有自动 RP 配置的引导路由器 (BSR),因为静态映射提供了引导路由器和自动 RP 的所有优势,而没有完整的 BSR 和自动 RP 机制的复杂性。
参见
了解指定路由器
在 PIM 稀疏模式 (PIM-SM) 域中,需要考虑两种类型的指定路由器 (DR):
接收方 DR 将 PIM 加入和 PIM 修剪消息从接收方网络发送到 RP。
源 DR 将 PIM 寄存器消息从源网络发送到 RP。
相邻 PIM 路由器每隔 30 秒组播定期 PIM 你好消息(默认值)。PIM 你好消息通常包含供邻居使用的保持时间值,但这不是必需的。如果 PIM 你好消息不包含保持时间值,则使用默认超时值(在 Junos OS 中为 105 秒)。收到 PIM 你好消息后,路由器会存储该邻居的 IP 地址和优先级。如果 DR 优先级匹配,则选择具有最高 IP 地址的路由器作为 DR。
如果 DR 失败,则使用比较 IP 地址的相同过程选择新的 DR。
DR 优先级特定于 PIM 稀疏模式;根据 RFC 3973,无法在 IGMPv2 的 PIM 密集模式 (PIM-DM) 中显式配置 PIM DR 优先级 – PIM-DM 仅支持具有 IGMPv1 的 DR。
隧道服务 PIC 和组播
在瞻博网络路由器上,数据包通过硬件而非路由器处理器上运行的软件进行封装和解封装到隧道中。用于在 M 系列和 T 系列路由器上创建隧道接口的硬件是隧道服务 PIC。如果将瞻博网络 M 系列多服务边缘路由器和瞻博网络 T 系列核心路由器配置为集合点或连接到源的 IP 版本 4 (IPv4) PIM 稀疏模式 GOR,则需要隧道服务 PIC。瞻博网络 MX 系列以太网服务路由器不需要隧道服务 PIC。但是,在 MX 系列路由器上,您必须在层次结构级别的一个或多个联机 FPC 和 PIC 组合[edit chassis fpc number pic number]
上使用该语句启用tunnel-services
隧道服务。
为实现冗余,我们强烈建议每个路由设备具有多个隧道服务 PIC。对于 MX 系列路由器,建议配置多个 tunnel-services
语句。
我们还建议在不同的 FPC 上安装(或配置)隧道 PIC。如果只有一个隧道 PIC,或者在单个 FPC 上安装了多个隧道 PIC,然后移除了该 FPC,则组播会话将不会启动。在单独的 FPC 上安装冗余隧道 PIC 有助于确保至少有一个隧道 PIC 可用,并且组播将继续工作。
在 MX 系列路由器上,冗余配置如以下示例所示:
[edit chassis] user@mx-host# set fpc 1 pic 0 tunnel-services bandwidth 1g user@mx-host# set fpc 2 pic 0 tunnel-services bandwidth 1g
在 PIM 稀疏模式下,源 DR 采用初始组播数据包并将其封装在 PIM 寄存器消息中。然后,源 DR 将数据包单播到 PIM 稀疏模式 RP 路由器,PIM 寄存器消息将在其中解封装。
如果将路由器配置为 PIM 稀疏模式 RP 路由器(通过在层次结构级别使用[edit protocols pim rp local]
语句指定地址address
),并且路由器上存在隧道 PIC,则会自动创建 PIM 寄存器解封装接口或 pd 接口。pd 接口接收 PIM 寄存器消息,并通过硬件对其进行解封装。
如果启用了 PIM 稀疏模式,并且路由器上存在隧道服务 PIC,则会自动为每个 RP 地址创建一个 PIM 寄存器封装接口(pe 接口)。 PE 接口用于封装源数据包,并将数据包发送到 PIM DR 和 PIM RP 上的 RP 地址。 PE 接口接收 PIM 寄存器消息,并通过硬件封装数据包。
不要将可配置的 pe 和 pd 硬件接口与不可配置的 pime 和 pimd 软件接口混淆。这两个对封装和解封装组播数据包,并自动创建。但是,仅当存在隧道服务 PIC 时, 才会显示 pe 和 pd 接口。 pime 和 pimd 接口在需要 pe 和 pd 接口的情况下没有用。
如果源 DR 是 RP,则不需要 PIM 寄存器消息,因此也不需要隧道服务 PIC。
当 PIM 稀疏模式与 IP 版本 6 (IPv6) 一起使用时,RP 上需要隧道 PIC,但 IPv6 PIM DR 上不需要隧道 PIC。IPv6 DR 上缺少隧道 PIC 要求仅适用于 IPv6 PIM 稀疏模式,不要与 IPv4 PIM 稀疏模式要求混淆。
表 1 显示了 IPv4 和 IPv6 PIM 隧道 PIC 要求的完整矩阵。
IP 版本 |
RP 上的隧道 PIC |
灾难恢复上的隧道 PIC |
---|---|---|
IPv4 |
是的 |
是的 |
IPv6 |
是的 |
不 |
启用 PIM 稀疏模式
在 PIM 稀疏模式 (PIM-SM) 中,假设很少有可能的接收方需要来自源的数据包,因此网络仅在至少具有一个叶子的分支上建立和发送数据包(通过消息)指示对流量的需求。WAN 是适合稀疏模式操作的网络。
从 Junos OS 16.1 版开始,PIM 默认处于禁用状态。启用 PIM 时,默认情况下它会在稀疏模式下运行。您不需要为稀疏模式配置互联网组管理协议 (IGMP) 版本 2。启用 PIM 后,默认情况下,还会启用 IGMP 版本 2。
Junos OS 将 PIM 版本 2 用于集合点 (RP) 模式([edit protocols pim rp static address address]
在层次结构级别)和接口模式(在层次结构级别)。[edit protocols pim interface interface-name]
子网上的所有系统都必须运行相同版本的 PIM。
可以全局配置 PIM 稀疏模式,也可以为路由实例配置 PIM 稀疏模式。此示例演示如何在所有接口上全局配置 PIM 稀疏模式。它还展示了如何配置静态 RP 路由器以及如何配置非 RP 路由器。
要为 PIM 稀疏模式配置路由器属性,请执行以下操作:
参见
配置 PIM 联接负载平衡
默认情况下,PIM 联接消息将根据 RPF 路由表检查发送到源。如果有多个通向源的等价路径,则选择一个上游接口来发送加入消息。此接口还用于所有下游流量,因此即使有备用接口可用,组播负载也集中在一个上游接口和路由设备上。
对于 PIM 稀疏模式,可以配置 PIM 联接负载平衡,以通过单播路由提供的等价上游路径(接口和路由设备)将联接消息和流量传播到源。PIM 联接负载平衡仅支持 PIM 稀疏模式配置。
草案 Rosen 组播 VPN(也称为双 PIM 组播 VPN)和基于 BGP 的多协议组播 VPN(也称为下一代第 3 层 VPN 组播)支持 PIM 加入负载平衡。在草稿 Rosen 第 3 层 VPN 方案中启用 PIM 加入负载平衡时,将根据远端 PE 路由设备的加入计数实现负载平衡,而不是基于任何中间 P 路由设备的加入计数。
如果内部 BGP (IBGP) 多路径转发 VPN 路由可用,Junos OS 将使用多路径转发 VPN 路由将加入消息发送到远程 PE 路由器,以实现 VPN 负载平衡。
默认情况下,当收到不同组的多个 PIM 联接时,所有联接都将发送到单播路由协议选择的同一上游网关。即使有多个等价路径可用,这些备用路径也不会用于将组播流量从源分发到各个组。
配置 PIM 联接负载平衡后,PIM 联接将在所有等价上游接口和邻接方之间平均分配。每个新连接都会触发负载最少的上游接口和邻居的选择。如果同一接口上有多个邻接方(例如,在 LAN 上),则加入负载平衡会为每个邻接方保留一个值,并在这些邻接方之间分配组播加入(和下游流量)。
接口和邻接方的联接计数是全局维护的,而不是按源维护的。因此,不能保证特定源的联接是负载平衡的。但是,路由设备已知的所有源和所有组的联接都是负载平衡的。也没有办法在行政上优先考虑一个邻居而不是另一个邻居:所有等价路径都以相同的方式处理。
您可以全局配置消息筛选,也可以为路由实例配置消息筛选。此示例显示全局配置。
您可以在 PIM 域中的非 RP 路由器上配置 PIM 加入负载平衡。
参见
修改联接状态超时
本节介绍如何配置加入状态超时。
下游路由器定期发送加入消息以刷新上游路由器上的加入状态。如果在超时到期之前未刷新联接状态,则会删除联接状态。
默认情况下,联接状态超时为 210 秒。您可以更改此超时,以留出更多时间来接收加入消息。由于消息称为联接-修剪消息,因此使用的名称是 join-prune-timeout
语句。
要修改超时,请包含以下 join-prune-timeout
语句:
user@host# set protocols pim join-prune-timeout 230
联接超时值可以从 210 秒到 420 秒。
参见
示例:启用联接抑制
此示例介绍如何启用 PIM 联接抑制。
要求
准备工作:
配置路由器接口。
配置内部网关协议或静态路由。请参阅 Junos OS 路由协议库了解路由设备。
在接口上配置 PIM 稀疏模式。请参阅 启用 PIM 稀疏模式。
概述
PIM 加入抑制使多路访问网络上的路由器能够在同一网络上看到相同的加入消息时延迟向上游路由器发送加入消息。最终,只有一个路由器发送这些加入消息,其他路由器抑制相同的消息。限制加入消息的数量可以通过减少发送到同一路由器的消息数量来提高可扩展性和效率。
此示例包括以下语句:
覆盖间隔 - 设置延迟发送覆盖加入消息的最长时间(以毫秒为单位)。当路由器看到当前正在抑制的加入的修剪消息时,它会等待再发送覆盖加入消息。等待有助于避免多个下游路由器同时发送覆盖加入消息。覆盖间隔是一个随机计时器,其值为 0 到最大覆盖值。
传播延迟 — 为修剪挂起计时器设置一个以毫秒为单位的值,该计时器指定在上游路由器上执行修剪之前要等待的时间。在此期间,路由器将等待当前可能抑制的任何修剪覆盖加入消息。修剪挂起计时器的时间段是 覆盖间隔 值和为 传播延迟指定的值之和。
重置跟踪位 — 在每个多路访问下游接口上启用 PIM 联接抑制。此语句将 LAN 修剪延迟你好选项上的跟踪位字段(T 位)从默认值 1(禁用加入抑制)重置为 0(启用加入抑制)。
当收到多个相同的联接消息时,将激活随机联接抑制计时器,其范围为 66 到 84 毫秒。每次触发联接抑制时,计时器都会重置。
拓扑学
图 2 显示了此示例中使用的拓扑。

图中的项表示以下功能:
主机 0 是组播源。
主机 1、主机 2、主机 3 和主机 4 是接收器。
路由器 R0 是第一跃点路由器和 RP。
路由器 R1 是上游路由器。
路由器 R2、R3、R4 和 R5 是组播 LAN 中的下游路由器。
此示例显示了下游设备的配置:路由器 R2、R3、R4 和 R5。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
[edit] set protocols pim traceoptions file pim.log set protocols pim traceoptions file size 5m set protocols pim traceoptions file world-readable set protocols pim traceoptions flag join detail set protocols pim traceoptions flag prune detail set protocols pim traceoptions flag normal detail set protocols pim traceoptions flag register detail set protocols pim rp static address 10.255.112.160 set protocols pim interface all mode sparse set protocols pim interface all version 2 set protocols pim interface fxp0.0 disable set protocols pim reset-tracking-bit set protocols pim propagation-delay 500 set protocols pim override-interval 4000
程序
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要在组播 LAN 中的非 RP 下游路由器上配置 PIM 加入抑制,请执行以下操作:
在接口上配置 PIM 稀疏模式。
[edit] user@host# edit protocols pim [edit protocols pim] user@host# set rp static address 10.255.112.160 [edit protocols pim] user@host# set interface all mode sparse version 2 [edit protocols pim] user@host# set interface all version 2 [edit protocols pim] user@host# set interface fxp0.0 disable
启用联接抑制计时器。
[edit protocols pim] user@host# set reset-tracking-bit
配置修剪覆盖间隔值。
[edit protocols pim] user@host# set override-interval 4000
配置链路的传播延迟。
[edit protocols pim] user@host# set propagation-delay 500
(可选)配置 PIM 跟踪操作。
[edit protocols pim] user@host# set traceoptions file pim.log size 5m world-readable [edit protocols pim] user@host# set traceoptions flag join detail [edit protocols pim] user@host# set traceoptions flag normal detail [edit protocols pim] user@host# set traceoptions flag register detail
如果完成设备配置,请提交配置。
[edit protocols pim] user@host# commit
结果
在配置模式下,输入 show protocols
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show protocols pim { traceoptions { file pim.log size 5m world-readable; flag join detail; flag prune detail; flag normal detail; flag register detail; } rp { static { address 10.255.112.160; } } interface all { mode sparse; version 2; } interface fxp0.0 { disable; } reset-tracking-bit; propagation-delay 500; override-interval 4000; }
验证
要验证配置,请在上游和下游路由器上运行以下命令:
显示 PIM 加入广泛
显示组播路由扩展
示例:通过 IPsec VPN 配置 PIM 稀疏模式
IPsec VPN 通过互联网在站点之间创建安全的点对点连接。IPsec VPN 的 Junos OS 实施支持组播和单播流量。以下示例演示如何为多播解决方案配置 PIM 稀疏模式,以及如何配置 IPsec 以保护流量。
此示例中显示的配置适用于以下平台:
具有以下 PIC 之一的 M 系列和 T 系列路由器:
自适应服务 (AS) PIC
多服务 (MS) PIC
具有多服务 PIC (MS-500) 的JCS1200平台
隧道端点不需要是相同的平台类型。例如,隧道一端的设备可以是JCS1200路由器,而另一端的设备可以是独立的 T 系列路由器。作为隧道端点的两个路由器可以位于同一自治系统中,也可以位于不同的自治系统中。
在本示例所示的配置中,OSPF 是在隧道端点之间配置的。 在图 3 中,隧道端点为 R0 和 R1。包含组播源的网络连接到 R0。包含组播接收器的网络连接到 R1。R1 用作静态配置的集合点 (RP)。

要使用 IPsec 配置 PIM 稀疏模式,请执行以下操作:
在 R0 上,配置传入千兆以太网接口。
[edit interfaces] user@host# set ge-0/1/1 description "incoming interface" user@host# set ge-0/1/1 unit 0 family inet address 10.20.0.1/30
在 R0 上,配置传出千兆以太网接口。
[edit interfaces] user@host# set ge-0/0/7 description "outgoing interface" user@host# set ge-0/0/7 unit 0 family inet address 10.10.1.1/30
在 R0 上,在 sp- 接口上配置单元 0。Junos OS 使用单元 0 进行服务日志记录和来自服务 PIC 的其他通信。
[edit interfaces] user@host# set sp-0/2/0 unit 0 family inet
在 R0 上,配置参与 IPsec 服务的逻辑接口。在此示例中,单元 1 是朝内的接口。单元 1001 是面向远程 IPsec 站点的接口。
[edit interfaces] user@host# set sp-0/2/0 unit 1 family inet user@host# set sp-0/2/0 unit 1 service-domain inside user@host# set sp-0/2/0 unit 1001 family inet user@host# set sp-0/2/0 unit 1001 service-domain outside
在 R0 上,将 OSPF 流量定向到 IPsec 隧道中。
[edit protocols ospf] user@host# set area 0.0.0.0 interface sp-0/2/0.1 user@host# set parea 0.0.0.0 interface ge-0/1/1.0 passive user@host# set area 0.0.0.0 interface lo0.0
在 R0 上,配置 PIM 稀疏模式。此示例使用静态 RP 配置。由于 R0 是非 RP 路由器,因此请配置 RP 路由器的地址,即分配给 R1 上环路接口的可路由地址。
[edit protocols pim] user@host# set rp static address 10.255.0.156 user@host# set interfaces sp-0/2/0.1 user@host# set interfaces ge-0/1/1.0 user@host# set interfaces lo0.0
在 R0 上,为引用 IKE 策略和 IPsec 策略的双向动态 IKE 安全关联 (SA) 创建规则。
[edit services ipsec-vpn rule ipsec_rule] user@host# set term ipsec_dynamic then remote-gateway 10.10.1.2 user@host# set term ipsec_dynamic then dynamic ike-policy ike_policy user@host# set term ipsec_dynamic then dynamic ipsec-policy ipsec_policy user@host# set match-direction input
在 R0 上,配置 IPsec 提议。此示例使用认证头 (AH) 协议。
[edit services ipsec-vpn ipsec proposal ipsec_prop] user@host# set protocol ah user@host# set authentication-algorithm hmac-md5-96
在 R0 上,定义 IPsec 策略。
[edit services ipsec-vpn ipsec policy ipsec_policy] user@host# set perfect-forward-secrecy keys group1 user@host# set proposal ipsec_prop
在 R0 上,配置 IKE 身份验证和加密详细信息。
[edit services ipsec-vpn ike proposal ike_prop] user@host# set authentication-method pre-shared-keys user@host# set dh-group group1 user@host# set authentication-algorithm md5 user@host# set authentication-algorithm 3des-cbc
在 R0 上,定义 IKE 策略。
[edit services ipsec-vpn ike policy ike_policy] user@host# set proposals ike_prop user@host# set pre-shared-key ascii-text "$ABC123"
在 R0 上,创建定义 IPsec 特定信息的服务集。第一个命令将 IKE SA 规则与 IPsec 相关联。第二个命令定义 IPsec 安全隧道本地端的地址。最后两个命令配置参与 IPsec 服务的逻辑接口。单元 1 用于 IPsec 向内流量。单元 1001 用于 IPsec 向外流量。
[edit services service-set ipsec_svc] user@host# set ipsec-vpn-rules ipsec_rule user@host# set ipsec-vpn-options local-gateway 10.10.1.1 user@host# set next-hop-service inside-service-interface sp-0/2/0.1 user@host# set next-hop-service outside-service-interface sp-0/2/0.1001
在 R1 上,配置传入千兆以太网接口。
[edit interfaces] user@host# set ge-2/0/1 description "incoming interface" user@host# set ge-2/0/1 unit 0 family inet address 10.10.1.2/30
在 R1 上,配置传出千兆以太网接口。
[edit interfaces] user@host# set ge-2/0/0 description "outgoing interface" user@host# set ge-2/0/0 unit 0 family inet address 10.20.0.5/30
在 R1 上,配置环路接口。
[edit interfaces] user@host# set lo0.0 family inet address 10.255.0.156
在 R1 上,在 sp- 接口上配置单元 0。Junos OS 使用单元 0 进行服务日志记录和来自服务 PIC 的其他通信。
[edit interfacesinterfaces] user@host# set sp-2/1/0 unit 0 family inet
在 R1 上,配置参与 IPsec 服务的逻辑接口。在此示例中,单元 1 是朝内的接口。单元 1001 是面向远程 IPsec 站点的接口。
[edit interfaces] user@host# set sp-2/1/0 unit 1 family inet user@host# set sp-2/1/0 unit 1 service-domain inside user@host# set sp-2/1/0 unit 1001 family inet user@host# set sp-2/1/0 unit 1001 service-domain outside
在 R1 上,将 OSPF 流量定向到 IPsec 隧道中。
[edit protocols ospf] user@host# set area 0.0.0.0 interface sp-2/1/0.1 user@host# set area 0.0.0.0 interface ge-2/0/0.0 passive user@host# set area 0.0.0.0 interface lo0.0
在 R1 上,配置 PIM 稀疏模式。R1 是 RP 路由器。配置本地 RP 地址时,请使用共享地址,即 R1 环路接口的地址。
[edit protocols pim] user@host# set rp local address 10.255.0.156 user@host# set interface sp-2/1/0.1 user@host# set interface ge-2/0/0.0 user@host# set interface lo0.0 family inet
在 R1 上,为引用 IKE 策略和 IPsec 策略的双向动态互联网密钥交换 (IKE) 安全关联 (SA) 创建规则。
[edit services ipsec-vpn rule ipsec_rule] user@host# set term ipsec_dynamic from source-address 192.168.195.34/32 user@host# set term ipsec_dynamic then remote-gateway 10.10.1.1 user@host# set term ipsec_dynamic then dynamic ike-policy ike_policy user@host# set term ipsec_dynamic then dynamic ipsec-policy ipsec_policy user@host# set match-direction input
在 R1 上,为动态 SA 定义 IPsec 提议。
[edit services ipsec-vpn ipsec proposal ipsec_prop] user@host# set protocol ah user@host# set authentication-algorithm hmac-md5-96
在 R1 上,定义 IPsec 策略。
[edit services ipsec-vpn ipsec policy ipsec_policy] user@host# set perfect-forward-secrecy keys group1 user@host# set proposal ipsec_prop
在 R1 上,配置 IKE 身份验证和加密详细信息。
[edit services ipsec-vpn ike proposal ike_prop] user@host# set authentication-method pre-shared-keys user@host# set dh-group group1 user@host# set authentication-algorithm md5 user@host# set authentication-algorithm 3des-cbc
在 R0 上,定义 IKE 策略。
[edit services ipsec-vpn ike policy ike_policy] user@host# set proposal ike_prop user@host# set pre-shared-key ascii-text "$ABC123"
在 R1 上,创建定义 IPsec 特定信息的服务集。第一个命令将 IKE SA 规则与 IPsec 相关联。第二个命令定义 IPsec 安全隧道本地端的地址。最后两个命令配置参与 IPsec 服务的逻辑接口。单元 1 用于 IPsec 向内流量。单元 1001 用于 IPsec 向外流量。
[edit services service-set ipsec_svc] user@host# set ipsec-vpn-rules ipsec_rule user@host# set ipsec-vpn-options local-gateway 10.10.1.2 user@host# set next-hop-service inside-service-interface sp-2/1/0.1 user@host# set next-hop-service outside-service-interface sp-2/1/0.1001
要验证配置,请运行以下命令:
检查各种路由器了解了哪些 RP。
user@host> show pim rps extensive inet
检查 IPsec SA 协商是否成功。
user@host> show services ipsec-vpn ipsec security-associations
检查 IKE SA 协商是否成功。
user@host> show services ipsec-vpn ike security-associations
检查流量是否正在通过 IPsec 隧道传输。
user@host> show services ipsec-vpn ipsec statistics
参见
示例:为具有 IPv6 接口的虚拟路由器配置组播
虚拟路由器是一种具有单个路由表的简化路由实例。此示例说明如何在虚拟路由器中配置 PIM。
要求
开始之前,请配置内部网关协议或静态路由。请参阅 Junos OS 路由协议库了解路由设备。
概述
您可以为 虚拟路由器 实例类型以及 vrf 实例类型配置 PIM。 虚拟路由器 实例类型类似于用于第 3 层 VPN 的 vrf 实例类型,不同之处在于它用于与 VPN 无关的应用程序。
虚拟路由器实例类型没有 VPN 路由和转发 (VRF) 导入、VRF 导出、VRF 目标或路由识别符要求。虚拟路由器实例类型用于非第 3 层 VPN 情况。
在 虚拟路由器 实例类型下配置 PIM 时,VPN 配置不基于 RFC 2547 BGP/MPLS VPN,因此 PIM 操作不符合 MPLS/BGP VPN 中的互联网草案draft-rosen-vpn-mcast-07.txt组播。在 虚拟路由器 实例类型中,PIM 本身在路由实例中运行,通过路由实例接口与 PIM 邻居形成邻接关系,就像其他路由协议与路由实例中的邻接方形成邻接关系一样。
此示例包括以下常规步骤:
在 R1 上,配置具有三个接口 (ge-0/0/0.0、 ge-0/1/0.0 和 ge-0/1/1.0)的虚拟路由器实例。
配置 PIM 和 RP。
配置包含接口 ge-0/1/0.0 和 ge-0/1/1.0 的 MLD 静态组。
配置此示例后,您应该能够通过 R1 上的 ge-0/0/0 将组播流量从 R2 发送到静态组,并验证流量是否从 ge-0/1/0.0 和 ge-0/1/1.0 出口。
不要包含虚拟路由器实例类型的组地址语句。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
[edit] set interfaces ge-0/0/0 unit 0 family inet6 address 2001:4:4:4::1/64 set interfaces ge-0/1/0 unit 0 family inet6 address 2001:24:24:24::1/64 set interfaces ge-0/1/1 unit 0 family inet6 address 2001:7:7:7::1/64 set protocols mld interface ge-0/1/0.0 static group ff0e::10 set protocols mld interface ge-0/1/1.0 static group ff0e::10 set routing-instances mvrf1 instance-type virtual-router set routing-instances mvrf1 interface ge-0/0/0.0 set routing-instances mvrf1 interface ge-0/1/0.0 set routing-instances mvrf1 interface ge-0/1/1.0 set routing-instances mvrf1 protocols pim rp local family inet6 address 2001:1:1:1::1 set routing-instances mvrf1 protocols pim interface ge-0/0/0.0 set routing-instances mvrf1 protocols pim interface ge-0/1/0.0 set routing-instances mvrf1 protocols pim interface ge-0/1/1.0
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要为虚拟路由器配置组播:
配置接口。
[edit] user@host# edit interfaces [edit interfaces] user@host# set ge-0/0/0 unit 0 family inet6 address 2001:4:4:4::1/64 [edit interfaces] user@host# set ge-0/1/0 unit 0 family inet6 address 2001:24:24:24::1/64 [edit interfaces] user@host# set ge-0/1/1 unit 0 family inet6 address 2001:7:7:7::1/64 [edit interfaces] user@host# exit
配置路由实例类型。
[edit] user@host# edit routing-instances [edit routing-instances] user@host# set mvrf1 instance-type virtual-router
在路由实例中配置接口。
[edit routing-instances] user@host# set mvrf1 interface ge-0/0/0 [edit routing-instances] user@host# set mvrf1 interface ge-0/1/0 [edit routing-instances] user@host# set mvrf1 interface ge-0/1/1
在路由实例中配置 PIM 和 RP。
[edit routing-instances] user@host# set mvrf1 protocols pim rp local family inet6 address 2001:1:1:1::1
在接口上配置 PIM。
[edit routing-instances] user@host# set mvrf1 protocols pim interface ge-0/0/0 [edit routing-instances] user@host# set mvrf1 protocols pim interface ge-0/1/0 [edit routing-instances] user@host# set mvrf1 protocols pim interface ge-0/1/1 [edit routing-instances] user@host# exit
配置 MLD 组。
[edit] user@host# edit protocols mld [edit protocols mld] user@host# set interface ge-0/1/0.0 static group ff0e::10 [edit protocols mld] user@host# set interface ge-0/1/1.0 static group ff0e::10
如果完成设备配置,请提交配置。
[edit routing-instances] user@host# commit
结果
通过输入 show interfaces、 show 路由实例和 show protocol 命令来确认您的配置。
user@host# show interfaces ge-0/0/0 { unit 0 { family inet6 { address 2001:4:4:4::1/64; } } } ge-0/1/0 { unit 0 { family inet6 { address 2001:24:24:24::1/64; } } } ge-0/1/1 { unit 0 { family inet6 { address 2001:7:7:7::1/64; } } }
user@host# show routing-instances mvrf1 { instance-type virtual-router; interface ge-0/0/0.0; interface ge-0/1/0.0; interface ge-0/1/1.0; protocols { pim { rp { local { family inet6 { address 2001:1:1:1::1; } } } interface ge-0/0/0.0; interface ge-0/1/0.0; interface ge-0/1/1.0; } } }
user@host# show protocols mld { interface ge-0/1/0.0 { static { group ff0e::10; } } interface ge-0/1/1.0 { static { group ff0e::10; } } }
验证
要验证配置,请运行以下命令:
显示 MLD 集团
显示 MLD 接口
显示 MLD 统计信息
显示组播接口
显示组播路由
显示组播 RPF
显示 PIM 接口
显示 PIM 加入
显示 PIM 邻居
显示路由转发表
显示路由实例
显示路由表
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。