托pipe交换机如何处理广播多播和单播?

在典型场景下,networking交换机需要同时处理广播,组播和单播消息。

我想明白

在典型的pipe理型交换机(1Gb以太网/ 10Gb以太网)上,

a)广播/多播/单播消息如何处理不同?

b)处理广播/多播/单播消息的带宽和延迟是多less?

c)不同types消息的负载如何相互影响?

d)为什么从广播切换到多播将会(或者如果做得正确的话,可能会减less交换机上的负载)?

这高度依赖于特定交换机的架构。 48端口“pipe理型交换机”的广泛价格范围(例如低于300美元到超过10,000美元)应该告诉你,内部有一些根本性的不同。 如果你没有为你的交换机付出太多的代价(我希望你没有付钱),那么组播(和其他“企业”function)很可能被卸载到软件(如果它们完全支持的话)。

基本的单播转发在硬件上已经变得相当便宜,所以我希望现代以太网交换机能够在轻载的情况下在基本的单播转发上有相当好的performance。

当您开始向硬件添加更多function时,成本显着上升。 例如,转发单播帧与基于dynamic多播状态的分组复制是非常不同的。 这些都是非常专业的任务。 它需要特定的硬件来做好任何一个。 低端交换机的大多数用户不具有巨大的多播需求。 支付特定于多播的硬件对于这些用户来说是一种浪费。

但是大多数networking使用一点点多播。 因此,制造商通常在软件中实现组播和其他不太常用的function。 例如,单播转发硬件将被告知将具有多播MAC地址的任何东西转发到由CPU子系统(或至less一个某种微控制器)接收的内部端口。 然后软件进程就可以查看帧,查阅组播转发表,复制帧并将多个副本交还给硬件,每个端口转发一个副本。 显然,在软件中可以添加很多function,而不会显着影响交换机的成本。

在这样的系统中,性能将永远不会接近单播。 CPU的性能显然会有一些影响,但是如果你发送了那些无法用硬件转发的“exception”stream量, 那么你做错了 。 你需要购买一个不同的开关。

在最糟糕的情况下,真正的低端交换机将不会有任何资源保护,因此被多播stream量抨击的相同CPU将会忘记它也负责交换机中所有其他内容的维护和馈送。 如果CPU忙于复制组播stream量以保持单播表的硬件更新(或者CPU应该做的任何其他操作),则会遇到各种各样的问题。

  1. 与非托pipe交换机相同; 可能会增加vLAN和类似的复杂性。
  2. 这是具体实现,但通常没有区别。 数据包风暴可能会造成延迟,但这与数据包的types无关。
  3. 与#2相同:具体实现,一般没有区别。
  4. “负载”不是一个明确的术语,我认为你的意思是端口利用率。 只有转发到那些订阅到广播发送到每个端口(仍然增加复杂性,如vLANs)组的组播端口。