我有一个L2管理的1Gbps交换机和IGMP监听(我正在测试的交换机是一个testing TP 3216)。我有几个相同的设备(这些是我们正在开发的嵌入式设备)连接到交换机上,并且这个系统没有连接到任何其他网络。
虽然所有设备都向所有其他设备发送一些数据,但它们大部分时间是成对的(这些对随时间而变化)。当配对时,它们在一个方向上使用接近连接的全带宽.现在我遇到了一种情况,在这种情况下,设备必须同时向两个或三个设备发送1 1Gbps数据流:我需要多播。
如果我广播这些数据,其他端口会变得拥堵,并有效地阻止其他对进行有效的通信?
我所知道的在这样的交换机上实现多播(而不是广播)的唯一方法是通过IGMP窥探(如果这个说法不正确,请纠正我)。
IGMP监听要求设备充当IGMP的多播路由器。我在设备中增加了IGMPv2功能:无论交换机上的哪个设备具有最低的MAC地址,都会成为多播路由器。
该系统的工作原理是:设备可以随心所欲地加入和离开组,并由交换机正确地引导多播数据。到目前一切尚好。
在IGMP中,组播路由器是每个组播组的成员,接收发送到任意多播地址的所有数据。一旦在该网络中建立了一个以上的组播组,则将来自多个设备的完整1 1Gbps数据流发送到组播路由器,从交换机完全超出链路,造成巨大的分组丢失。作为多播路由器的设备还必须履行其常规(非路由器)职责。
是否有一种方法使组播路由器不成为多播组的成员,或者至少不发送每个数据包?别人告诉我,这是不可能的。
在此交换机上实现多播是否有不同的解决方案?
解决方案似乎是使用另一个交换机:一个内置了多播查询程序的交换机。这避免了多播路由器带宽不足的问题。
带有多播查询器的交换机是否会遇到与原系统中的组播路由器相同的问题?具体来说,所有多播帧(不仅仅是IGMP报告)都被发送到多播路由器(在本例中是交换机查询器),并且随着高流量,查询程序将被淹没。
发布于 2017-01-10 11:08:52
引用“cpt_fink”:
您需要一些作为多播查询程序的功能,而不是组播路由器。我不知道这是否有可能在一个TP-链接设备.-2月18日cpt_fink 2月15日5:19
解决方案是可能的:添加任何廉价的网络设备(廉价路由器、linux中的旧网卡等),并发送IGMP、v2或v3查询进行切换。交换机将检测到查询器是否可用,并将所有多播通信发送到廉价设备。设备的eth hw将过滤和拒绝多播分组。在我的网络中,我捕获了IGMP v3查询,并使用tcpdump发送数据包。
当未找到IGMP查询程序时,交换机可能会将多播数据包广播到所有端口。成功Zajo Bajo
发布于 2015-02-17 20:19:33
除非您想静态地配置您的交换机端口,否则您需要一个多播路由器,并且这个路由器将始终接收多播通信量。理论上,您可以使用交换机上的L3接口作为多播路由器,但是您的交换机是L2,所以恐怕您运气不好。
最后,请考虑交换机的背板带宽,一些交换机使用相同的ASIC (通常为8)端口组,有效地在它们之间共享有限的带宽。我的意思是,交换机的总带宽可能远低于1Gbps x#端口。因此,即使您可以解决多播路由器问题,您也可能会遇到另一个带宽问题。
https://networkengineering.stackexchange.com/questions/16720
复制相似问题