一种组播数据报文转发方法及设备的制作方法

文档序号:7987287阅读:245来源:国知局
一种组播数据报文转发方法及设备的制作方法
【专利摘要】本发明公开了一种组播数据报文转发方法及设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备的大二层网络,核心层设备作为网关设备选举出唯一DR。该方法中,大二层网络中的设备根据组加入报文生成组播转发表项时,对于组播源在数据中心内的组播组,将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为相应组播转发表项的出端口,对于组播源不在数据中心内的组播组,将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为相应组播转发表项的出端口;大二层网络中的设备根据组播转发表项转发接收到的组播数据报文。采用本发明可实现基于大二层网络的组播数据报文转发。
【专利说明】一种组播数据报文转发方法及设备
【技术领域】
[0001]本发明涉及通信领域的组播技术,尤其涉及一种组播数据报文转发方法及设备。【背景技术】
[0002]服务器虚拟化技术的出现可以在一台物理的服务器上虚拟出几十个甚至上百个虚拟机(Virtual Machine,VM),服务器虚拟化大大提升了服务器的利用率。同时为了提升服务器的HA (High Availability,高可用性),需要VM具备大范围迁移的能力。为解决VM大范围迁移的问题,网络需要提供配套的大二层组网技术,于是业界出现了 Trill(Transparent Interconnection of Lots ofLinks,多链路透明互联)、SPB (ShortestPath Bridging,最短路径桥)等技术,并由不同标准组织进行标准化。例如Trill是由IETF (Internet Engineering TaskForce,互联网工程任务组)制定的标准,SPB是由IEEE(Institute of Electricaland Electronics Engineers,美国电气和电子工程师协会)制定的标准。
[0003]基于Trill、SPB等技术构建的大二层网络中的组播技术本质上是一种隧道技术,即,对用户报文进行隧道地址封装后在隧道地址空间进行转发。

【发明内容】

[0004]本发明实施例提供一种组播数据报文转发方法及设备,用以使大二层网络设备转发组播数据报文。
[0005]本发明实施例提供的组播数据报文转发方法,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,作为网关的核心层设备选举出唯一的DR,该方法包括:
[0006]接入层设备接收到组加入报文后,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时生成相应组播转发表项;对所述组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文;
[0007]接入层设备接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时生成相应组播转发表项;从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
[0008]接入层设备接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,根据查询到的组播转发表项转发组播数据报文;
[0009]其中,接入层设备生成相应组播转发表项时,若所请求加入的组播组和所属的VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口;其中,本设备朝向DR的路由器端口和朝向所有网关的路由器端口是根据以DR为根的组播树计算得到的。
[0010]本发明另一实施例提供的组播数据报文转发方法,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,该方法包括:
[0011]作为网关的核心层设备选举出唯一的指定路由器DR ;
[0012]核心层设备接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
[0013]核心层设备接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文;
[0014]其中,核心层设备生成相应组播转发表项时,若所请求加入的组播组及其所属的VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口 ;其中,本设备朝向DR的路由器端口和朝向所有网关的路由器端口是根据以DR为根的组播树计算得到的。
[0015]本发明实施例提供的一种大二层网络中的接入层设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,作为网关的核心层设备选举出唯一的DR,所述接入层设备包括:
[0016]拓扑计算模块,用于根据以DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口 ;
[0017]组播协议处理模块,用于在接收到组加入报文后,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;对所述组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文;以及
[0018]在接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
[0019]组播转发表处理模块,用于生成组播转发表项,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口;
[0020]组播转发模块,用于在接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。[0021]本发明实施例提供的一种大二层网络中的核心层设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,所述核心层设备包括:
[0022]拓扑计算模块,用于根据以指定路由器DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口 ;
[0023]组播协议处理模块,用于选举唯一的DR ;以及,在接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
[0024]组播转发表处理模块,用于生成相应组播转发表项,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口;
[0025]组播转发模块,用于在接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
[0026]本发明的上述实施例中,由于大二层网络设备在生成组播转发表项时,根据相应组播组的组播源是否在数据中心内而进行不同的处理,即,对于组播源在数据中心内的组播组,则将本设备朝向所有网关的路由器端口以及组加入报文的接收端口配置为该组播对应的组播转发表项的出端口,对于组播源不在大数据中心内的组播组,将本设备朝向DR的路由器端口以及组加入报文的接收端口配置为该组播组对应的组播转发表项的出端口,从而针对组播源在数据中心内的组播组,将其组播流量引入到各个作为网关的核心层设备上,进而使大二层网络外的组播接收客户端也可以接收到该组播流量,实现了基于大二层网络的组播数据报文的转发,而且,组播数据报文在大二层网络内转发时,无需进行大二层网络协议封装。
【专利附图】

