刷新多播组成员身份 [英] Refresh multicast group membership
问题描述
我有几台嵌入式计算机正在侦听rtp音频数据并将其流式传输到多播组.它们被连接到一个智能管理型交换机(Netgear GS108Ev2),该交换机在其端口上执行基本的igmp侦听和多播过滤,从而不会淹没我的(W)LAN的其余部分.
I have several embedded machines listening and streaming rtp audio data to a multicast group. They are connected to a smart managed switch (Netgear GS108Ev2) which does basic igmp snooping and multicast filtering on its ports, so that the rest of my (W)LAN doesn't get flooded.
开始时,一切正常约500-520秒.之后,他们将再接收任何数据,直到他们离开并再次加入该小组.我猜这是在超时后切换忘记"了联接.
At start everything works fine for about 500-520 seconds. After that, they don't receive any more data until they leave and join the group again. I guess the switch is "forgetting" about the join after a timeout.
是否有任何方法可以刷新组成员身份,即让交换机知道仍然有人在听,而不会丢失数据包?
Is there any way to refresh the group membership, i.e. letting the switch know, that there ist still someone listening, without losing packets?
系统信息:
Arch: blackfin
# cat /proc/version
Linux version 2.6.28.10-ADI-2009R1-uCBF54x-EMM
(gcc version 4.3.3 (ADI) ) #158 PREEMPT Tue Jun 5 20:05:42 CEST 2012
推荐答案
这是组播/IGMP协议的工作方式.客户必须通过发送会员报告来定期加入该小组,否则将假定他在短暂的超时后离开了该小组.但是,这些报告通常仅在从本地多播路由器收到会员查询时才发送.您的客户要么没有收到查询,要么没有报告.
This is the way multicast / the IGMP protocol works. A client has to join the group periodically by sending a Membership Report or it will be assumed that he has left the group after some short timeout. However, those reports are usually sent only when receiving a Membership Query from the local multicast router. Either your clients don't receive the query or don't respond with a report.
尝试使用Wireshark之类的工具,以查看通过您的网络发送了哪些IGMP数据包.
Try to use a tool like wireshark in order to see which IGMP packets are sent through your network.
这篇关于刷新多播组成员身份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!