关于组播路由
组播路由是一种带宽节省技术,通过同时向数千个公司收件人和家庭传送单一信息流来减少流量。使用组播路由的应用包括视频会议、公司通信、远程教育以及软件、股票报价和新闻的分发。
组播路由协议将源流量传递给多个接收者,而不会对源或接收者造成任何额外负担,而且是同类技术当中占用网络带宽最少的。组播数据包通过启用了协议无关组播 (PIM) 及其他支持性组播协议的 威胁防御设备 在网络中复制,是目前为止向多个接收者传输数据的最高效方式。
威胁防御设备 支持末节组播路由和 PIM 组播路由。但是,不能在一个 威胁防御设备 上都配置这两种路由。
注 |
组播路由同时支持 UDP 和非 UDP 传输。但是,非 UDP 传输没有进行快速路径优化。 |
IGMP 协议
IP 主机使用互联网组管理协议 (IGMP) 将其组成员身份报告给直连组播路由器。IGMP 用于在特定 LAN 上的一个组播组中动态注册单个主机。主机通过向其本地组播路由器发送 IGMP 消息来识别组成员身份。在 IGMP 下,路由器监听 IGMP 消息,并定期发出查询以发现特定子网上处于活动状态或非活动状态的组。
IGMP 将组地址(D 类 IP 地址)用作组标识符。主机组地址的范围可以是 224.0.0.0 到 239.255.255.255。地址 224.0.0.0 不分配给任何组。地址 224.0.0.1 分配给子网上的所有系统。地址 224.0.0.2 分配给子网上的所有路由器。
注 |
如果在 威胁防御设备上启用组播路由,IGMP V2 将会在所有接口上自动启用。 |
- 发送到组播组的查询消息
-
威胁防御设备发送查询消息,以发现哪些组播组有成员位于与接口连接的网络上。成员以 IGMP 报告消息作出响应,以表明自己想要接收特定组的组播数据包。查询消息会发送到全系统组播组,该组的地址为 224.0.0.1,生存时间值为 1。
这些消息会定期发送,从而刷新 威胁防御设备上存储的成员身份信息。如果 威胁防御设备发现组播组中没有本地成员仍与接口相连接,它会停止向连接的网络转发该组的组播数据包,并会向数据包源发送回删除消息。
默认情况下,子网上的 PIM 指定路由器负责发送查询消息。默认情况下,每 125 秒发送一次消息。
默认情况下,更改查询响应时间时,IGMP 查询中通告的最大查询响应时间为 10 秒。如果 威胁防御设备不在此时间内接收对主机查询的响应,它就会删除该组。
末节组播路由
末节组播路由提供动态主机注册并促进组播路由。如果针对末节组播路由进行了配置,威胁防御设备 将用作 IGMP 受托代理。威胁防御设备 将 IGMP 消息转发到上游组播路由器(上游组播路由器设置组播数据的传输),而不是完全参加组播路由。威胁防御设备 在为末节组播路由而配置后,就不能为 PIM 稀疏模式或双向模式而配置。您必须在参与 IGMP 末节组播路由的接口上启用 PIM。
威胁防御设备 同时支持 PIM-SM 和双向 PIM。PIM-SM 是一个组播路由协议,它使用基础单播路由信息库或支持组播的独立路由信息库。该协议会按组播组构建以单个交汇点 (RP) 为根的单向共享树,并且可以选择性地按组播源创建最短路径数。
PIM 组播路由
双向 PIM 是 PIM-SM 的一个变体,用于构建连接组播源和接收器的双向共享树。双向树使用每个组播拓扑链路上运行的专用转发器 (DF) 选择流程构建借助 DF,组播数据从源转发至交汇点 (RP),然后联通共享树一起发送至接收器,而无需源特定的状态。DF 选择发生在 RP 发现期间,提供至 RP 的默认路由。
注 |
如果 威胁防御设备 是 PIM RP,请使用 威胁防御设备 的未被转换的外部地址作为 RP 地址。 |
PIM 源特定组播支持
威胁防御设备 不支持 PIM 源特定组播 (SSM) 功能和相关配置。不过,威胁防御设备 允许与 SSM 相关的数据包通过,除非将其放置为最后一跳路由器。
SSM 被分类为数据传递机制,适用于一对多应用,如 IPTV。SSM 模型使用“通道”的概念,以 (S,G) 对表示,其中 S 表示源地址,G 表示 SSM 目标地址。通过使用组管理协议(如 IGMPv3)来实现订用通道。一旦 SSM 获悉某一特定的组播源,它将使接收客户端能直接从该源接收多播流,而不是从共享交汇点 (RP) 接收。SSM 中引入了访问控制机制,提供当前稀疏或疏-密模式实施无法提供的安全增强功能。
PIM-SSM 与 PIM-SM 不同,前者不使用 RP 或共享树。相反,组播组源地址上的信息将由接收方通过本地接收协议 (IGMPv3) 提供,并且用于直接构建源特定树。
组播双向 PIM
对于有多个源和接收器相互同步交互的网络,以及每个参与者都可以同时成为多播流量的源和接收器的网络而言,多播双向 PIM (例如在视频会议、Webex 会议和分组聊天中)非常有用。当使用 PIM 双向模式时,RP 仅会为共享树创建 (*,G) 条目。没有 (S,G) 条目。这节省了 RP 上的资源,因为这样不用维护每个 (S,G) 条目的状态表。
在 PIM 稀疏模式下,流量仅会沿共享树向下流动。在 PIM 双向模式下,流量沿共享树向上和向下流动。
PIM 双向模式也不使用 PIM 寄存器/寄存器停止机制来向 RP 注册源。每个源随时都可以开始发送到源。当多播数据包到达 RP 时,这些数据包将向下转发到共享树(如果有接收器)或被丢弃(如果没有接收器)。但是,RP 无法告知源停止发送多播流量。
从设计角度看,您必须考虑在网络中放置 RP 的位置,因为该位置应为网络中源和接收器之间的中间位置。
PIM 双向模式没有反向路径转发 (RPF) 检查。相反,它使用指定转发器 (DF) 的概念来防止循环。此 DF 是网段上唯一允许向 RP 发送多播流量的路由器。如果每个网段只有一个路由器转发多播流量,则没有循环。使用以下机制选择 DF:
-
具有最低 RP 指标的路由器是 DF。
-
如果指标相等,则具有最高 IP 地址的路由器将成为 DF。
PIM 自举路由器 (BSR)
PIM 自举路由器 (BSR) 是一个动态交汇点 (RP) 选择模型,它使用候选路由器执行 RP 功能以及中继组的 RP 信息。RP 功能包括 RP 发现并向 RP 提供默认路由。它执行此操作的方式是将一组设备配置为候选 BSR (C-BSR),它们参与 BSR 选举过程,以从它们自身中选出一个 BSR。选择 BSR 后,配置为候选交汇点 (C-RP) 的设备将开始向选出的 BSR 发送其组映射。然后,BSR 会将组与 RP 的映射信息通过基于跳从 PIM 路由器传送至 PIM 路由器的 BSR 消息发至组播树下的其他所有设备。
此功能提供了一种动态获悉 RP 的方法,这在 RP 可能会定期关闭和启动的大型负载网络中非常重要。
PIM 引导程序路由器 (BSR) 术语
以下术语经常在 PIM BSR 配置中引用:
-
自举路由器 (BSR) - BSR 通过 PIM 逐跳向其他路由器通告交汇点 (RP) 信息。在多个候选 BSR 中,在选举过程后会选择单个 BSR。此自举路由器的主要目的是将所有候选 RP (C-RP) 通告收集到称为 RP-set 的数据库中,并以 BSR 消息的形式定期(每 60 秒)将此数据库发送到该网络中的其他路由器。
-
自举路由器 (BSR) 消息— BSR 消息会组播到 TTL 为 1 的 All-PIM-Routers 组。收到这些消息的所有 PIM 邻居会将它们重新传输(TTL 同样为 1)到除收到消息的接口之外的所有接口。BSR 消息包含 RP 集合和当前活动 BSR 的 IP 地址。这是 C-RP 了解在何处单播其 C-RP 消息的方式。
-
候选自举路由器 (C-BSR) - 配置为候选 BSR 的某个设备会参与 BSR 选举机制。具有最高优先级的 C-BSR 会被选举作为 BSR。C-BSR 的最高 IP 地址作为决定因素。BSR 选举过程是优先的,例如,如果出现具有更高优先级的新 C-BSR,它会触发新的选举过程。
-
候选交汇点 (C-RP) - RP 作为组播数据源和接收器的交汇场所。配置为 C-RP 的设备会通过单播定期将组播组映射信息直接通告到选举的 BSR。这些消息包含组范围、C-RP 地址和保持时间。当前 BSR 的 IP 地址从网络中所有路由器收到的定期 BSR 消息获取。这样,BSR 可了解当前正在运行且可访问的 RP。
注
威胁防御设备 不充当 C-RP,即使 C-RP 是 BSR 流量的强制性要求也是如此。仅路由器可以充当 C-RP。因此,对于 BSR 测试功能,您必须将路由器添加到拓扑。
-
BSR 选举机制 - 每个 C-BSR 都会生成包含 BSR 优先级字段的引导程序消息 (BSM)。该域中的路由器会在整个域中泛洪传播 BSM。C-BSR 收到具有比自身优先级更高的 C-BSR 时,会在特定时间内抑制进一步发送 BSM。剩余的单个 C-BSR 会成为选举的 BSR,而且其 BSM 会通知域中的所有其他路由器它是选举的 BSR。
组播组概念
组播基于组概念。任意一组接收者对接收特定数据流表现出兴趣。这样的组没有任何物理边界或地理边界 - 主机可位于互联网上的任何位置。有兴趣接收流向特定组的数据的主机必须使用 IGMP 加入该组。要接收数据流,主机必须是该组的成员。
组播地址
组播地址指定已加入某个组的任意一组 IP 主机,并希望接收发送到此组的流量。
集群
组播路由支持集群。在跨网络 EtherChannel 集群中,在快速路径转发建立之前,控制单元会发送所有的组播数据包和数据包。在建立快速路径转发后,数据单元可能会转发组播数据包。所有数据流都是全流量。同时还支持末节转发流。由于跨网络 EtherChannel 集群中仅有一台设备接收组播数据包,因此,重定向到控制单元较为常见。