Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置 PIM RPT 和 SPT 直接转换

了解组播集合点、共享树和集合点树

在共享树中,分布树的根是路由器,而不是主机,位于网络核心的某个位置。在主稀疏模式组播路由协议(协议无关组播稀疏模式 (PIM SM) )中,共享树根目录下的核心路由器是集合点 (RP)。来自上游源的数据包和来自下游路由器的加入消息在此核心路由器上“汇聚”。

在 RP 模型中,其他路由器不需要知道每个组播组的源地址。他们只需要知道 RP 路由器的 IP 地址。RP 路由器会发现所有组播组的源。

RP 模型将查找组播内容源的负担从每个路由器((S,G) 表示法)转移到网络(((*,G) 表示法只知道 RP)。RP 查找源的单播 IP 地址的确切方式各不相同,但必须有一些方法来确定特定组的组播内容的正确来源。

考虑一组组播路由器,对于某个组没有任何活动组播流量。当路由器了解到该组的感兴趣接收方位于其直接连接的子网之一上时,路由器会尝试将该组的分发树联接回 RP,而不是内容的实际源。

要加入共享树(或在 PIM 稀疏模式下称为 (),路由器必须执行以下操作:

  • 确定该组的 RP 的 IP 地址。确定地址可以像路由器中的静态配置一样简单,也可以像一组嵌套协议一样复杂。

  • 为该组构建共享树。路由器对其路由表中的 RP 地址执行 RPF 检查,生成最接近 RP 的接口。路由器现在检测到来自此组的此 RP 的组播数据包需要流入此 RPF 接口上的路由器。

  • 使用正确的组播协议(可能是 PIM 稀疏模式)在此接口上发送加入消息,通知上游路由器它要加入该组的共享树。此消息是 (*,G) 联接消息,因为 S 未知。只有 RP 是已知的,RP 实际上并不是组播数据包的来源。接收 (*,G) 加入消息的路由器将接收消息的接口添加到组的传出接口列表 (OIL) 中,并对 RP 地址执行 RPF 检查。然后,上游路由器从 RPF 接口向源发送 (*,G) 加入消息,通知上游路由器它也要加入该组。

每个上游路由器重复此过程,从 RPF 接口传播加入消息,并在此过程中构建共享树。当加入消息到达以下项之一时,该过程将停止:

  • 要加入的组的 RP

  • RPT 上的路由器,其已对要加入的组具有组播转发状态

在任一情况下,都会创建分支,数据包可以从源流向 RP,再从 RP 流向接收方。请注意,不能保证共享树 (RPT) 是到源的最短路径树。很可能不是。但是,有一些方法可以在数据包流开始后将共享树“迁移”到 SPT。换句话说,转发状态可以从 (*,G) 转换为 (S,G)。这两种树的形成在很大程度上取决于 RPF 检查和 RPF 表的操作。有关 RPF 表的详细信息,请参阅 了解组播反向路径转发

在 RP 和接收器之间构建 RPT

RPT 是组播组中 RP 与接收方(主机)之间的路径(请参阅 图 1)。RPT 是通过来自接收方 DR 的 PIM 联接消息构建的:

  1. 接收方在互联网组管理协议 (IGMP) 主机成员身份报告中发送加入组 (G) 的请求。PIM 稀疏模式路由器(接收方的 DR)接收直接连接的子网上的报告,并为感兴趣的组播组创建 RPT 分支。

  2. 接收方的 DR 向其 RPF 邻居、RPF 表中的下一跃点地址或单播路由表发送 PIM 加入消息。

  3. PIM 加入消息沿树向上传输,并组播到所有 PIM 路由器组 (224.0.0.13)。树中的每个路由器都使用 RPF 表或单播路由表查找其 RPF 邻居。在消息到达 RP 并形成 RPT 之前,将执行此操作。 沿路径的路由器设置组播转发状态,以将请求的组播流量沿 RPT 转发回接收方。

图 1:在 RP 和接收器 Building an RPT Between the RP and the Receiver之间构建 RPT

PIM 稀疏模式源注册

RPT 是一个单向树,允许流量从一个方向从 RP 向向接收方。为了使组播流量从源到达接收方,需要从源的 DR 到 RP 构建分布树的另一个分支(称为最短路径树)。

最短路径树的创建方式如下:

  1. 源将变为活动状态,在其连接的 LAN 上发出组播数据包。源的 DR 接收数据包并将其封装在 PIM 寄存器消息中,然后发送到 RP 路由器(请参阅 图 2)。

  2. 当 RP 路由器从源收到 PIM 寄存器消息时,它会将 PIM 加入消息发送回源。

    图 2:交换的 PIM 寄存器消息和 PIM 加入消息 PIM Register Message and PIM Join Message Exchanged
  3. 源的 DR 接收 PIM 加入消息,并开始沿 SPT 向 RP 路由器发送流量(请参阅 图 3)。

  4. RP 路由器收到流量后,会向源的 DR 发送寄存器停止消息,以停止寄存器进程。

    图 3:从源发送到 RP 路由器 Traffic Sent from the Source to the RP Router的流量
  5. RP 路由器将组播流量沿 RPT 发送到接收器(请参阅 图 4)。

    图 4:从 RP 路由器发送到接收器 Traffic Sent from the RP Router Toward the Receiver的流量

组播最短路径树

用于组播的分布树植根于源,也是最短路径树 (SPT)。考虑一组组播路由器,对于某个组没有任何活动组播流量(即,它们没有该组的组播转发状态)。当路由器得知该组的感兴趣接收方位于其直接连接的子网之一上时,路由器会尝试加入该组的树。

要加入分发树,路由器将确定该组的源的单播 IP 地址。此地址可以是路由器上的简单静态配置,也可以像一组协议一样复杂。

要为该组构建 SPT,路由器对其路由表中的源地址执行反向路径转发 (RPF) 检查。RPF 检查会生成最靠近源的接口,这是此组的来自此源的组播数据包流入路由器的位置。

接下来,路由器使用正确的组播协议在此接口上发送加入消息,以通知上游路由器它要加入该组的分发树。此消息是 (S,G) 联接消息,因为 S 和 G 都是已知的。接收 (S,G) 加入消息的路由器将接收消息的接口添加到组的输出接口列表 (OIL) 中,并对源地址执行 RPF 检查。然后,上游路由器在 RPF 接口上向源发送 (S,G) 加入消息,通知上游路由器它也要加入组。

每个上游路由器重复此过程,在 RPF 接口上传播联接,并随时构建 SPT。当加入消息执行以下两项操作之一时,该过程将停止:

  • 到达直接连接到作为源的主机的路由器。

  • 到达此源-组对已具有组播转发状态的路由器。

在任一情况下,都会创建分支,每个路由器都具有源-组对的组播转发状态,数据包可以从源流向接收方的分布树。每个路由器上的 RPF 检查确保树是 SPT。

SPT 始终是最短的路径,但不一定很短。也就是说,源和接收器往往位于路由器网络的外围,而不是在主干网上,组播分布树倾向于蔓延到网络中的几乎每个路由器。由于组播流量可能会使速度较慢的接口不堪重负,并且一个数据包很容易在主干网的另一侧变成一百或一千个数据包,因此提供共享树作为分布树是有意义的,这样组播源就可以更集中地位于网络中的主干上。这种以核心网络为根的分布树的共享是通过组播集合点实现的。有关 RP 的详细信息,请参阅 了解组播集合点、共享树和集合点树

SPT 切换

不是继续将 SPT 用于 RP 和 RPT 朝向接收器,而是通过以下方式在源和接收器之间创建直接 SPT:

  1. 接收方的 DR 从源接收到第一个组播数据包后,DR 会向其 RPF 邻居发送 PIM 加入消息(请参阅 图 5)。

  2. 源的 DR 接收 PIM 联接消息,并创建一个附加 (S,G) 状态以形成 SPT。

  3. 来自该特定源的组播数据包开始来自源的 DR,并沿着新的 SPT 流向接收方的 DR。接收方的 DR 现在正在接收源发送的每个组播数据包的两个副本,一个来自 RPT,一个来自新 SPT。

    图 5:接收方 DR 向源 Receiver DR Sends a PIM Join Message to the Source发送 PIM 加入消息
  4. 为了阻止重复的组播数据包,接收方的 DR 会向 RP 路由器发送 PIM 修剪消息,告知不再需要来自此特定源的来自 RPT 的组播数据包(请参阅 图 6)。

    图 6:PIM 修剪消息从接收方的 DR 发送到 RP 路由器 PIM Prune Message Is Sent from the Receiver’s DR Toward the RP Router
  5. RP 路由器接收 PIM 修剪消息,并停止向接收方的 DR 发送组播数据包。接收方的 DR 仅通过新 SPT 获取此特定源的组播数据包。但是,来自源的组播数据包仍会从源的 DR 到达 RP 路由器(请参阅 图 7)。

    图 7:RP 路由器接收 PIM 修剪消息 RP Router Receives PIM Prune Message
  6. 为了阻止来自此特定源的不需要的组播数据包,RP 路由器会向源的 DR 发送 PIM 修剪消息(请参阅 图 8)。

    图 8:RP 路由器向源 DR RP Router Sends a PIM Prune Message to the Source DR 发送 PIM 修剪消息
  7. 接收方的 DR 现在仅接收来自 SPT 的特定源的组播数据包(参见 图 9)。

    图 9:源的 DR 停止向 RP 路由器 Source’s DR Stops Sending Duplicate Multicast Packets Toward the RP Router发送重复的组播数据包

SPT 切换控制

在某些情况下,最后一跃点路由器需要保留在到 RP 的共享树上,而不是转换为到源的直接 SPT。例如,当低带宽组播流从 RP 转发到最后一跃点路由器时,您可能不希望最后一跃点路由器转换。最后一跃点和源之间的所有路由器都必须保持并刷新 SPT 状态。这可能会成为资源密集型活动,不会对特定源和组播组地址对的网络效率增加太多。

在这些情况下,您可以在最后一跃点路由器上配置 SPT 阈值策略,以控制向直接 SPT 的转换。应用于源-组地址对的 SPT 无穷大直接转换阈值意味着最后一跃点路由器永远不会转换为直接 SPT。对于所有其他源组地址对,最后一跃点路由器会立即转换为根植于源 DR 的直接 SPT。

示例:配置 PIM 断言超时

此示例演示如何配置 PIM 断言转发器的超时期限。

要求

准备工作:

概述

PIM 断言消息的作用是确定具有多个路由器的网络上的转发器。转发器是将组播数据包转发到具有组播组成员的网络的路由器。转发器通常与 PIM DR 相同。

当路由器在匹配路由条目的传出接口列表中列出的接口上收到组播数据包时,它会发送断言消息。在传出接口上收到消息表示有多个路由器将相同的组播数据包转发到网络。

在图 10 中,路由设备 R1 和 R2 都针对网络上的相同 (S,G) 条目转发组播数据包。两台设备都检测到这种情况,并且两台设备都在以太网网络上发送断言消息。除了源地址和组地址之外,断言消息还包含用于向源发送数据包的单播成本指标,以及单播成本的首选项指标。优先级指标表示单播路由协议之间的首选项。具有最小优先级指标的路由设备将成为转发器(也称为断言获胜者)。如果首选项指标相等,则发送最低单播成本指标的设备将成为转发器。如果单播指标也相等,则具有最高 IP 地址的路由设备将成为转发器。传输断言消息后,只有转发器继续转发网络上的消息。

当收到断言消息并且 RPF 邻居更改为断言获胜者时,断言计时器将设置为断言超时期限。每次传入接口上收到路由条目的后续断言消息时,都会重新启动断言超时期限。当断言计时器过期时,路由设备会根据其单播路由表重置其 RPF 邻居。然后,如果多个转发器仍然存在,转发器将重新进入断言消息周期。实际上,断言超时期限决定了组播路由设备进入 PIM 断言消息周期的频率。

范围为 5 到 210 秒。默认值为 180 秒。

断言消息对于连接多个路由设备而不连接主机的 LAN 非常有用。

拓扑学

图 10 显示了此示例的拓扑。

图 10:PIM 断言拓扑 PIM Assert Topology

配置

程序

分步过程

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

要配置断言超时,请执行以下操作:

  1. 配置超时期限(以秒为单位)。

  2. (可选)跟踪断言消息。

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

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

    • 显示 PIM 加入

    • 显示 PIM 统计信息

示例:配置 PIM SPT 阈值策略

此示例说明如何应用一个策略来抑制从根植于 RP 的集合点树 (RPT) 到根植于源的最短路径树 (SPT) 的转换。

要求

准备工作:

概述

运行 PIM 稀疏模式的组播路由设备可以通过根植于 RP 的 RPT 或根植于源的 SPT 将同一组播数据包流转发到同一 LAN。在某些情况下,最后一跃点路由设备需要保留在到 RP 的共享 RPT 上,而不是转换为到源的直接 SPT。在 SPT 上接收组播数据流量是最佳选择,但会在网络中引入更多状态,这在某些组播部署中可能不是可取的。理想情况下,低带宽组播流可以在 RPT 上转发,而高带宽流可以使用 SPT。此示例说明如何配置此类策略。

此示例包括以下设置:

  • spt 阈值 — 允许您在最后一跃点路由设备上配置 SPT 阈值策略,以控制向直接 SPT 的转换。在主 PIM 实例中包含此语句时,PE 路由器将保留在 RPT 上以控制流量。

  • 无穷大 — 将无穷大的 SPT 直接转换阈值应用于源-组地址对,以便最后一跃点路由设备永远不会转换为直接 SPT。对于所有其他源组地址对,最后一跃点路由设备将立即转换为根植于源 DR 的直接 SPT。此语句必须引用正确配置的策略,以将特定源组对的 SPT 直接转换阈值设置为无穷大。不支持对 SPT 阈值使用无穷大以外的值。您可以配置多个策略。

  • 策略语句 — 配置策略。最简单的 SPT 阈值策略类型使用路由过滤器和源地址过滤器来指定组播组和源地址,并将该地址对的 SPT 阈值设置为无穷大。该策略将应用于主 PIM 实例。

    本示例将源组对 10.10.10.1 和 224.1.1.1 的 SPT 转换值设置为无穷大。将策略应用于最后一跃点路由器时,来自此源组对的组播流量永远不会转换为直接到源的 SPT。流量将继续通过 RP 到达。但是,此路由器上任何其他源-组地址组合的流量将转换为到源的直接 SPT。

配置 SPT 阈值策略时,请注意以下几点:

  • 对 SPT 阈值策略的配置更改会影响路由设备处理 SPT 转换的方式。

配置 SPT 阈值策略时,请注意以下几点:

  • 对 SPT 阈值策略的配置更改会影响路由设备处理 SPT 转换的方式。

配置 SPT 阈值策略时,请注意以下几点:

  • 对 SPT 阈值策略的配置更改会影响路由设备处理 SPT 转换的方式。

  • 首次配置策略时,路由设备将继续转换为源组地址对的直接 SPT,直到使用 清除 pim join 命令清除 PIM 加入 状态。

  • 如果在首次应用无限策略配置时未清除 PIM 联接状态,则必须在启动 PE 路由器之前应用该状态。

  • 首次删除源组地址对的策略时,路由设备不会转换为该源组地址对的直接 SPT,直到使用 清除 pim join 命令清除 PIM 联接状态。

  • 首次更改源-组地址对的策略时,路由设备不会使用新策略,直到使用 清除 pim join 命令清除 PIM 联接状态。

拓扑学

配置

程序

CLI 快速配置

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

分步过程

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

要配置 SPT 阈值策略,请执行以下操作:

  1. 应用策略。

  2. 配置策略。

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

  4. 清除 PIM 联接缓存以强制配置生效。

结果

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

验证

要验证配置,请运行 show pim join 命令。