了解 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 时,PIM 稀疏模式都是默认模式。但是,由于不得在网络管理接口上配置 PIM,因此必须在该接口上禁用它。
每个任意源组播 (ASM) 组都有一个共享树,接收方通过该树了解新的组播源,新接收方了解所有组播源。集合点 (RP) 路由器是此共享树的根,用于接收来自源的组播流量。要从 RP 服务的组接收组播流量,设备必须确定源 RP 的 IP 地址。
您可以配置类似于静态路由的静态集合点 (RP) 配置。静态配置的好处是在 PIM 版本 1 或版本 2 中运行。配置静态 RP 时,为特定组选择的 RP 地址必须在组播域中的所有路由器上保持一致。
设备查找 RP 的一种常见方法是静态配置 RP 的 IP 地址。静态配置简单方便。但是,如果无法访问静态定义的 RP 路由器,则不会自动故障转移到另一个 RP 路由器。若要解决此问题,可以使用任播 RP。