数据链路层组播方法、系统及设备的制作方法
【专利摘要】本发明公开了一种数据链路层组播方法、系统及设备,属于计算机网络领域。所述方法包括:第一设备通过边缘端口接收组播组加入请求,将边缘端口设置为组播组的成员端口,并通过第一互联端口向第二设备发送组播组加入请求;第二设备通过第二互联端口接收组播组加入请求,检测是否还收到其它设备的同组播组加入请求,若还收到,则将第二互联端口设置为组播组的成员端口,并通过第二互联端口向第一设备反馈组播组加入请求;此时,第一设备将第一互联端口设置为组播组的成员端口。本发明通过为每个组播组添加和维护成员端口,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。
【专利说明】数据链路层组播方法、系统及设备
【技术领域】
[0001]本发明涉及计算机网络领域,特别涉及一种数据链路层组播方法、系统及设备。
【背景技术】
[0002]组播是网络转发中介于单播和广播之间的转播方式,它的特点是“单点发、多点收”。
[0003]请参考图1,其示出了一种由2级交换机组成的数据中心网络的网络拓扑图。该数据中心网络包括两个汇聚点交换机和与两个汇聚点交换机相连的三个接入交换机,每个接入交换机还与两个服务器相连。其中,汇聚点交换机在组播过程充当“组播汇聚点”,接入交换机在组播过程充当“组播网关”,服务器则在组播过程充当“组播终端”。
[0004]以属于同一组播组A的组播终端Y、组播终端Xl和组播终端X2之间进行组播为例,组播过程主要包括:组播终端Y发送组播数据,组播网关128通过监听组播终端Y对应端口的网络层组播协议,在接收到该组播数据后,将其与组播终端Y、组播汇聚点I和组播汇聚点2相连的端口配置为信任端口,所谓信任端口为免监听端口,表示始终进行转发的端口,然后将组播数据按照RPF (Reverse Path Forwarding,反向路径转发)机制转发至组播汇聚点I和组播汇聚点2 ;同理,组播汇聚点I将其与组播网关128、组播网关I相连的端口配置为信任端口,组播汇聚点2将其与组播网关128、组播网关I相连的端口配置为信任端口,然后分别将组播数据按照RPF机制转发至组播网关I ;组播网关I将其与组播终端X1、组播终端X2、组播汇聚点I和组播汇聚点2相连的端口配置为信任端口,然后将组播数据复制分发至组播终端Xl和组播终端X2,至此,组播终端Xl和组播终端X2收到该组播数据。
[0005]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:一方面,信任端口会为所有组播组服务,其处于始终转发状态会浪费端口带宽且造成安全隐患;另一方面,交换机需要监听的网络层组播协议众多,包括IGMPvl (Internet Group ManagementProtocol,互联网组管理协议)、IGMPv2、IGMPv3、MLDvl (Multicast Listener Protocol,组播接收者协议)、MLDv2等,实现较为复杂;而且,现有的组播转发采用与广播转发相同的RPF机制,会将组播数据转发给不必要的端口,即浪费带宽又带来安全隐患。
【发明内容】
[0006]有鉴于此,本发明实施例提供了一种数据链路层组播方法、系统及设备,以便解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题。所述技术方案如下:
[0007]—个方面,提供了一种数据链路层组播方法,所述方法包括:
[0008]第一设备通过边缘端口接收终端发送的组播组加入请求,将所述边缘端口设置为所述组播组的成员端口,并通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求;
[0009]所述第二设备通过第二互联端口接收所述第一设备发送的组播组加入请求,检测是否还收到其它设备的同组播组加入请求,若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口,并通过所述第二互联端口向与所述第一设备反馈组播组加入请求;
[0010]所述第一设备通过所述第一互联端口接收所述第二设备反馈的组播组加入请求,将所述第一互联端口设置为所述组播组的成员端口;
[0011]其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ;
[0012]所述第一互联端口为所述第一设备中与所述第二设备相连的端口 ;
[0013]所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
[0014]进一步地,所述并通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求之前,还包括:
[0015]所述第一设备接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备。
[0016]进一步地,所述方法,还包括:
[0017]所述第一设备通过所述边缘端口或所述第一互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发;
[0018]所述第二设备通过所述第二互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0019]进一步地,所述方法,还包括:
[0020]所述第一设备接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备;
[0021]所述第一设备在一个组播组所对应的作为主转发设备的第二设备发生故障时,向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
[0022]另一方面,提供了一种数据链路层组播系统,所述系统包括:终端、与所述终端相连的第一设备和与所述第一设备相连的第二设备;
[0023]所述终端,用于向所述第一设备发送组播组加入请求;
[0024]所述第一设备,用于通过边缘端口接收所述终端发送的组播组加入请求,将所述边缘端口设置为所述组播组的成员端口,并通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求;
[0025]所述第二设备,用于通过第二互联端口接收所述第一设备发送的组播组加入请求,检测是否还收到其它设备的同组播组加入请求,若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口,并通过所述第二互联端口向与所述第一设备反馈组播组加入请求;
[0026]所述第一设备,还用于通过所述第一互联端口接收所述第二设备反馈的组播组加入请求,将所述第一互联端口设置为所述组播组的成员端口 ;
[0027]其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ;[0028]所述第一互联端口为所述第一设备中与所述第二设备相连的端口 ;
[0029]所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
[0030]进一步地,所述第一设备,还用于接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备。
[0031]进一步地,所述第一设备,还用于通过所述边缘端口或所述第一互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发;
[0032]所述第二设备,还用于通过所述第二互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0033]进一步地,所述第一设备,还用于接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备;
[0034]所述第一设备,还用于在一个组播组所对应的作为主转发设备的第二设备发生故障时,向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
[0035]再一方面,提供了一种交换机,包括:
[0036]接收模块,用于通过边缘端口接收终端发送的组播组加入请求;
[0037]设置模块,用于将所述边缘端口设置为所述组播组的成员端口 ;
[0038]发送模块,用于通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求;
[0039]所述接收模块,还用于通过所述第一互联端口接收所述第二设备反馈的组播组加入请求;
[0040]所述设置模块,还用于将所述第一互联端口设置为所述组播组的成员端口 ;
[0041]其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ;
[0042]所述第一互联端口为所述第一设备中与所述第二设备相连的端口。
[0043]进一步地,所述交换机,还包括:
[0044]存储模块;
[0045]所述接收模块,还用于接收所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备;
[0046]所述存储模块,用于存储所述第一对应关系。
[0047]进一步地,所述接收模块,还用于通过所述边缘端口或所述第一互联端口接收组播组的组播数据;
[0048]所述发送模块,还用于查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0049]进一步地,所述交换机,还包括:
[0050]所述接收模块,还用于接收所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备;
[0051]所述存储模块,还用于存储所述第二对应关系;
[0052]所述发送模块,还用于在一个组播组所对应的作为主转发设备的第二设备发生故障时,向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
[0053]又一方面,提供了一种交换机,包括:
[0054]接收模块,用于通过第二互联端口接收所述第一设备发送的组播组加入请求;
[0055]检测模块,用于检测是否还收到其它设备的同组播组加入请求;
[0056]设置模块,用于若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口;
[0057]发送模块,用于通过所述第二互联端口向与所述第一设备反馈组播组加入请求;
[0058]其中,所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
[0059]进一步地,所述发送设备,还用于每隔预定时间间隔向所述第一设备下发的交换机与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个交换机对应,且所述交换机作为主转发设备。
[0060]进一步地,所述接收模块,还用于通过所述第二互联端口接收组播组的组播数据;
[0061 ] 所述发送模块,还用于查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0062]进一步地,所述发送模块,还用于每隔预定时间间隔向所述第一设备下发交换机与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个交换机对应,且所述交换机作为备用转发设备。
[0063]本发明实施例提供的技术方案带来的有益效果是:
[0064]通过在数据链路层为每个组播组添加和维护成员端口,解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。
【专利附图】
【附图说明】
[0065]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]图1是现有技术中一种由2级交换机组成的数据中心网络的网络拓扑图;
[0067]图2是本发明实施例所涉及的一种实施环境的结构示意图;
[0068]图3是本发明实施例一提供的数据链路层组播方法的方法流程图;
[0069]图4是本发明实施例二提供的数据链路层组播方法的方法流程图;
[0070]图5是本发明实施例三和四提供的数据链路层组播系统的结构方框图;
[0071]图6是本发明实施例五提供的交换机的结构方框图;
[0072]图7是本发明实施例六提供的交换机的结构方框图;
[0073]图8是本发明实施例七和八提供的交换机的结构方框图。【具体实施方式】
[0074]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0075]请参考图2,其示出了本发明实施例所涉及的一种实施环境的结构示意图。该实施环境为由2级交换机组成的数据中心网络。该数据中心网络包括三个汇聚点交换机、与三个汇聚点交换机相连的三个接入交换机和与每个接入交换机相连的若干个服务器。具体地讲:
[0076]汇聚点交换机I与接入交换机1、接入交换机128和接入交换机256分别相连;
[0077]汇聚点交换机2与接入交换机1、接入交换机128和接入交换机256分别相连;
[0078]汇聚点交换机3与接入交换机1、接入交换机128和接入交换机256分别相连;
[0079]接入交换机I还与服务器X1、服务器X2和服务器X3相连;
[0080]接入交换机2还与服务器Y1、服务器Y2和服务器Y3相连;
[0081]接入交换机3还与服务器Zl和服务器Z2相连。
[0082]其中,汇聚点交换机在组播过程充当“组播汇聚点”,在本文中,统称之为“第二设备”;接入交换机在组播过程充当“组播网关”,在本文中,统称之为“第一设备”;服务器则在组播过程充当“组播终端”。
[0083]实施例一
[0084]请参考图3,其示出了本发明实施例一提供的数据链路层组播方法的方法流程图。本实施例以该数据链路层组播方法应用在图2所示实施环境,“第一设备”为图2中的接入交换机;“第二设备”为图2中的汇聚点交换机来举例说明。该数据链路层组播方法,包括:
[0085]步骤301,第一设备通过边缘端口接收终端发送的组播组加入请求;
[0086]在本实施例中,将第一设备中与组播终端相连的端口统称为边缘端口。具体地讲,在图2中,服务器作为组播终端,接入交换机作为第一设备;接入交换机中与服务器相连的端口即为边缘端口。
[0087]当一个组播终端需要加入某个组播组时,该组播终端需要向第一设备发送针对该组播组的组播组加入请求;然后,第一设备通过与该组播终端相连的边缘端口接收该组播终端发送的组播组加入请求。
[0088]比如,服务器Xl需要加入组播组A,则服务器Xl可以向接入交换机I发送针对组播组A的组播组加入请求,接入交换机I可以通过与服务器Xl相连的边缘端口接收服务器Xl发送的针对组播A的组播组加入请求。
[0089]步骤302,将边缘端口设置为组播组的成员端口 ;
[0090]第一设备接收到组播终端发送的组播组加入请求之后,可以直接将与该组播终端相连的边缘端口设置(也可以称之为“添加”)为该组播组的成员端口。
[0091]比如,接入交换机I接收到服务器Xl发送的针对组播A的组播组加入请求之后,可以直接将与服务器Xl相连的边缘端口设置(也可以称之为“添加”)为组播组A的成员端□。
[0092]步骤303,通过第一互联端口向与组播组对应的第二设备发送组播组加入请求,第二设备通过第二互联端口接收第一设备发送的组播组加入请求;[0093]在本实施例中,将第一设备中与第二设备相连的端口统称为第一互联端口。具体地讲,在图2中,接入交换机作为第一设备,汇聚点交换机作为第二设备;接入交换机中与汇聚点交换机相连的端口即为第一互联端口。
[0094]在上一步骤,也即第一设备将该边缘端口设置为该组播组的成员端口之后,第一设备还通过第一互联端口向与组播组对应的第二设备发送组播组加入请求。具体地讲,第一设备的内部预先存储有组播组与第二设备的对应关系;在将一个边缘端口设置为该组播组的成员端口之后,可以根据预先存储的对应关系,查询与该组播组对应的第二设备,然后通过与查询到的第二设备相连的第一互联端口向与组播组对应的第二设备发送组播组加入请求。
[0095]比如,接入交换机I将与服务器Xl相连的边缘端口设置为组播组A的成员端口之后,接入交换机I根据预先存储的对应关系,查询与组播组A对应的汇聚点交换机2,然后接入交换机I通过与汇聚点交换机2相连的第一互联端口向与组播组A对应的汇聚点交换机2发送组播组加入请求。
[0096]此时,第二设备通过第二互联端口接收第一设备发送的组播组加入请求;
[0097]在本实施例中,将第二设备中与第一设备相连的端口统称为第二互联端口。具体地讲,在图2中,接入交换机作为第一设备,汇聚点交换机作为第二设备;汇聚点交换机中与接入交换机相连的端口即为第二互联端口。
[0098]第二设备通过第二互联端口可以接收到第一设备发送的组播组加入请求。
[0099]比如,汇聚点交换机2通过与接入交换机I相连的第二互联端口可以接收到接入交换机I发送的针对组播组A的组播组加入请求。
[0100]步骤304,检测是否还收到其它设备的同组播组加入请求,若还收到其它设备的同组播组加入请求,则将第二互联端口设置为组播组的成员端口 ;
[0101]因为只有一个终端加入一个组播组是没有意义的,所以第二设备在收到第一设备发送的组播组加入请求之后,需要检测是否还收到其它设备的同组播组加入请求,该其它设备非第一设备和第二设备。如果第二设备还收到其它设备的同组播组加入请求,则表示有至少两个组播终端待加入或已加入该组播组;如果第二设备还未收到其它设备的同组播组加入请求,则表示当前只有一个组播终端待加入该组播组。
[0102]比如,汇聚点交换机2通过与接入交换机I相连的第二互联端口可以接收到接入交换机I发送的针对组播组A的组播组加入请求时,还检测是否还收到其它设备的同组播组加入请求,该其它设备的同组播组加入请求可以是其它接入交换机向汇聚点交换机2发送的。
[0103]若第二设备检测到还接收到了其它设备的同组播组加入请求,则将与第一设备相连的第二互联端口设置为组播组的成员端口。
[0104]比如,汇聚点交换机2检测到还接收到了接入交换机2发送的与组播组A对应的组播组加入请求,则汇聚点交换机2将与接入交换机I相连的第二互联端口设置为组播组A的成员端口。
[0105]步骤305,通过第二互联端口向第一设备反馈组播组加入请求;
[0106]在第二设备将与第一设备相连的第二互联端口设置为组播组的成员端口之后,第二设备还通过与第一设备相连的第二互联端口向第一设备反馈组播组加入请求。[0107]比如,汇聚点交换机2将与接入交换机I相连的第二互联端口设置为组播组A的成员端口之后,汇聚点交换机2还通过与接入交换机I相连的第二互联端口向接入交换机I反馈组播组加入请求
[0108]步骤306,第一设备通过第一互联端口接收第二设备反馈的组播组加入请求,将第一互联端口设置为组播组的成员端口。
[0109]第二设备通过与第一设备相连的第二互联端口向第一设备反馈组播组加入请求之后,第一设备可以通过与第二设备相连的第一互联端口接收第二设备反馈的组播组加入请求,然后将第一互联端口设置为组播组的成员端口。
[0110]比如,接入交换机I可以通过与汇聚点交换机2相连的第一互联端口接收汇聚点交换机2反馈针对组播组A的组播组加入请求;然后,接入交换机I将与汇聚点交换机2相连的第一互联端口设置为组播组A的成员端口。
[0111]总结上述过程,在本实施例中,设置端口为一个组播组的成员端口,包括:
[0112]第一,第一设备接收到终端发送的组播组加入请求,则直接将其内部与终端相连的边缘接口设置为该组播组的成员端口 ;
[0113]第二,第一设备向第二设备发送组播组加入请求,并且接收到第二设备反馈的组播组加入请求时,才把其内部与第二设备相连的第一互联端口设置为该组播组的成员端Π ;
[0114]第三,第二设备在接收到第一设备发送的组播组加入请求,且同时检测到还收到其它设备的同组播组加入请求时,才把其内部与第一设备相连的第二互联端口设置为该组播组的成员端口。
[0115]综上所述,本实施例提供的数据链路层组播方法,通过在数据链路层为每个组播组添加和维护成员端口,解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。
[0116]实施例二
[0117]请参考图4,其示出了本发明实施例二提供的数据链路层组播方法的方法流程图。本实施例以该数据链路层组播方法应用在图2所示实施环境,“第一设备”为图2中的接入交换机;“第二设备”为图2中的汇聚点交换机来举例说明。该数据链路层组播方法,包括:
[0118]步骤401,第一设备接收并存储第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系和第二对应关系;
[0119]由于本实施例中,接入交换机和汇聚点交换机都是针对每一个组播组分别维护组播组的成员端口的,故接入交换机和汇聚点交换机之间需要周期性地维护有关组播组的相关信息。具体地讲,本步骤分两个方面:
[0120]第一,第一设备接收并存储第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在第一对应关系中,每个组播组仅与一个第二设备对应,且第二设备作为主转发设备;
[0121]第二设备与组播组之间的第一对应关系通常为一一对应关系,也即对于一个组播组,只会有一个第二设备会作为其的主转发设备。该第一对应关系可以是网络管理员配置生成。第二设备会每隔预定时间间隔向与其相连的第一设备下发该第一对应关系,以便第一设备接收并存储该第一对应关系。
[0122]比如,网络管理员可以配置汇聚点交换机2作为组播组A的主转发设备;汇聚点交换机3作为组播组B的主转发设备;汇聚点交换机I作为组播组C的主转发设备,这些汇聚点交换机与组播组之间的对应关系即为第一对应关系。
[0123]第二,第一设备接收并存储第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在第二对应关系中,每个组播组仅与一个第二设备对应,且第二设备作为备用转发设备。
[0124]对于一个组播组,为了保证作为其主转发设备的第二设备发生故障时,该组播组还能够正常运行,还可以为每个组播组设置备用第二设备。第二设备与组播组之间的第二对应关系通常也为一一对应关系,也即对于一个组播组,只会有一个第二设备会作为其的备用转发设备。该第二对应关系可以是网络管理员配置生成。第二设备会每隔预定时间间隔向与其相连的第一设备下发该第二对应关系,以便第一设备接收并存储该第二对应关系。同时需要说明的是,作为一个组播组的主转发设备的第二设备,与作为该组播组的备用转发设备的第二设备通常为两个不同的第二设备,而不能是相同的第二设备。
[0125]比如,网络管理员可以配置汇聚点交换机2作为组播组B的备用转发设备;汇聚点交换机3作为组播组C的备用转发设备;汇聚点交换机I作为组播组A的备用转发设备,这些汇聚点交换机与组播组之间的对应关系即为第二对应关系。在不需要备份汇聚点功能的实施例中,可以不包括该第二子步骤。
[0126]步骤402,第一设备通过边缘端口接收终端发送的组播组加入请求;
[0127]在本实施例中,将第一设备中与组播终端相连的端口统称为边缘端口。具体地讲,在图2中,服务器作为组播终端,接入交换机作为第一设备;接入交换机中与服务器相连的端口即为边缘端口。
[0128]当一个组播终端需要加入某个组播组时,该组播终端需要向第一设备发送针对该组播组的组播组加入请求;然后,第一设备通过与该组播终端相连的边缘端口接收该组播终端发送的组播组加入请求。
[0129]比如,服务器Xl需要加入组播组A,则服务器Xl可以向接入交换机I发送针对组播组A的组播组加入请求,接入交换机I可以通过与服务器Xl相连的边缘端口接收服务器Xl发送的针对组播A的组播组加入请求。
[0130]步骤403,将边缘端口设置为组播组的成员端口 ;
[0131]第一设备接收到组播终端发送的组播组加入请求之后,可以直接将与该组播终端相连的边缘端口设置(也可以称之为“添加”)为该组播组的成员端口。
[0132]比如,接入交换机I接收到服务器Xl发送的针对组播A的组播组加入请求之后,可以直接将与服务器Xl相连的边缘端口设置(也可以称之为“添加”)为组播组A的成员端□。
[0133]步骤404,通过第一互联端口向与组播组对应的第二设备发送组播组加入请求,第二设备通过第二互联端口接收第一设备发送的组播组加入请求;
[0134]在本实施例中,将第一设备中与第二设备相连的端口统称为第一互联端口。具体地讲,在图2中,接入交换机作为第一设备,汇聚点交换机作为第二设备;接入交换机中与汇聚点交换机相连的端口即为第一互联端口。[0135]在上一步骤,也即第一设备将该边缘端口设置为该组播组的成员端口之后,第一设备还通过第一互联端口向与组播组对应的第二设备发送组播组加入请求。具体地讲,第一设备可以通过步骤401在内部预先存储有组播组与第二设备的第一对应关系;在将一个边缘端口设置为该组播组的成员端口之后,可以根据预先存储的第一对应关系,查询与该组播组对应的、作为该组播组的主转发设备的第二设备,然后通过与查询到的第二设备相连的第一互联端口向与组播组对应的第二设备发送组播组加入请求。
[0136]比如,接入交换机I将与服务器Xl相连的边缘端口设置为组播组A的成员端口之后,接入交换机I根据预先存储的第一对应关系,查询与组播组A对应的、作为组播组A的主转发设备的汇聚点交换机2,然后接入交换机I通过与汇聚点交换机2相连的第一互联端口向与组播组A对应的汇聚点交换机2发送组播组加入请求。
[0137]此时,第二设备通过第二互联端口接收第一设备发送的组播组加入请求;
[0138]在本实施例中,将第二设备中与第一设备相连的端口统称为第二互联端口。具体地讲,在图2中,接入交换机作为第一设备,汇聚点交换机作为第二设备;汇聚点交换机中与接入交换机相连的端口即为第二互联端口。
[0139]第二设备通过第二互联端口可以接收到第一设备发送的组播组加入请求。
[0140]比如,汇聚点交换机2通过与接入交换机I相连的第二互联端口可以接收到接入交换机I发送的针对组播组A的组播组加入请求。
[0141]步骤405,检测是否还收到其它设备的同组播组加入请求,若还收到其它设备的同组播组加入请求,则将第二互联端口设置为组播组的成员端口 ;
[0142]因为只有一个终端加入一个组播组是没有意义的,所以第二设备在收到第一设备发送的组播组加入请求之后,需要检测是否还收到其它设备的同组播组加入请求,该其它设备并非第一设备和第二设备。如果第二设备还收到其它设备的同组播组加入请求,则表示有至少两个组播终端待加入或已加入该组播组;如果第二设备还未收到其它设备的同组播组加入请求,则表示当前只有一个组播终端待加入该组播组。
[0143]比如,汇聚点交换机2通过与接入交换机I相连的第二互联端口可以接收到接入交换机I发送的针对组播组A的组播组加入请求时,还检测是否还收到与组播组A对应的其它设备的同组播组加入请求,该其它设备的同组播组加入请求可以是其它接入交换机向汇聚点交换机2发送的。
[0144]若第二设备检测到还接收到了其它设备的同组播组加入请求,则将与第一设备相连的第二互联端口设置为组播组的成员端口。
[0145]比如,汇聚点交换机2检测到还接收到了接入交换机2发送的与组播组A对应的组播组加入请求,则汇聚点交换机2将与接入交换机I相连的第二互联端口设置为组播组A的成员端口。
[0146]步骤406,通过第二互联端口向第一设备反馈组播组加入请求;
[0147]在第二设备将与第一设备相连的第二互联端口设置为组播组的成员端口之后,第二设备还通过与第一设备相连的第二互联端口向第一设备反馈组播组加入请求。
[0148]比如,汇聚点交换机2将与接入交换机I相连的第二互联端口设置为组播组A的成员端口之后,汇聚点交换机2还通过与接入交换机I相连的第二互联端口向接入交换机I反馈组播组加入请求[0149]步骤407,第一设备通过第一互联端口接收第二设备反馈的组播组加入请求,将第一互联端口设置为组播组的成员端口。
[0150]第二设备通过与第一设备相连的第二互联端口向第一设备反馈组播组加入请求之后,第一设备可以通过与第二设备相连的第一互联端口接收第二设备反馈的组播组加入请求,然后将第一互联端口设置为组播组的成员端口。
[0151]比如,接入交换机I可以通过与汇聚点交换机2相连的第一互联端口接收汇聚点交换机2反馈针对组播组A的组播组加入请求;然后,接入交换机I将与汇聚点交换机2相连的第一互联端口设置为组播组A的成员端口。
[0152]步骤408,组播终端向第一设备发送组播数据;
[0153]在至少两个组播终端加入一个组播组之后,如果一个组播终端需要向其他组播终端发送组播数据,则该组播终端可以向第一设备发送组播数据。
[0154]比如,假设服务器X1、服务器Y2和服务器Zl均加入了组播组A,当服务器Xl需要向同属于一个组播组A的服务器Y2和服务器Zl发送组播数据时,服务器Xl向接入交换机I发送组播数据。
[0155]步骤409,第一设备通过边缘端口接收组播组的组播数据,查询组播组的成员端口,将组播数据通过不包含来源端口的组播组中的其它成员端口进行转发;
[0156]第一设备通过边缘端口接收组播终端发送的组播组的组播数据,查询该组播组的成员端口,然后将组播数据通过不包含来源端口的组播组中的其它成员端口进行转发,也即对该组播组的成员端口进行反向路径转发。
[0157]比如,接入交换机I接收服务器Xl发送的组播组A的组播数据,然后查询其内部属于组播组A的成员端口,结果查询到与服务器Xl相连的边缘端口和与汇聚点交换机2相连的第一互联接口为组播组A的成员端口 ;又因为,与服务器Xl相连的边缘端口是组播数据的来源端口,所以接入交换机I根据反向路径转发原则,通过与汇聚点交换机2相连的第一互联端口对该组播数据进行转发。
[0158]步骤410,第二设备通过第二互联端口接收组播组的组播数据,查询组播组的成员端口,将组播数据通过不包含来源端口的组播组中的其它成员端口进行转发;
[0159]第二设备则通过第二互联端口接收第一设备发送的组播组的组播数据,查询组播组的成员端口,将组播数据通过不包含来源端口的组播组中的其它成员端口进行转发。
[0160]比如,汇聚点交换机2通过与接入交换机I相连的第二互联端口接收接入交换机I发送的组播组A的组播数据,然后查询其内部属于组播组A的成员端口,结果查询到与接入交换机1、接入交换机128和接入交换机256相连的第二互联端口均为组播组A的成员端口 ;又因为,与接入交换机I相连的第二互联端口是组播数据的来源端口,所以汇聚点交换机2根据反向路径转发原则,通过与接入交换机128和接入交换机256相连的第二互联端口对该组播数据进行转发。
[0161]步骤411,第一设备通过第一互联端口接收组播组的组播数据,查询组播组的成员端口,将组播数据通过不包含来源端口的组播组中的其它成员端口进行转发;
[0162]第一设备还通过第一互联端口接收第二设备转发的组播组的组播数据,查询该组播组的成员端口,然后将组播数据通过不包含来源端口的组播组中的其它成员端口进行转发,也即对该组播组的成员端口进行反向路径转发。[0163]比如,接入交换机128接收汇聚点交换机2发送的组播组A的组播数据,然后查询其内部属于组播组A的成员端口,结果查询到与服务器Y2相连的边缘端口和与汇聚点交换机2相连的第一互联接口为组播组A的成员端口;又因为,与汇聚点交换机2相连的第一互联接口是组播数据的来源端口,所以接入交换机128根据反向路径转发原则,通过与服务器Y2相连的边缘端口对该组播数据进行转发;此后,服务器Y2会收到该组播数据。
[0164]再者,接入交换机256也会接收到汇聚点交换机2发送的组播组A的组播数据,然后查询其内部属于组播组A的成员端口,结果查询到与服务器Zl相连的边缘端口和与汇聚点交换机2相连的第一互联接口为组播组A的成员端口 ;又因为,与汇聚点交换机2相连的第一互联接口是组播数据的来源端口,所以接入交换机256根据反向路径转发原则,通过与服务器Zl相连的边缘端口对该组播数据进行转发;此后,服务器Zl会收到该组播数据。
[0165]步骤412,第一设备在一个组播组所对应的作为主转发设备的第二设备发生故障时,向组播组所对应的作为备用转发设备的第二设备转发组播组的组播数据。
[0166]在第一设备收到一个组播数据后,如果该组播组所对应的作为主转发设备的第二设备发生故障,则第一设备根据预先存储的第二对应关系向组播组所对应的作为备用转发设备的第二设备转发组播组的组播数据。
[0167]比如,接入交换机I接收服务器Xl发送的组播组A的组播数据之后,初始应当将该组播数据转发给作为组播组A的主转发设备的汇聚点交换机2。但是,如果汇聚点交换机2发生故障,无法与接入交换机I通信,则接入交换机I可以根据在步骤401中预先存储的第二对应关系选择作为组播组A的备用转发设备的汇聚点交换机I转发组播组A的组播数据。
[0168]综上所述,本实施例提供的数据链路层组播方法,通过在数据链路层为每个组播组添加和维护成员端口,解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。另外,还通过为每个组播组设置备用转发设备,使得即便作为主转发设备的第二设备发生故障,第一设备也可以及时切换到向作为备用转发设备的第二设备转发组播数据,保证了组播转发过程的可靠性。
[0169]实施例三
[0170]请参考图5,其示出了本发明实施例三提供的数据链路层组播系统的结构方框图。该数据链路层组播系统,包括:若干个终端520、与终端520相连的若干个第一设备540和与第一设备540相连的若干个第二设备560。
[0171]所述终端520,用于向所述第一设备540发送组播组加入请求。
[0172]所述第一设备540,用于通过边缘端口接收终端520发送的组播组加入请求,将所述边缘端口设置为所述组播组的成员端口,并通过第一互联端口向与所述组播组对应的第二设备560发送所述组播组加入请求。
[0173]所述第二设备560,用于通过第二互联端口接收所述第一设备540发送的组播组加入请求,检测是否还收到其它设备的同组播组加入请求,若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口,并通过所述第二互联端口向所述第一设备540反馈组播组加入请求。
[0174]所述第一设备540,还用于通过所述第一互联端口接收所述第二设备560反馈的组播组加入请求,将所述第一互联端口设置为所述组播组的成员端口 ;
[0175]其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ;
[0176]所述第一互联端口为所述第一设备中与所述第二设备相连的端口 ;
[0177]所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
[0178]综上所述,本实施例提供的数据链路层组播系统,通过在数据链路层为每个组播组添加和维护成员端口,解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。
[0179]实施例四
[0180]与实施例三相比,作为更为优选地实施例,在实施例四中:
[0181]所述第一设备540,还用于接收并存储所述第二设备560每隔预定时间间隔下发的第二设备560与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备560对应,且所述第二设备560作为主转发设备。
[0182]所述第一设备540,还用于通过所述边缘端口或所述第一互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发;
[0183]所述第二设备560,还用于通过所述第二互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0184]另外,所述第一设备540,还用于接收并存储所述第二设备560每隔预定时间间隔下发的第二设备560与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备560对应,且所述第二设备560作为备用转发设备;
[0185]所述第一设备540,还用于在一个组播组所对应的作为主转发设备的第二设备560发生故障时,向所述组播组所对应的作为备用转发设备的第二设备560转发所述组播组的组播数据。
[0186]综上所述,在更为优先地实施例中提供的数据链路层组播系统,还通过为每个组播组设置备用转发设备,使得即便作为主转发设备的第二设备发生故障,第一设备也可以及时切换到向作为备用转发设备的第二设备转发组播数据,保证了组播转发过程的可靠性。
[0187]实施例五
[0188]请参考图6,其示出了本发明实施例五提供的交换机的结构示意图。该交换机可以为接入交换机,也即上述第一设备。该交换机,包括:接收模块620、设置模块640和发送模块 660。
[0189]接收模块620,用于通过边缘端口接收终端发送的组播组加入请求。
[0190]设置模块640,用于在接收模块620接收到组播组加入请求之后,将所述边缘端口设置为所述组播组的成员端口。
[0191]发送模块660,用于在设置模块640将所述边缘端口为所述组播组的成员端口之后,通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求。
[0192]所述接收模块620,还用于在发送模块660向第二设备发送所述组播组加入请求之后,通过所述第一互联端口接收所述第二设备反馈的组播组加入请求。
[0193]所述设置模块640,还用于在接收模块620接收到第二设备反馈的组播组加入请求之后,将所述第一互联端口设置为所述组播组的成员端口 ;
[0194]其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ;
[0195]所述第一互联端口为所述第一设备中与所述第二设备相连的端口。
[0196]综上所述,本实施例提供的交换机,通过在数据链路层为每个组播组添加和维护成员端口,解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。
[0197]实施例六
[0198]请参考图7,其示出了本发明实施例六提供的交换机的结构示意图。与实施例五相t匕,作为更为优选地实施例,该交换机还包括存储模块680。
[0199]接收模块620,用于通过边缘端口接收终端发送的组播组加入请求。
[0200]设置模块640,用于在接收模块620接收到组播组加入请求之后,将所述边缘端口设置为所述组播组的成员端口。
[0201]发送模块660,用于在设置模块640将所述边缘端口为所述组播组的成员端口之后,通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求。
[0202]所述接收模块620,还用于在发送模块660向第二设备发送所述组播组加入请求之后,通过所述第一互联端口 接收所述第二设备反馈的组播组加入请求。
[0203]所述设置模块640,还用于在接收模块620接收到第二设备反馈的组播组加入请求之后,将所述第一互联端口设置为所述组播组的成员端口 ;
[0204]其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ;
[0205]所述第一互联端口为所述第一设备中与所述第二设备相连的端口。
[0206]所述接收模块620,还用于接收所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备;
[0207]所述存储模块680,用于在接收模块620接收到第一对应关系之后,存储所述第一对应关系。
[0208]所述接收模块620,还用于通过所述边缘端口或所述第一互联端口接收组播组的组播数据;
[0209]所述发送模块660,还用于在接收模块620接收到组播组的组播数据之后,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0210]所述接收模块620,还用于接收所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备;
[0211]所述存储模块680,还用于在接收模块620接收到第二对应关系之后,存储所述第二对应关系;
[0212]所述发送模块660,还用于在一个组播组所对应的作为主转发设备的第二设备发生故障时,根据存储模块680存储的第二对应关系向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
[0213]综上所述,本实施例提供的交换机,还通过为每个组播组设置备用转发设备,使得即便作为主转发设备的第二设备发生故障,第一设备也可以及时切换到向作为备用转发设备的第二设备转发组播数据,保证了组播转发过程的可靠性。
[0214]实施例七
[0215]请参考图8,其示出了本发明实施例七提供的交换机的结构方框图。该交换机可以为汇聚点交换机,也即上述第二设备。该交换机,包括:接收模块810、检测模块830、设置模块850和发送模块870。
[0216]接收模块810,用于通过第二互联端口接收所述第一设备发送的组播组加入请求;
[0217]检测模块830,用于检测是否还收到其它设备的同组播组加入请求;
[0218]设置模块850,用于若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口;
[0219]发送模块870,用于通过所述第二互联端口向与所述第一设备反馈组播组加入请求;
[0220]其中,所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
[0221]综上所述,本实施例提供的交换机,通过在数据链路层为每个组播组添加和维护成员端口,解决现有组播方法中实现复杂、浪费带宽且存在安全隐患的问题,达到了实现简单,组播过程中只需要向必要的端口转发请求或者数据,不浪费带宽也会引发安全隐患的效果。
[0222]实施例八
[0223]与实施例七相比,作为更为优选地实施例,在实施例八中:
[0224]所述发送设备870,还用于每隔预定时间间隔向所述第一设备下发的交换机与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个交换机对应,且所述交换机作为主转发设备。
[0225]所述接收模块810,还用于通过所述第二互联端口接收组播组的组播数据;
[0226]所述发送模块870,还用于在接收模块810接收到组播组的组播数据之后,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
[0227]所述发送模块870,还用于每隔预定时间间隔向所述第一设备下发交换机与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个交换机对应,且所述交换机作为备用转发设备。
[0228]综上所述,在更为优先地实施例中提供的交换机,还通过为每个组播组设置备用转发设备,使得即便作为主转发设备的第二设备发生故障,第一设备也可以及时切换到向作为备用转发设备的第二设备转发组播数据,保证了组播转发过程的可靠性。
[0229]需要说明的是:上述实施例提供的数据链路层组播系统和交换机在组播时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据链路层组播系统和交换机与的数据链路层组播方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0230]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0231]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0232]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据链路层组播方法,其特征在于,所述方法包括: 第一设备通过边缘端口接收终端发送的组播组加入请求,将所述边缘端口设置为所述组播组的成员端口,并通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求; 所述第二设备通过第二互联端口接收所述第一设备发送的组播组加入请求,检测是否还收到其它设备的同组播组加入请求,若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口,并通过所述第二互联端口向所述第一设备反馈组播组加入请求; 所述第一设备通过所述第一互联端口接收所述第二设备反馈的组播组加入请求,将所述第一互联端口设置为所述组播组的成员端口; 其中,所述边缘端口为所述第一设备中与所述终端相连的端口; 所述第一互联端口为所述第一设备中与所述第二设备相连的端口; 所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
2.根据权利要求1所述的方法,其特征在于,所述并通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求之前,还包括: 所述第一设备接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备。
3.根据权利要求1或2所述的方法,其特征在于,所述方法,还包括: 所述第一设备通过所述边缘端口或所述第一互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发; 所述第二设备通过所述第二互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括: 所述第一设备接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备; 所述第一设备在一个组播组所对应的作为主转发设备的第二设备发生故障时,向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
5.一种数据链路层组播系统,其特征在于,所述系统包括:终端、与所述终端相连的第一设备和与所述第一设备相连的第二设备; 所述终端,用于向所述第一设备发送组播组加入请求; 所述第一设备,用于通过边缘端口接收所述终端发送的组播组加入请求,将所述边缘端口设置为所述组播组的成员端口,并通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求; 所述第二设备,用于通过第二互联端口接收所述第一设备发送的组播组加入请求,检测是否还收到其它设备的同组 播组加入请求,若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口,并通过所述第二互联端口向所述第一设备反馈组播组加入请求; 所述第一设备,还用于通过所述第一互联端口接收所述第二设备反馈的组播组加入请求,将所述第一互联端口设置为所述组播组的成员端口; 其中,所述边缘端口为所述第一设备中与所述终端相连的端口; 所述第一互联端口为所述第一设备中与所述第二设备相连的端口; 所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
6.根据权利要求5所述的系统,其特征在于, 所述第一设备,还用于接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备。
7.根据权利要求5或6所述的系统,其特征在于, 所述第一设备,还用于通过所述边缘端口或所述第一互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发; 所述第二设备,还用于通过所述第二互联端口接收组播组的组播数据,查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
8.根据权利要求 7所述的系统,其特征在于,所述方法,还包括: 所述第一设备,还用于接收并存储所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备; 所述第一设备,还用于在一个组播组所对应的作为主转发设备的第二设备发生故障时,向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
9.一种交换机,其特征在于,包括: 接收模块,用于通过边缘端口接收终端发送的组播组加入请求; 设置模块,用于将所述边缘端口设置为所述组播组的成员端口 ; 发送模块,用于通过第一互联端口向与所述组播组对应的第二设备发送所述组播组加入请求; 所述接收模块,还用于通过所述第一互联端口接收所述第二设备反馈的组播组加入请求; 所述设置模块,还用于将所述第一互联端口设置为所述组播组的成员端口 ; 其中,所述边缘端口为所述第一设备中与所述终端相连的端口 ; 所述第一互联端口为所述第一设备中与所述第二设备相连的端口。
10.根据权利要求9所述的交换机,其特征在于,所述交换机,还包括: 存储模块; 所述接收模块,还用于接收所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为主转发设备; 所述存储模块,用于存储所述第一对应关系。
11.根据权利要求9或10所述的交换机,其特征在于, 所述接收模块,还用于通过所述边缘端口或所述第一互联端口接收组播组的组播数据; 所述发送模块,还用于查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
12.根据权利要求11所述的交换机,其特征在于,所述交换机,还包括: 所述接收模块,还用于接收所述第二设备每隔预定时间间隔下发的第二设备与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个第二设备对应,且所述第二设备作为备用转发设备; 所述存储模块,还用于存储所述第二对应关系; 所述发送模块,还用于在一个组播组所对应的作为主转发设备的第二设备发生故障时,向所述组播组所对应的作为备用转发设备的第二设备转发所述组播组的组播数据。
13.一种交换机,其特征在于,包括: 接收模块,用于通过第二互联端口接收所述第一设备发送的组播组加入请求; 检测模块,用于检测是否还收到其它设备的同组播组加入请求; 设置模块,用于若还收到其它设备的同组播组加入请求,则将所述第二互联端口设置为所述组播组的成员端口; 发送模块,用于通过所述第二互联端口向与所述第一设备反馈组播组加入请求; 其中,所述第二互联端口为所述第二设备中与所述第一设备相连的端口。
14.根据权利要求13所述的交换机,其特征在于, 所述发送设备,还用于每隔预定时间间隔向所述第一设备下发的交换机与组播组之间的第一对应关系,在所述第一对应关系中,每个组播组仅与一个交换机对应,且所述交换机作为主转发设备。
15.根据权利要求13或14所述的交换机,其特征在于, 所述接收模块,还用于通过所述第二互联端口接收组播组的组播数据; 所述发送模块,还用于查询所述组播组的成员端口,将所述组播数据通过不包含来源端口的所述组播组中的其它成员端口进行转发。
16.根据权利要求15所述的交换机,其特征在于, 所述发送模块,还用于每隔预定时间间隔向所述第一设备下发交换机与组播组之间的第二对应关系,在所述第二对应关系中,每个组播组仅与一个交换机对应,且所述交换机作为备用转发设备。
【文档编号】H04L12/761GK103684805SQ201210363548
【公开日】2014年3月26日 申请日期:2012年9月26日 优先权日:2012年9月26日
【发明者】丘子隽 申请人:深圳市腾讯计算机系统有限公司