【附图说明】
[0027]图1为本发明实施例中的Trill组网架构示意图之一;
[0028]图2为图1中的RBridge上的“组播组与路由器端口对应关系表”不意图;
[0029]图3为图中的RBridge上的组播转发表项的示意图;
[0030]图4为图1中的查询器所使用的Tr i 11组播裁剪树示意图;
[0031]图5A、图5B和图5C为根据图3所示的组播转发表项所形成的组播流量转发路径示意图;
[0032]图6为图1中原DR发生故障并完成异常处理后,RBridge上的“组播组与路由器端口对应关系表”不意图;
[0033]图7为根据图6所示的“组播组与路由器端口对应关系表”刷新后的组播转发表项示意图;[0034]图8为本发明实施例中的Trill组网架构示意图之二 ;
[0035]图9为图8中的RBridge上的“组播组与路由器端口对应关系表”示意图;
[0036]图10为图8中的RBridge上的组播转发表项的示意图;
[0037]图11为本发明实施例提供的大二层网络中接入层设备的结构示意图;
[0038]图12为本发明实施例提供的大二层网络中核心层设备的结构示意图。
【具体实施方式】
[0039]本发明实施例提供的组播转发技术中,在大二层网络的控制平面,各设备按照组播协议处理流程处理控制报文,如用以声明加入组播组的IGMP报告报文、用以声明离开组播组的IGMP离开组报文,但控制报文在大二层网络内的转发仍使用大二层网络控制协议(如Trill)生成的无环拓扑;大二层网络的数据转发平面,不对组播数据报文进行大二层协议封装,而是根据组播转发表项转发组播数据报文。由于数据转发平面对组播数据报文不进行大二层网络协议封装,对于组播数据报文不存在大二层网络协议封装/解封装和L3组播同时处理的问题。通常,组播组由组播地址和所属VLAN进行区分和标识。
[0040]下面以数据中心内的Trill技术为例,对本发明实施例所提供的组播数据报文转发技术方案进行详细描述,相关原理同样适用于其他的大二层组网技术,如Vxlan(virtualExtended VLAN,虚拟扩展VLAN(Virtual Local Area Network,虚拟局域网),IETF 的 draft(草案))、SPB技术等。
[0041]采用Trill技术构建的数据中心大二层网络,通常分为核心层、接入层。通常,运行Trill协议的设备称为RBridge (即Routing Bridge,具有路由转发特性的网桥设备,也称为路由桥),RBridge构成Trill域(即Trill网络)。RBridge通过运行链路状态协议认知Trill域的拓扑,并使用最短路径树算法生成从该RBridge到达Trill网络内的其它各个RBridge的路由转发表(称之为Trill路由表)。
[0042]本发明实施例中,部署Trill域时,在Trill域中的所有RBridge上运行IGSP(IGMP snooping, IGMP窥探,简称IGSP)协议,此外,作为网关的核心层RBridge,其上还要运行IGMP (Internet Group Management Protocol,互联网组管理协议)协议和PIM(Protocol Independent Multicast,协议无关组播)协议。核心层RBridge上还要配置以下信息:各组播组的组播源位置信息,即各组播源位于数据中心内还是位于数据中心外。
[0043]核心层RBridge根据PIM协议选举一个DR (Designated Router,指定路由器,),根据IGMP协议选举出IGMP查询器。本申请将已有DR和IGMP查询器选举过程合并于此,不再赘述。
[0044]Trill域中的各Rbridge上还配置有用于通告拓扑信息的控制协议。核心层RBridge需要将自己的nickname、自身上配置的VLAN信息以及VLAN内的组播组信息,自身是否被配置为网关的信息,以及组播源位置信息在Trill域内通告。此外,被选举为DR的核心层RBridge还要在通告的信息中声明自己被选举为DR。以Trill域内的各RBridge运行 L2ISIS (Intermediate system tointermediate system,中间系统到中间系统)协议为例,核心层RBridge可通过向Trill域扩散L2ISIS的LSA (链路状态通知)进行信息通告。当然,Trill域内的各核心层RBridge也可通过其它控制协议在Trill域内通过上述信息。
[0045]各RBridge根据通告的信息生成以DR为根、到各RBridge的Trill组播树,一棵Trill组播树不会产生环路。本申请将已有生成Trill组播树的方式合并于此,不再赘述。
[0046]各RBridge根据以DR为根的Trill组播树,计算本RBridge朝向核心层Rbridge一侧的路由器端口(Router Port),其中,对于组播源在数据中心内的组播组,需要计算朝向DR的路由器端口和朝向所有网关的路由器端口,对于组播源不在数据中心内的组播组,可只计算朝向DR的路由器端口。计算Rbridge上“朝向DR的路由器端口 ”的算法为:从DR沿着Trill组播树向该Rbridge走,到达该Rbridge的端口就是该Rbridge上朝向DR的路由器端口,同理,Rbridge上“朝向所有网关的路由器端口”也依照此方法计算,这些路由器端口可以全部重叠成一个或者是分开的多个。计算出的路由器端口可采用“组播组与路由器端口对应关系表”的数据结构进行存储,“组播组与路由器端口对应关系表”将作为RBridge生成组播转发表的依据。
[0047]在组播加入过程中,Rbridge接收到本设备所连接的客户端发送的IGMP报告报文(该IGMP报告报文没有Trill封装)后,对该报文进行Trill封装,从“朝向DR的路由器端口”转发该Trill封装IGMP报告报文,从接收到的IGMP报告报文中解析出所请求加入的组播组,并进行如下处理:
[0048]1.如果不存在该组播组所对应的组播转发表项,则创建组播转发表项,将IGMP报告报文的接收端口作为成员端口添加到出端口列表中,启动其老化定时器,并根据该组播组的组播源位置,在该出端口列表中添加路由器端口 ;其中,如果该组播组的组播源在数据中心内,则将该组播组对应的“朝向所有网关的路由器端口 ”添加到该出端口列表中,如果该组播组的组播源不在数据中心内,则将该组播组对应的“朝向DR的路由器端口”添加到该出端口列表中;
[0049]i1.如果已存在该组播组所对应的转发表项,但其出端口列表中不包含该IGMP报告报文的接收端口,则将该IGMP报告报文的接收端口作为成员端口添加到出端口列表中,并启动其老化定时器;
[0050]ii1.如果已存在该组播组所对应的转发表项,且其出端口列表中已包含该IGMP报告报文的接收端口,则重置其老化定时器。
[0051]在组播加入过程中,Rbridge接收到Trill封装的IGMP报告报文后,对接收到的报文解Trill封装,从解封装得到的IGMP报告报文中解析出所请求加入的组播组,根据该组播组查询相应组播转发表项,并根据查询结果按照前述方式进行处理。另外,如果本设备不是DR,则还要从本设备朝向DR的路由器端口转发该Trill封装的IGMP报告报文;如果本设备是DR,则还要向数据中心外的RP (汇合点)发送关于该组播组的PIM加入报文,以触发建立数据中心外的该组播组的组播源到该DR的组播转发路径。
[0052]在组播数据转发过程中,Trill域内的各Rbridge根据组播数据报文所属的组播组,查询相应组播转发表项,根据查询到的组播转发表项转发组播数据报文。特别的,如果Rbridge收到组播数据报文后,未查询到相应组播转发表项,则需要上送CPU,由CPU生成相应组播数据转发表项。其中,在生成组播转发表项时,如果组播数据报文所属的组播组的组播源在数据中心内,则将该组播组对应的“朝向所有网关的路由器端口 ”配置为该组播组的组播转发表项的出端口 ;如果组播数据报文所属的组播组的组播源不在数据中心内,则将该组播组对应的“朝向DR的路由器端口 ”配置为该组播组的组播转发表项的出端口。此外,DR接收到组播数据报文后,还负责发起组播源注册过程。[0053]通过以上流程可以看出,当数据中心内的组播源发送组播数据报文时,由于该组播数据报文的组播源在数据中心内,因此相应组播转发表项中的出端口为本Rbridge上相应组播组所对应的朝向所有网关的路由器端口,从而将组播流量引入到各网关。这样,虽然RP可能将该组播组的P頂加入报文反向发送到非DR的网关上,但是由于组播流量已经引到了所有网关,因此无论外部RP的PM加入报文反向发送到哪个网关上,该网关都可以将数据中心内的组播源流量转发给数据中心外的组播接收客户端。另外,上述组播数据报文的转发过程中,均无需进行Trill封装,有效规避了芯片在一个pipeline中不能同时处理Trill和L3的缺陷,既能实现组播业务,同时又无需借助L3代理板或额外的L3组播路由器,从而提升了 Trill网络的可部署性。
[0054]为了更清楚地说明本发明实施例,下面以图1所示的Trill组网架构为例,说明本发明实施例提供的组播数据转发技术的具体实现过程。
[0055]如图1所示的Trill组网中,核心层有4个Rbridge (表示为spinel~4),接入层有6个Rbridge (表示为leaf I~6),各spine节点和各leaf节点之间全连接。
[0056]spinell均被配 置为网关,各网关均配置有VLAN1,VLAN1内配置有组播组G1、G2、G3。
[0057]Trill域中的所有Rbridge上均配置IGSP协议,spinef 4上还配置有PM协议和IGMP协议。spinell在VLANl内选举唯一的DR,并选举唯一的IGMP查询器,这里以spinel被选举为DR,spine4被选举为IGMP查询器为例描述。
[0058]Ieafl上分别连接有组播组Gl的接收客户端clientl、组播组G2的接收客户端client2、组播组G3的接收客户端client3,leaf5上连接有组播组G2的接收客户端client4, leaf6上连接有组播组Gl的接收客户端client5。clientl~5均属于VLANl (表示为VI)。leaf2上连接有组播源(S1,G1,V1)。
[0059]为了方便描述,以下将Ieafl上连接spinel、spine2、spine3、spine4的端口分别命名为 leafl_Pl、lean_P2、lean_P3、leafl_P4,将 leaf2 上连接 spinel、spine2、spine3、spine4 的端口分别命名为 leaf2_P1、leaf2_P2、leaf2_P3、leaf2_P4,以此类推。将 spinel上连接 leafl> leaf2> leaf3> leaf4 的端口分别命名为 spinel_Pl、spinel_P2、spinel_P3、spinel_P4,将 spine2 上连接 leafl、leaf2、leaf3、leaf4 的端口分别命名为 spine2_Pl、spine2_P2、spine2_P3、spine2_P4,以此类推。将 Ieafl 上连接 clientl、client2、client3的端口分别命名为leafl_Pa、leafl_Pb、leafl_Pc,将leaf5上连接client4的端口命名为leaf5_Pa,将 leaf6 上连接 client5 的端口命名为 leaf6_Pa。
[0060]Trill域中的所有Rbridge上还配置有L2ISIS协议,借助L2ISIS协议的LSA同步机制,spinel^将其上配置的相关信息,以LSA形式在Trill域内通告,以使Trill域内的各Rbridge所维护的链路状态数据库保持同步。
[0061]在上述信息通告过程中,spinel~4将自己的nickname、是否作为DR、作为哪些VLAN的L3网关,以及VLAN内的组播组信息、组播源位置信息(包括组播源所在的VLAN和所属的组播组,以及组播源是否在数据中心内等信息)通过L2ISIS的LSA向Trill全网扩散。
[0062]各Rbridge根据接收到的LSA维护各自的链路状态数据库,并根据各自的链路状态数据库计算以DR的nickname为根的Trill组播树;然后,根据该Trill组播树,对于组播源在数据中心内的组播组,计算本设备上朝向DR和朝向所有网关的路由器端口,对于组播源在数据中心外的组播组,计算本设备上朝向DR的路由器端口。由于针对VLANl所选举出的DR是唯一的,因此在一个Rbridge上,根据该Trill组播树所计算出的各组播组所对应的“朝向DR的路由器端口 ”是相同的。
[0063]如图2所示,以图中所示的一棵以DR为根的Trill组播树为例,与本实施例的组播数据转发流程相关的Rbridge上的“组播组和路由器端口对应关系表”可如下表所示,具体包括:
[0064]表1、spinel上的“组播组和路由器端口对应关系表”
[0065]
【权利要求】
1.一种组播数据报文转发方法,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,作为网关的核心层设备选举出唯一的指定路由器DR,其特征在于,该方法包括: 接入层设备接收到组加入报文后,解析出所请求加入的组播组和所属的虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时生成相应组播转发表项;对所述组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文; 接入层设备接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时生成相应组播转发表项;从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文; 接入层设备接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,根据查询到的组播转发表项转发组播数据报文; 其中,接入层设备生成相应组播转发表项时,若所请求加入的组播组和所属的VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口 ;其中,本设备朝向DR的路由器端口和朝向所有网关的路由器端口是根据以DR为根的组播树计算得到的。
2.如权利要求1所述的方法,其特征在于,接入层设备收到组播数据报文之后,若根据所述组播数据报文所属的组播组和VLAN未查询到相应组播转发表项,则还包括: 根据所述组播数据报文所属的组播组和VLAN获取路由器端口,根据获取到的路由器端口转发所述组播数据报文;其中,若所述组播数据报文所属的组播组和VLAN所对应的组播源在数据中心内,则获取本设备朝向所有网关`的路由器端口,若所述组播数据报文所属的组播组和VLAN所对应的组播源不在数据中心内,则获取本设备朝向DR的路由器端口 ; 生成相应组播转发表项,并将获取到的路由器端口配置为该组播转发表项的出端口。
3.如权利要求1所述的方法,其特征在于,该方法还包括: 接入层设备接收到大二层网络协议封装的通用组查询报文后进行解封装,解析出VLAN信息;其中,所述通用组查询报文是被选举为查询器的核心层设备根据所选的VLAN裁剪树转发的; 所述接入层设备根据解析出的VLAN信息,将解封后的通用组查询报文向相应VLAN内的成员端口转发。
4.如权利要求1所述的方法,其特征在于,该方法还包括: 接入层设备接收到组离开报文后,对所述组离开报文进行大二层网络协议封装,并从本设备朝向DR的路由器端口转发大二层网络协议封装后的组离开报文; 接入层设备接收到大二层网络协议封装的组离开报文后,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组离开报文; 接入层设备接收到大二层网络协议封装的特定组查询报文后进行解封装,解析出所请求查询的组播组及其所属的VLAN,根据解析出的组播组和VLAN,将解封装后的特定组查询报文从相应的成员端口转发,若未在设定长时间内从接收组离开报文的成员端口接收到请求加入该组播组的组加入报文,则从所请求离开的组播组及其所属VLAN对应的组播转发表项出端口列表中删除接收组离开报文的成员端口 ;若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源不在数据中心内,则删除该组播转发表项,若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源在数据中心内,则保留该出端口列表中的路由器端口 ;其中,大二层网络协议封装的特定组查询报文是被选举为DR的核心层设备在接收到大二层网络协议封装的组离开报文后,从接收该报文的成员端口发送的。
5.如权利要求1所述的方法,其特征在于,该方法还包括: 当接入层设备接收到大二层网络中的其它设备通过控制协议发布的大二层网络拓扑信息后,更新本地链路状态数据库,根据本地链路状态数据库计算以DR为根的组播树;其中,被选举为DR的网关设备发布的拓扑信息中包含自身被选举为DR的信息、作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息,其它网关设备发布的拓扑信息中包含作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息; 所述接入层设备根据计算出的以DR为根的组播树,为组播源在数据中心内的组播组计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组计算本设备朝向DR的路由器端口。
6.如权利要求5所述的方法,其特征在于,接入层设备计算出路由器端口后,还包括: 针对组播源在数据中心内的组播组,根据组播组和VLAN对应的朝向所有网关的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口 ;针对组播源不在数据中心内的组播组,根据组播组和VLAN对应的朝向DR的路由器端口,刷新该组播组和VLAN对应的组播转发表 项中的路由器端口。
7.如权利要求1-6之一所述的方法,其特征在于,所述大二层网络为多链路透明互联Trill网络、虚拟扩展VLAN网络或最短路径桥SPB网络。
8.一种组播数据报文转发方法,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,其特征在于,该方法包括: 作为网关的核心层设备选举出唯一的指定路由器DR ; 核心层设备接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文; 核心层设备接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文; 其中,核心层设备生成相应组播转发表项时,若所请求加入的组播组及其所属的VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口 ;其中,本设备朝向DR的路由器端口和朝向所有网关的路由器端口是根据以DR为根的组播树计算得到的。
9.如权利要求8所述的方法,其特征在于,核心层设备收到组播数据报文之后,若未查询到相应组播转发表项,则还包括: 根据所述组播数据报文所属的组播组和VLAN,获取对应的路由器端口,根据获取到的路由器端口转发所述组播数据报文;其中,若所述组播数据报文所属的组播组和VLAN所对应的组播源在数据中心内,则获取该组播组和VLAN所对应的朝向所有网关的路由器端口,若所述组播数据报文所属的组播组和VLAN所对应的组播源不在数据中心内,则获取该组播组和VLAN所对应的朝向DR的路由器端口 ; 生成相应组播转发表项,并将获取到的路由器端口配置为该组播转发表项的出端口。
10.如权利要求8所述的方法,其特征在于,还包括: 被选举为查询器的核心层设备按照设定周期,根据所选的VLAN裁剪树,从该VLAN裁剪树本设备上的出端口发送大二层网络协议封装的通用组查询报文。
11.如权利要求8所述的方法,其特征在于,还包括: 未选举为DR的核心层设备接收到大二层网络协议封装的组离开报文后,将该报文从本设备朝向DR的路由器端口转发;其中,所述大二层网络协议封装的组离开报文是接入层设备从其成员端口接收到组离开报文后向DR发送的; 选举为DR的核心层设备接收到大二层网络协议封装的组离开报文后进行解封装,从接收所述组离开报文的成员端口发送查询所请求离开的组播组的特定组查询报文,所述特定组查询报文采用大二层网络`协议封装;其中,所述大二层网络协议封装的组离开报文是接入层设备从其成员端口接收到组离开报文后向DR发送的; 选举为DR的核心层设备在发送特定组查询报文后,若未在设定长时间内从接收相应组离开报文的成员端口接收到请求加入相应组播组的组加入报文,则从所请求离开的组播组和所属VLAN所对应的组播转发表项出端口列表中删除接收组离开报文的成员端口 ;若被删除的成员端口为组播转发保险出端口列表中的最后一个成员端口,且相应组播源不在数据中心内,则删除该组播转发表项,若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源在数据中心内,则保留该出端口列表中的路由器端口。
12.如权利要求8所述的方法,其特征在于,所述核心层设备接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文,具体包括: 核心层设备在接收到组播数据报文后,根据所述组播数据报文所属的组播组查询相应组播转发表项,若根据所述组播数据报文所属的组播组查询到至少2个VLAN内的组播转发表项,则复制得到与所述至少2个VLAN相应数量的组播数据报文,并根据查询到的各VLAN内的组播转发表项,分别将复制得到的组播数据报文在相应VLAN内转发。
13.如权利要求8所述的方法,其特征在于,该方法还包括: 核心层设备通过控制协议向所述大二层网络发布拓扑信息,其中,选举为DR的核心层设备发布的拓扑信息中包含自身被选举为DR的指示信息、作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息,其它核心层设备发布的拓扑信息中包含作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息; 各核心层设备接收到的拓扑信息后,更新本地链路状态数据库,根据本地链路状态数据库计算以DR为根的组播树,根据计算出的以DR为根的组播树,为组播源在数据中心内的组播组计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组计算本设备朝向DR的路由器端口。
14.如权利要求13所述的方法,其特征在于,所述核心层设备计算出路由器端口后,还包括: 针对组播源在数据中心内的组播组,根据组播组和VLAN对应的朝向所有网关的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口 ;针对组播源不在数据中心内的组播组,根据组播组和VLAN对应的朝向DR的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口。
15.如权利要求8-14之一所述的方法,其特征在于,所述大二层网络为多链路透明互联Trill网络、虚拟扩展VLAN网络或最短路径桥SPB网络。
16.一种大二层网络中的接入层设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,作为网关的核心层设备选举出唯一的指定路由器DR,其特征在于,所述接入层设备包括: 拓扑计算模块,用于根据以DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口 ; 组播协议处理模块,用于在接收到组加入报文后,解析出所请求加入的组播组和所属的虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;对所述组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文;以及 在接收到大二层网 络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属的虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文; 组播转发表处理模块,用于生成组播转发表项,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口; 组播转发模块,用于在接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
17.如权利要求16所述的接入层设备,其特征在于,所述组播转发模块还用于,在收到组播数据报文之后,若根据所述组播数据报文所属的组播组和VLAN未查询到相应组播转发表项,则根据所述组播数据报文所属的组播组和VLAN获取路由器端口,根据获取到的路由器端口转发所述组播数据报文,并指示所述组播转发表处理模块生成相应组播转发表项;其中,若所述组播数据报文所属的组播组和VLAN所对应的组播源在数据中心内,则获取本设备朝向所有网关的路由器端口,若所述组播数据报文所属的组播组和VLAN所对应的组播源不在数据中心内,则获取本设备朝向DR的路由器端口 ;所述组播转发表处理模块还用于,根据所述组播数据报文所属的组播组和VLAN生成相应组播转发表项,并将所述组播转发模块获取到的路由器端口配置为该组播转发表项的出端口。
18.如权利要求16所述的接入层设备,其特征在于,所述组播协议处理模块还用于,接收到大二层网络协议封装的通用组查询报文后进行解封装,解析出VLAN信息,根据解析出的VLAN信息,将解封后的通用组查询报文向相应VLAN内的成员端口转发;其中,所述通用组查询报文是被选举为查询器的核心层设备根据所选的VLAN裁剪树转发的。
19.如权利要求16所述的接入层设备,其特征在于,所述组播协议处理模块还用于,在接收到组离开报文后,对所述组离开报文进行大二层网络协议封装,并从本设备朝向DR的路由器端口转发大二层网络协议封装后的组离开报文;以及 在接收到大二层网络协议封装的组离开报文后,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组离开报文;以及 在接收到大二层网络协议封装的特定组查询报文后进行解封装,解析出所请求查询的组播组及其所属的VLAN,根据解析出的组播组和VLAN,将解封装后的特定组查询报文从相应的成员端口转发,若未在设定长时间内从接收组离开报文的成员端口接收到请求加入该组播组的组加入报文,则指示所述组播转发表处理模块从所请求离开的组播组和所属VLAN所对应的组播转发表项出端口列表中删除接收组离开报文的成员端口 ;若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源不在数据中心内,则指示所述组播转发表处理模块删除该组播转发表项,若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源在数据中心内,则指示所述组播转发表处理模块保留该出端口列表中的路由器端口 ;其中,大二层网络协议封装的特定组查询报文是被选举为DR的核心层设备在接收到大二层网络协议封装的组离开报文后,从接收该报文的成员端口发送的,所述特定组查询报文用于查询所述所请求离开的组播组。
20.如权利要求16所述的接入层设备,其特征在于,所述拓扑计算模块还用于,当接收到大二层网络中的其它设备 通过控制协议发布的大二层网络拓扑信息后,更新本地链路状态数据库,根据本地链路状态数据库计算以DR为根的组播树,根据计算出的以DR为根的组播树,为组播源在数据中心内的组播组计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组计算本设备朝向DR的路由器端口 ;其中,被选举为DR的网关设备发布的拓扑信息中包含自身被选举为DR的信息、作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息,其它网关设备发布的拓扑信息中包含作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息。
21.如权利要求20所述的接入层设备,其特征在于,所述组播转发表处理模块还用于,在所述拓扑计算模块计算出路由器端口后,针对组播源在数据中心内的组播组,根据组播组和VLAN对应的朝向所有网关的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口 ;针对组播源不在数据中心内的组播组,根据组播组和VLAN对应的朝向DR的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口。
22.如权利要求16-21之一所述的接入层设备,其特征在于,所述接入层设备应用于多链路透明互联Trill网络、虚拟扩展VLAN网络或最短路径桥SPB网络。
23.—种大二层网络中的核心层设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,其特征在于,所述核心层设备包括: 拓扑计算模块,用于根据以指定路由器DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口 ; 组播协议处理模块,用于选举唯一的DR;以及,在接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文; 组播转发表处理模块,用于生成相应组播转发表项,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口; 组播转发模块,用于在接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
24.如权利要求23所述的核心层设备,其特征在于,所述组播转发模块还用于,在收到组播数据报文之后,若未查询到相应组播转发表项,则根据所述组播数据报文所属的组播组和VLAN,获取对应的路由器端口,根据获取到的路由器端口转发所述组播数据报文,并指示所述组播转发表处理模块生成相应组播转发表项;其中,若所述组播数据报文所属的组播组和VLAN所对应的组播源在数据中心内,则获取该组播组和VLAN对应的朝向所有网关的路由器端口,若所述组播`数据报文所属的组播组和VLAN所对应的组播源不在数据中心内,则获取该组播组和VLAN对应的朝向DR的路由器端口 ; 所述组播转发表处理模块还用于,根据所述组播数据报文所属的组播组和VLAN生成相应组播转发表项,并将所述组播转发模块获取到的路由器端口配置为该组播转发表项的出端口。
25.如权利要求23所述的核心层设备,其特征在于,所述组播协议处理模块还用于,在本设备被选举为查询器的情况下,按照设定周期,根据所选的VLAN裁剪树,从该VLAN裁剪树本设备上的出端口发送大二层网络协议封装的通用组查询报文。
26.如权利要求23所述的核心层设备,其特征在于,所述组播协议处理模块还用于,在本设备未被选举为DR的情况下,在接收到大二层网络协议封装的组离开报文后,将该报文从本设备朝向DR的路由器端口转发;其中,所述大二层网络协议封装的组离开报文是接入层设备从其成员端口接收到组离开报文后向DR发送的;以及 在本设备被选举为DR的情况下,在接收到大二层网络协议封装的组离开报文后进行解封装,从接收所述组离开报文的成员端口发送查询所请求离开的组播组的特定组查询报文,所述特定组查询报文采用大二层网络协议封装;其中,所述大二层网络协议封装的组离开报文是接入层设备从其成员端口接收到组离开报文后向DR发送的;以及在本设备被选举为DR的情况下,在发送特定组查询报文后,若未在设定长时间内从接收相应组离开报文的成员端口接收到请求加入相应组播组的组加入报文,则指示所述组播转发表处理模块从所请求离开的组播组和所属VLAN所对应的组播转发表项出端口列表中删除接收组离开报文的成员端口;若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源不在数据中心内,则指示所述组播转发表处理模块删除该组播转发表项,若被删除的成员端口为组播转发表项出端口列表中的最后一个成员端口,且相应组播源在数据中心内,则指示所述组播转发表处理模块保留该出端口列表中的路由器端口。
27.如权利要求23所述的核心层设备,其特征在于,所述组播转发模块具体用于,在接收到组播数据报文后,根据所述组播数据报文所属的组播组查询相应组播转发表项,若根据所述组播数据报文所属的组播组查询到至少2个VLAN内的组播转发表项,则复制得到与所述至少2个VLAN相应数量的组播数据报文,并根据查询到的各VLAN内的组播转发表项,分别将复制得到的组播数据报文在相应VLAN内转发。
28.如权利要求23所述的核心层设备,其特征在于,所述拓扑计算模块还用于,通过控制协议向所述大二层网络发布拓扑信息,其中,在本设备被选举为DR的情况下,所发布的拓扑信息中包含自身被选举为DR的指示信息、作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息,在本设备未被选举为DR的情况下,所发布的拓扑信息中包含作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息;以及 在接收到的拓扑信息后,更新本地链路状态数据库,根据本地链路状态数据库计算以DR为根的组播树,根据计算出的以DR为根的组播树,为组播源在数据中心内的组播组计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组计算本设备朝向DR的路由器端口。
29.如权利要求28所述的核心层设备,其特征在于,所述拓扑计算模块还用于,在计算出路由器端口后, 指示所述组播转发表处理模块刷新组播转发表; 所述组播转发表处理模块还用于,根据所述拓扑计算模块的指示,针对组播源在数据中心内的组播组,根据组播组和VLAN对应的朝向所有网关的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口,针对组播源不在数据中心内的组播组,根据组播组和VLAN对应的朝向DR的路由器端口,刷新该组播组和VLAN对应的组播转发表项中的路由器端口。
30.如权利要求23-29之一所述的核心层设备,其特征在于,所述核心层设备应用于多链路透明互联Trill网络、虚拟扩展VLAN网络或最短路径桥SPB网络。
【文档编号】H04L12/46GK103873373SQ201210539572
【公开日】2014年6月18日 申请日期:2012年12月11日 优先权日:2012年12月11日
【发明者】宋玉兵, 杨小朋 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1