如果流量从不是该多播组成员的主机发送到该多播组会发生什么?路由器是否保留有效组播源的任何信息并丢弃此流量?我无法清楚地了解 (*, G) 与 (S, G) 条目。由于有 (*, G) 条目,是否会转发数据包?
ASM 网络中的组播源是否应该是组播组的成员?
多播发送者通常不属于他们要发送到的多播组,因为他们已经拥有要发送到该组的信息。
根据您的多播配置,路由器可以接收新的多播数据包并转发到已知的集合点,然后 RP 将转发给感兴趣的接收者。这将创建一个 (S,G) 条目,如果您想控制谁发送到您的多播组,您需要限制发送者源地址。
其他配置可能有不同的转发决策。
多播源通过其本地第一跳路由器(DR - 指定路由器)向 RP(集合点)注册,接收者通过其本地第一跳 DR“加入”以 RP 为根的共享树。现在(在稀疏模式下)接收者通过 IGMP 消息加入共享树(*,G),表明他们希望接收多播,然后从 RP 到源的 DR 建立(S,G)(最短路径)状态。一旦实现了这个连接,多播流量就会沿着共享树发送。但是,一旦接收方的 DR 在共享树 (*,G) 的前几个数据包中看到多播的源 IP,它就会切换到使用最短路径 (S,G),最短路径树意味着它使用单播路由返回源的最短路径。
要回答问题的第一部分“如果流量从不是该多播组成员的主机发送到多播组会发生什么?” 如果您的多播配置中没有内置任何安全性,则可以将流量从恶意源传递到多播组。
您问题的第二部分“路由器是否保留有效组播源的任何信息并丢弃此流量?” 同样,如果您没有安全措施,是的,DR 路由器将其作为有效源接受并保持其 (S,G) 状态,这还将向 RP 发送 PIM 源消息,RP 将其映射到源。
而您问题的第三部分“我无法清楚地了解(*,G)与(S,G)条目。由于有(*,G)条目,数据包会被转发吗?” 同样,如果您没有安全措施,流氓多播源可以并且会向所有请求接收者发送流量。流氓向接收者构建一个有效但未经授权的共享树(*,G),一旦接收者的 DR 收到来自未授权源的前几个组播数据包,DR 将切换到单播路由分配方案,这意味着它将使用到源的最短路径(S,G)。
因此,在您的情况下,对于“流氓源安全”,这是一种非常常见的最佳实践,您可以在 RP 和所有 DR 上使用“pim accept-register”,然后将其绑定到允许所有有效多播源的 ACL。“ip pim 接受寄存器列表 valid_sources” “ip access-list extended valid_sources” “permit ip 171.71.68.20 0.0.0.15 239.x.0.0 0.0.255.255