组播跨板转发的控制方法 所属技术领域
本发明属于宽带网络通信领域,具体涉及一种宽带以太网组播跨板转发的控制方法。
背景技术
组播技术实现了IP网络中点到多点的高效数据传送,因为组播能够有效地节约网络带宽、降低网络负载,所以在实时数据传送、多媒体会议、数据拷贝游戏和仿真等诸多方面都有广泛的应用。
目前骨干网上的交换机、路由器大多为框架结构,一个机框里可以插多块板子,板子通过背板相连。如何控制组播数据在多块板子的传输,就成了一个必须要解决的问题。
【发明内容】
本发明克服组播跨板转发的难题,提供一种组播数据跨板转发的控制方法,可实现组播数据精确转发到交换机、路由器所有板的任何端口。
本发明的技术内容:一种组播跨板转发的控制方法,包括:
(1)组播模块在组播源和点播者之间建立组播路由,由主控板向接口板广播下发组播转发表;
(2)每块接口板建立自己的转发表项;
(3)判断出端口是否在本板上,如果出端口不在本板上,则出端口置为空;如果出端口在本板上,则加上出端口
(4)判断源端口是否在本板上,如果源端口在本板上,必须设置转发模式为“转发已知的组播数据、丢弃未知的数据”;
(5)设置源端口所在的板子的转发组播数据到背板上的所有端口。
进一步包括:当停止点播时,点播者发出离开报文,组播模块更新组播路由,由主控板向所有板广播下发删除组播转发表,每块接口板删除本板上的组播表项。
当有接口板热拔时,主控板判断接口板地端口是否在组播转发表里,如果有,从组播表里删除接口板的端口。
当接口板热插后,主控板同步所有接口板的组播表项,保持接口板表项索引的一一对应。
包括:(1)主控板下发删除所有组播组的表项,
(2)根据主控板的组播表项,下发添加所有组播组的表项。
所述组播转发表包含源IP地址、组IP地址、源端口所在端口、目的端口。
所述接口板的转发表项记录源IP地址、组IP地址、VLAN ID。
本发明的技术效果:通过主控板向所有板广播下发组播转发表,每块板子都建立了一个相同组播组的组播表项,设置源端口所在的板子转发组播数据到背板上的所有端口,所有接口板都得到相同的组播数据,当接口板收到组播数据后,查找组播表,如果本板没有点播者时,将组播包丢弃;如果本板有点播者,则进行转发,从而实现了组播在交换机、路由器上的跨板转发。
当有接口板热拔时,主控板判断接口板的端口是否在组播转发表里,如果有,从组播表里删除接口板的端口;当接口板热插后,主控板同步所有接口板的组播表项,保持接口板表项索引的一一对应。可支持组播热插、热拔的处理。
【附图说明】
图1是本发明组播跨板转发控制方法的设置转发表项的流程图;
图2是本发明组播跨板转发控制方法的转发流程图;
图3是本发明组播跨板转发控制方法的热拔处理流程图;
图4是本发明组播跨板转发控制方法的热插处理流程图;
【具体实施方式】
参考图1、图2,组播跨板转发的控制方法,其步骤包括:
1.组播模块在组播源和点播者之间建立组播路由,由主控板向所有板广播下发组播转发表。组播转发表里包含了源IP地址、组IP地址、源端口所在端口、目的端口。端口信息包括了板子所在机框槽号、面板端口号;
2.每块板子收到组播转发表后,建立自己的转发表项,记录源IP地址、组IP地址、VLAN ID;
3.判断出端口是否在本板上,如果出端口不在本板上,则出端口置为空;如果出端口在本板上,则加上出端口。
4.判断源端口是否在本板上,如果源端口在本板上,必须设置转发模式为“转发已知的组播数据、丢弃未知的数据”;为了能将组播数据转发到各块板子,必须设置源端口所在的板子转发组播数据到背板上的所有端口。
5.经过上述步凑,每块板子都建立了一个相同组播组的组播表项。如果接口板没有点播者,相应的出端口为空;有点播者,则加入相应的出接口。
6.组播数据从入端口进入接口板,转发到背板的所有端口,从而到达所有的接口板。接口板收到组播数据后,查找组播表,判断本板没有点播者,则将组播包丢弃;如果本板有点播者,则进行转发。
7.停止点播时,由主控板向所有板广播下发删除组播转发表。每块板子都删除本板上的组播表项,点播停止。
为了说明本发明的技术方案,提供一具体实施例:
1.配置media server服务器,启动组播服务;
2.在交换机启动组播功能,配置好相应的接口;
3.点播者开始点播,发出IGMP加入报文;
4.接口管理模块获得点播者所在的端口号、VLAN ID、槽号,通知组播路由模块;
5.组播模块在组播源和点播者之间建立组播路由,由主控板向所有板广播下发组播转发表,组播转发表里包含了源IP地址、组IP地址、源端口所在端口、目的端口、端口信息,端口信息包括了板子所在机框槽号、面板端口号;
6.每块板子收到组播转发表后,建立自己的转发表项,记录源IP地址、组IP地址、VLAN ID;
7.判断出端口是否在本板上,如果出端口不在本板上,则出端口置为空;如果出端口在本板上,则加上出端口;
8.判断源端口是否在本板上,如果源端口在本板上,必须设置转发模式为“转发已知的组播数据、丢弃未知的数据”,为了能将组播数据转发到各块板子,必须设置源端口所在的板子转发组播数据到背板上的所有端口;
9.经过上述步骤,每块板子都建立了一个相同组播组的组播表项,如果接口板没有点播者,相应的出端口为空,有点播者,则加入相应的出接口;
10.组播数据从入端口进入接口板,转发到背板的所有端口,从而到达所有的接口板,接口板收到组播数据后,查找组播表,判断本板没有出接口,则将组播包丢弃,如果本板有出接口,则进行转发。
11.点播者想停止点播,发出IGMP离开报文,组播模块更新组播路由,由主控板向所有板广播下发删除组播转发表。每块板子都删除本板上的组播表项,点播停止。
本发明的另一实施例为:
参考图3、图4,当板子发生故障,需要替换接口板,进行热插拔。具体步骤如下:
1.拔出接口板,接口板热拔后,主控板检测到接口板热拔,由主控板触发接口板端口删除事件;
2.主控板收到端口删除事件,判断接口板的端口是否在组播转发表里,没有则不做任何处理,有则从组播表里删除接口板的端口,热拔处理完毕;
3.用好的接口板替换有故障的板子,插回原来的槽位;
4.接口板热插后,主控板检测到接口板热插,必须同步所有接口板的组播表项,保持接口板表项索引的一一对应;
5.主控板根据自己的组播表项,下发删除所有组播组的表项,然后又下发添加所有组播组的表项,保持所有接口板的表项索引一一对应,跨板转发正常,接口板热插处理完毕。