发明名称 二层交换设备基于Linux内核桥实现组播的方法
摘要 本发明公开了一种二层交换设备基于Linux内核桥实现IP组播的方法,包括以下步骤:设置在二层交换设备中的Linux内核桥监听主机与路由器之间的IGMP报文并根据IGMP报告报文或IGMP离开报文对自身或二层交换设备中的网络处理器的组播转发表项进行维护;所述Linux内核桥识别收到的数据帧是否为组播报文,并根据自身或网络处理器上的组播转发表项将组播报文向具有组成员的端口转发,对其他报文进行透传。本发明,通过设置在二层交换设备中的Linux内核桥实现了IGMP Snooping功能,解决了二层交换设备中组播报文泛滥的问题,通过灵活的配置,大大降低了CPU的负荷,并在此基础上实现了有线端口和无线端口的全桥的IGMP Snooping功能。
申请公布号 CN102694734B 申请公布日期 2016.02.10
申请号 CN201210190639.1 申请日期 2012.06.11
申请人 烽火通信科技股份有限公司 发明人 廖旭;周转运;吉刘涛;王健
分类号 H04L12/70(2013.01)I 主分类号 H04L12/70(2013.01)I
代理机构 北京捷诚信通专利事务所(普通合伙) 11221 代理人 魏殿绅;庞炳良
主权项 二层交换设备基于Linux内核桥实现IP组播的方法,其特征在于,包括以下步骤:设置在二层交换设备中的Linux内核桥监听主机与路由器之间的IGMP报文,并根据IGMP报告报文或IGMP离开报文对自身或二层交换设备中的网络处理器的组播转发表项进行维护,具体做法是:通过对Linux内核桥的br_handle_frame_finish()函数进行扩展,实现IGMP报文的监听功能,维护端口的组成员关系;根据所述Linux内核桥自身或网络处理器上的组播转发表项将组播报文向具有组成员的端口转发;Linux内核桥对自身或二层交换设备中的网络处理器上的组播转发表项进行维护包括以下步骤:A101、以IP层协议类型代码是否为0x02获得数据帧报文是否为IGMP报文的判断结果,当判断结果表明所述数据帧报文不是IGMP报文时,执行步骤A105;否则转步骤A102;A102、判断所述IGMP报文是否为IGMP Query报文,如果是则进行透传;否则转步骤A103;A103、判断所述IGMP报文是否为IGMP Leave报文,如果不是,转步骤A105,否则,转步骤A104;A104、通过读取配置判断是否开启Fast‑Leave功能,如果是,则直接从所述Linux内核桥或所述网络处理器上的组播转发表项中删除具有组成员的端口,否则,直接转步骤A105;A105、透传该报文。
地址 430074 湖北省武汉市东湖开发区关东科技园东信路5号