如果您的交换机至少有一个多播地址的订阅者,那么每个额外的订阅者会增加多少额外的负载?
示例:您有一个 10G 交换机(带 IGMP),有 10 个服务器,没有其他活动。当 Server1 订阅 1G 组播馈送时,交换机将有 1G 负载。Server2 和 Server3 订阅后的负载是多少?显然到交换机的流量不会增加,但是交换机的内部负载呢?
如果没有 IGMP,答案会有什么不同?
如果您的交换机至少有一个多播地址的订阅者,那么每个额外的订阅者会增加多少额外的负载?
示例:您有一个 10G 交换机(带 IGMP),有 10 个服务器,没有其他活动。当 Server1 订阅 1G 组播馈送时,交换机将有 1G 负载。Server2 和 Server3 订阅后的负载是多少?显然到交换机的流量不会增加,但是交换机的内部负载呢?
如果没有 IGMP,答案会有什么不同?
首先,为您提供一些背景信息。
路由器和交换机的传统定义大致如下:
然而,这一传统定义如今已不再适用,因为我们的交换机可以将流量从一个 IP 子网路由到另一个 IP 子网,甚至可以以线速执行复杂的操作,例如 QoS。
因此,通常更容易重新定义路由器和交换机,如下所示:
现在,要回答您的问题,重要的是要确定交换机中的 ASIC 是否能够处理多播流量。如果是这样,添加“负载”确实不是问题,只要您确保每个交换机端口不拥塞(例如,2Gbps 的流量试图从 1Gbps 端口流出)。如果交换机中的 ASIC 无法处理多播流量,则交换机很可能只会将所有多播流量发送到 CPU。然后由软件决定每个数据包的去向。交换机上的 CPU 并不强大,因为它们的主要作用不是路由/交换数据包,而是管理交换机(例如,配置 ASIC 以便正确交换数据包)。因此,如果您的交换机正在向 CPU 发送数据包,则交换机将会出现问题。您不会通过 CPU 获得接近 1Gbps 的多播。
如果没有 IGMP,默认情况下,交换机将淹没所有端口上的流量。同样,这对交换机本身来说不是问题,因为它可以以线速处理。它可能会导致网络的其他部分出现问题,因为流量被不必要地复制了。
之所以这么长的答案是因为您的示例中的“10G 交换机”一词非常具有误导性,它使我相信您可能认为功能强大的 CPU 位于交换机的中心,能够执行 10Gbps 双向方向切换。事实并非如此,因此谈论交换机上的“负载”通常没有什么意义。
我希望这有帮助。
多播的整个想法是它是高效的。一个用户下游的存在会导致交换机发送其自己的上游的 IGMP 加入请求,并将传入的多播传递到下游,而不会重复。除了增加该组的内部订阅者计数之外,添加更多下游订阅者根本没有任何影响。当它变回零时,它会发送自己上游的 IGMP 离开请求。
我不知道您所说的“没有 IGMP”是什么意思。没有 IGMP 就没有 UDP 多播这样的东西。这在术语上是矛盾的。