示例:配置任播 RP
了解使用任播 RP 的 RP 映射
每个组播组有一个活动的集合点 (RP) 与使用单个服务器提供任何服务大致相同。所有流量都汇聚在此单点上,尽管其他服务器处于空闲状态,并且资源发生故障时收敛速度较慢。特别是在多播中,共享树上可能存在更近的 RP,因此使用单个 RP 是次优的。
出于负载平衡和冗余的目的,您可以配置任播 RP。您可以在域中使用任播 RP 来提供冗余和 RP 负载共享。当 RP 发生故障时,源和接收器将通过单播路由传送到新的 RP。配置任播 RP 时,可以绕过每个组播组有一个活动 RP 的限制,而是为同一组范围部署多个 RP。RP 路由器共享一个单播 IP 地址。来自一个 RP 的源对于使用组播源发现协议 (MSDP) 的其他 RP 是已知的。源和接收器使用最近的 RP,由内部网关协议 (IGP) 确定。
任播意味着多个 RP 路由器共享同一个单播 IP 地址。任播地址由路由协议通告。发送到任播地址的数据包将发送到具有此地址的最近 RP。任播寻址是一个通用概念,在 PIM 稀疏模式下用于为 RP 添加负载平衡和服务可靠性。
任播 RP 在 RFC3446 中使用 PIM 和 MSDP 的任播 RP 机制中定义,可以在这里找到: https://www.ietf.org/rfc/rfc3446.txt 。
参见
示例:使用任播 RP 在域中配置多个 RP
此示例说明如何在 PIM-SM 域中的每个 RP 路由器上配置任播 RP。使用此配置,可以为单个组范围部署多个 RP。这样可以实现负载平衡和冗余。
要求
准备工作:
配置路由器接口。
配置内部网关协议或静态路由。请参阅 Junos OS 路由协议库了解路由设备。
在接口上配置 PIM 稀疏模式。请参阅 启用 PIM 稀疏模式。
概述
配置任播 RP 时,PIM-SM 域中的 RP 路由器使用共享地址。在此示例中,共享地址为 10.1.1.2/32。任播 RP 使用组播源发现协议 (MSDP) 来发现和维护活动源的一致视图。任播 RP 还需要 RP 选择方法,例如静态、自动 RP 或自举 RP。此示例使用静态 RP,仅显示一个 RP 路由器配置。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
RP 路由器
set interfaces lo0 unit 0 family inet address 192.168.132.1/32 primary set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set protocols msdp local-address 192.168.132.1 set protocols msdp peer 192.168.12.1 set protocols pim rp local address 10.1.1.2 set routing-options router-id 192.168.132.1
非 RP 路由器
set protocols pim rp static address 10.1.1.2
程序
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置任播 RP,请执行以下操作:
在域中的每个 RP 路由器上,在路由器的环路地址上配置共享任播地址。
[edit interfaces] user@host# set lo0 unit 0 family inet address 10.1.1.2/32
在域中的每个 RP 路由器上,确保路由器的常规环路地址是接口的主地址,并设置路由器 ID。
[edit interfaces] user@host# set lo0 unit 0 family inet address 192.168.132.1/32 primary [edit routing-options] user@host# set router-id 192.168.132.1
在域中的每个 RP 路由器上,使用共享地址配置本地 RP 地址。
[edit protocols pim] user@host# set rp local address 10.1.1.2
在域中的每个 RP 路由器上,创建到域中其他 RP 的 MSDP 会话。
[edit protocols msdp] user@host# set local-address 192.168.132.1 user@host# set peer 192.168.12.1
在域中的每个非 RP 路由器上,使用共享地址配置静态 RP 地址。
[edit protocols pim] user@host# set rp static address 10.1.1.2
如果完成设备配置,请提交配置。
user@host# commit
结果
在配置模式下,输入 show interfaces、 show 协议和 show routing-options 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show interfaces lo0 { unit 0 { family inet { address 192.168.132.1/32 { primary; } address 10.1.1.2/32; } } }
在 RP 路由器上:
user@host# show protocols msdp { local-address 192.168.132.1; peer 192.168.12.1; } pim { rp { local { address 10.1.1.2; } } }
在非 RP 路由器上:
user@host# show protocols pim { rp { static { address 10.1.1.2; } } }
user@host# show routing-options router-id 192.168.132.1;
验证
要验证配置,请运行 show pim rps diverse inet 命令。
示例:配置带或不带 MSDP 的 PIM 任播
配置任播 RP 时,可以绕过每个组播组有一个活动集合点 (RP) 的限制,而是为同一组范围部署多个 RP。RP 路由器共享一个单播 IP 地址。来自一个 RP 的源对于使用组播源发现协议 (MSDP) 的其他 RP 是已知的。源和接收器使用最近的 RP,由内部网关协议 (IGP) 确定。
您可以在域中使用任播 RP 来提供冗余和 RP 负载共享。当 RP 停止运行时,通过单播路由将源和接收器带到新的 RP。
可以将任播 RP 配置为对 IPv4 使用 PIM 和 MSDP,或者在 IPv4 和 IPv6 方案中单独使用 PIM。本节将讨论两者。
我们建议通过引导路由器和自动 RP 配置使用任播 RP 进行静态 RP 映射,因为它提供了引导路由器和自动 RP 的所有优势,而没有 BSR 和自动 RP 机制的复杂性。
从 Junos OS 16.1 版开始,子网上的所有系统都必须运行相同版本的 PIM。
默认 PIM 版本可以是版本 1 或版本 2,具体取决于要配置的模式。PIMv1 是默认 RP 模式(在 [编辑协议 PIM RP 静态地址 address] 层次结构级别)。但是,PIMv2 是接口模式的默认值(在 [编辑协议 pim 接口 interface-name] 层次结构级别)。显式配置的版本将覆盖默认值。此示例在接口上显式配置 PIMv2。
以下示例显示了 RP 路由器的任播 RP 配置,首先使用 MSDP,然后单独使用 PIM,以及非 RP 路由器。
对于使用带有 MSDP 的 RP 的网络,请使用始终打开的 lo0 环路接口配置 RP。包括 地址 语句,并在 [编辑接口 lo0 单元 0 系列 inet] 层次结构级别指定唯一且可路由的路由器 ID 和 RP 地址。在此示例中,路由器 ID 为 198.51.100.254 ,共享 RP 地址为 198.51.100.253。包括第一个地址 的主语句。 包括 主 语句可从所有接口上的所有首选地址中选择路由器的主地址。
interfaces { lo0 { description "PIM RP"; unit 0 { family inet { address 198.51.100.254/32; primary; address 198.51.100.253/32; } } } }
指定 RP 地址。在 [编辑协议 pim rp local] 层次结构级别(与辅助 lo0 接口相同的地址)包含地址语句。
对于所有接口,请包含用于将模式设置为稀疏的模式语句,以及用于在 [编辑协议 pim rp 本地接口所有] 层次结构级别指定 PIM 版本 2 的版本语句。配置所有接口时,请通过包含该接口的 disable 语句来排除 fxp0.0 管理接口。
protocols { pim { rp { local { family inet; address 198.51.100.253; } interface all { mode sparse; version 2; } interface fxp0.0 { disable; } } } }
配置 MSDP 对等互连。包括对等语句以在 [编辑协议 msdp] 层次结构级别配置 MSDP 对等方的地址。对于 MSDP 对等互连,请使用唯一的主地址,而不是任播地址。要为 MSDP 对等互连指定本地地址,请在 [编辑协议 msdp 对等方] 层次结构级别包含本地地址语句。
protocols { msdp { peer 198.51.100.250 { local-address address 198.51.100.254; } } }
使用 lo0 环路接口配置 RP,该接口始终处于打开状态。包括 address 语句以指定唯一且可路由的路由器地址以及 [编辑接口 lo0 单元 0 系列 inet] 层次结构级别的 RP 地址。在此示例中,路由器 ID 为 198.51.100.254 ,共享 RP 地址为 198.51.100.253。在第一个地址上包括 主 语句。包括 主 语句可从所有接口上的所有首选地址中选择路由器的主地址。
interfaces { lo0 { description "PIM RP"; unit 0 { family inet { address 198.51.100.254/32 { primary; } address 198.51.100.253/32; } } } }
在 [编辑协议 pim rp local] 层次结构级别包含地址语句,以指定 RP 地址(与辅助 lo0 接口的地址相同)。
对于所有接口,请包含用于将模式设置为稀疏的模式语句,以及用于在 [编辑协议 pim rp 本地接口所有] 层次结构级别指定 PIM 版本 2 的版本语句。配置所有接口时,请通过包含该接口的禁用语句来排除 fxp0.0 管理接口。
包括 任播 pim 语句以配置不带 MSDP 的任播 RP(例如,如果 IPv6 用于多播)。共享相同 IP 地址的其他 RP 路由器使用 rp-set 语句进行配置。每个 RP 有一个条目,最大可配置为 15。对于每个 RP,请指定路由器的可路由 IP 地址,以及是否将 MSDP 源活动 (SA) 消息转发到 RP。
此类型的 IPv4 任播 RP 配置不需要 MSDP 配置。
protocols { pim { rp { local { family inet { address 198.51.100.253; anycast-pim { rp-set { address 198.51.100.240; address 198.51.100.241 forward-msdp-sa; } local-address 198.51.100.254; #If not configured, use lo0 primary } } } } interface all { mode sparse; version 2; } interface fxp0.0 { disable; } } }
配置非 RP 路由器。无论是否使用 MSDP,非 RP 路由器的任播 RP 配置都是相同的。通过在 [编辑协议 pim rp 静态] 层次结构级别添加地址来指定静态 RP。在 [编辑协议 pim rp 静态地址] 层次结构级别包含版本语句以指定 PIM 版本 2。
protocols { pim { rp { static { address 198.51.100.253 { version 2; } } } } }
在 [编辑协议 pim 接口全部] 层次结构级别包含 mode 语句,以在所有接口上指定稀疏模式。然后在 [编辑协议 pim rp 接口所有模式] 中包含版本语句,以便为 PIM 版本 2 配置所有接口。配置所有接口时,请通过包含该接口的 disable 语句来排除 fxp0.0 管理接口。
protocols { pim { interface all { mode sparse; version 2; } interface fxp0.0 { disable; } } }
仅使用 PIM 配置 PIM 任播 RP 路由器
在此示例中,使用 lo0 环路接口配置 RP,该接口始终处于打开状态。 使用 address 语句在 [编辑接口 lo0 单元 0 系列 inet] 层次结构级别指定唯一且可路由的路由器地址和 RP 地址。在这种情况下,路由器 ID 为 198.51.100.254/32,共享 RP 地址为 198.51.100.253/32。将 主 地址的标志语句添加到第一个地址。使用此标志从所有接口上的所有首选地址中选择路由器的主地址。
interfaces { lo0 { description "PIM RP"; unit 0 { family inet { address 198.51.100.254/32 { primary; } address 198.51.100.253/32; } } } }
在 [编辑协议 pim rp local] 层次结构级别添加地址语句以指定 RP 地址(与辅助 lo0 接口相同的地址)。
对于所有接口,请使用 mode 语句将模式设置为稀疏,并包含版本语句以在 [编辑协议 pim rp 本地接口所有] 层次结构级别指定 PIM 版本 2。配置所有接口时,请通过为该接口添加 disable 语句来排除 fxp0.0 管理接口。
使用 任播-pim 语句配置不带 MSDP 的任播 RP(例如,如果 IPv6 用于多播)。共享相同 IP 地址的其他 RP 路由器使用 rp-set 语句进行配置。每个 RP 有一个条目,最大可配置为 15。对于每个 RP,请指定路由器的可路由 IP 地址,以及是否将 MSDP 源活动 (SA) 消息转发到 RP。
protocols { pim { rp { local { family inet { address 198.51.100.253; anycast-pim { rp-set { address 198.51.100.240; address 198.51.100.241 forward-msdp-sa; } local-address 198.51.100.254; #If not configured, use lo0 primary } } } } interface all { mode sparse; version 2; } interface fxp0.0 { disable; } } }
此类型的 IPv4 任播 RP 配置不需要 MSDP 配置。
show pim join
使用和show pim rps
命令确认:
user@device> show pim join extensive Instance: PIM.master Family: INET R = Rendezvous Point Tree, S = Sparse, W = Wildcard Group: <group IP> Source: <source IP> Flags: sparse,spt Upstream interface: lo0 Upstream neighbor: Direct Upstream state: Local Source Keepalive timeout: 357 Uptime: 00:00:03 Downstream neighbors: Number of downstream interfaces: 0 Number of downstream neighbors: 0
user@device> show pim rps extensive Instance: PIM.master address-family INET RP: 198.51.100.253 Learned via: static configuration Mode: Sparse Time Active: 00:24:14 Holdtime: 150 Device Index: 150 Subunit: 32700 Interface: Static RP Override: Off Group Ranges: <group IP> Register State for RP: Group Source FirstHop RP Address State Timeout <group IP> <source IP> <IP address> 198.51.100.253 Receive 170 Anycast PIM local address used: <IP address>
参见
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。