CN103873373B - 一种组播数据报文转发方法及设备 - Google Patents
一种组播数据报文转发方法及设备 Download PDFInfo
- Publication number
- CN103873373B CN103873373B CN201210539572.8A CN201210539572A CN103873373B CN 103873373 B CN103873373 B CN 103873373B CN 201210539572 A CN201210539572 A CN 201210539572A CN 103873373 B CN103873373 B CN 103873373B
- Authority
- CN
- China
- Prior art keywords
- multicast
- group
- message
- vlan
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 239000010410 layer Substances 0.000 claims abstract description 187
- 239000012792 core layer Substances 0.000 claims abstract description 65
- 238000005516 engineering process Methods 0.000 claims abstract description 19
- 238000005538 encapsulation Methods 0.000 claims description 97
- 238000012545 processing Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000005520 cutting process Methods 0.000 claims description 13
- 238000005304 joining Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 208000033748 Device issues Diseases 0.000 claims 1
- 230000008569 process Effects 0.000 description 45
- 238000013507 mapping Methods 0.000 description 30
- 230000004907 flux Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 238000010276 construction Methods 0.000 description 8
- 230000032683 aging Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种组播数据报文转发方法及设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备的大二层网络,核心层设备作为网关设备选举出唯一DR。该方法中,大二层网络中的设备根据组加入报文生成组播转发表项时,对于组播源在数据中心内的组播组,将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为相应组播转发表项的出端口,对于组播源不在数据中心内的组播组,将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为相应组播转发表项的出端口;大二层网络中的设备根据组播转发表项转发接收到的组播数据报文。采用本发明可实现基于大二层网络的组播数据报文转发。
Description
技术领域
本发明涉及通信领域的组播技术,尤其涉及一种组播数据报文转发方法及设备。
背景技术
服务器虚拟化技术的出现可以在一台物理的服务器上虚拟出几十个甚至上百个虚拟机(Virtual Machine,VM),服务器虚拟化大大提升了服务器的利用率。同时为了提升服务器的HA(High Availability,高可用性),需要VM具备大范围迁移的能力。为解决VM大范围迁移的问题,网络需要提供配套的大二层组网技术,于是业界出现了Trill(Transparent Interconnection of Lots of Links,多链路透明互联)、SPB(ShortestPath Bridging,最短路径桥)等技术,并由不同标准组织进行标准化。例如Trill是由IETF(Internet Engineering Task Force,互联网工程任务组)制定的标准,SPB是由IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)制定的标准。
基于Trill、SPB等技术构建的大二层网络中的组播技术本质上是一种隧道技术,即,对用户报文进行隧道地址封装后在隧道地址空间进行转发。
发明内容
本发明实施例提供一种组播数据报文转发方法及设备,用以使大二层网络设备转发组播数据报文。
本发明实施例提供的组播数据报文转发方法,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,作为网关的核心层设备选举出唯一的DR,该方法包括:
接入层设备接收到组加入报文后,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时生成相应组播转发表项;对所述组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文;
接入层设备接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时生成相应组播转发表项;从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
接入层设备接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,根据查询到的组播转发表项转发组播数据报文;
其中,接入层设备生成相应组播转发表项时,若所请求加入的组播组和所属的VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口;其中,本设备朝向DR的路由器端口和朝向所有网关的路由器端口是根据以DR为根的组播树计算得到的。
本发明另一实施例提供的组播数据报文转发方法,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,该方法包括:
作为网关的核心层设备选举出唯一的指定路由器DR;
核心层设备接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
核心层设备接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文;
其中,核心层设备生成相应组播转发表项时,若所请求加入的组播组及其所属的VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口;其中,本设备朝向DR的路由器端口和朝向所有网关的路由器端口是根据以DR为根的组播树计算得到的。
本发明实施例提供的一种大二层网络中的接入层设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,作为网关的核心层设备选举出唯一的DR,所述接入层设备包括:
拓扑计算模块,用于根据以DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口;
组播协议处理模块,用于在接收到组加入报文后,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;对所述组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文;以及
在接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
组播转发表处理模块,用于生成组播转发表项,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口;
组播转发模块,用于在接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
本发明实施例提供的一种大二层网络中的核心层设备,应用于采用大二层网络技术的数据中心,该大二层网络包含有核心层设备和接入层设备,所述核心层设备包括:
拓扑计算模块,用于根据以指定路由器DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口;
组播协议处理模块,用于选举唯一的DR;以及,在接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时指示组播转发表处理模块生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文;
组播转发表处理模块,用于生成相应组播转发表项,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口;
组播转发模块,用于在接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
本发明的上述实施例中,由于大二层网络设备在生成组播转发表项时,根据相应组播组的组播源是否在数据中心内而进行不同的处理,即,对于组播源在数据中心内的组播组,则将本设备朝向所有网关的路由器端口以及组加入报文的接收端口配置为该组播对应的组播转发表项的出端口,对于组播源不在大数据中心内的组播组,将本设备朝向DR的路由器端口以及组加入报文的接收端口配置为该组播组对应的组播转发表项的出端口,从而针对组播源在数据中心内的组播组,将其组播流量引入到各个作为网关的核心层设备上,进而使大二层网络外的组播接收客户端也可以接收到该组播流量,实现了基于大二层网络的组播数据报文的转发,而且,组播数据报文在大二层网络内转发时,无需进行大二层网络协议封装。
附图说明
图1为本发明实施例中的Trill组网架构示意图之一;
图2为图1中的RBridge上的“组播组与路由器端口对应关系表”示意图;
图3为图中的RBridge上的组播转发表项的示意图;
图4为图1中的查询器所使用的Trill组播裁剪树示意图;
图5A、图5B和图5C为根据图3所示的组播转发表项所形成的组播流量转发路径示意图;
图6为图1中原DR发生故障并完成异常处理后,RBridge上的“组播组与路由器端口对应关系表”示意图;
图7为根据图6所示的“组播组与路由器端口对应关系表”刷新后的组播转发表项示意图;
图8为本发明实施例中的Trill组网架构示意图之二;
图9为图8中的RBridge上的“组播组与路由器端口对应关系表”示意图;
图10为图8中的RBridge上的组播转发表项的示意图;
图11为本发明实施例提供的大二层网络中接入层设备的结构示意图;
图12为本发明实施例提供的大二层网络中核心层设备的结构示意图。
具体实施方式
本发明实施例提供的组播转发技术中,在大二层网络的控制平面,各设备按照组播协议处理流程处理控制报文,如用以声明加入组播组的IGMP报告报文、用以声明离开组播组的IGMP离开组报文,但控制报文在大二层网络内的转发仍使用大二层网络控制协议(如Trill)生成的无环拓扑;大二层网络的数据转发平面,不对组播数据报文进行大二层协议封装,而是根据组播转发表项转发组播数据报文。由于数据转发平面对组播数据报文不进行大二层网络协议封装,对于组播数据报文不存在大二层网络协议封装/解封装和L3组播同时处理的问题。通常,组播组由组播地址和所属VLAN进行区分和标识。
下面以数据中心内的Trill技术为例,对本发明实施例所提供的组播数据报文转发技术方案进行详细描述,相关原理同样适用于其他的大二层组网技术,如Vxlan(virtualExtended VLAN,虚拟扩展VLAN(Virtual Local Area Network,虚拟局域网),IETF的draft(草案))、SPB技术等。
采用Trill技术构建的数据中心大二层网络,通常分为核心层、接入层。通常,运行Trill协议的设备称为RBridge(即Routing Bridge,具有路由转发特性的网桥设备,也称为路由桥),RBridge构成Trill域(即Trill网络)。RBridge通过运行链路状态协议认知Trill域的拓扑,并使用最短路径树算法生成从该RBridge到达Trill网络内的其它各个RBridge的路由转发表(称之为Trill路由表)。
本发明实施例中,部署Trill域时,在Trill域中的所有RBridge上运行IGSP(IGMPsnooping,IGMP窥探,简称IGSP)协议,此外,作为网关的核心层RBridge,其上还要运行IGMP(Internet Group Management Protocol,互联网组管理协议)协议和PIM(ProtocolIndependent Multicast,协议无关组播)协议。核心层RBridge上还要配置以下信息:各组播组的组播源位置信息,即各组播源位于数据中心内还是位于数据中心外。
核心层RBridge根据PIM协议选举一个DR(Designated Router,指定路由器,),根据IGMP协议选举出IGMP查询器。本申请将已有DR和IGMP查询器选举过程合并于此,不再赘述。
Trill域中的各Rbridge上还配置有用于通告拓扑信息的控制协议。核心层RBridge需要将自己的nickname、自身上配置的VLAN信息以及VLAN内的组播组信息,自身是否被配置为网关的信息,以及组播源位置信息在Trill域内通告。此外,被选举为DR的核心层RBridge还要在通告的信息中声明自己被选举为DR。以Trill域内的各RBridge运行L2ISIS(Intermediate system to intermediate system,中间系统到中间系统)协议为例,核心层RBridge可通过向Trill域扩散L2ISIS的LSA(链路状态通知)进行信息通告。当然,Trill域内的各核心层RBridge也可通过其它控制协议在Trill域内通过上述信息。
各RBridge根据通告的信息生成以DR为根、到各RBridge的Trill组播树,一棵Trill组播树不会产生环路。本申请将已有生成Trill组播树的方式合并于此,不再赘述。
各RBridge根据以DR为根的Trill组播树,计算本RBridge朝向核心层Rbridge一侧的路由器端口(Router Port),其中,对于组播源在数据中心内的组播组,需要计算朝向DR的路由器端口和朝向所有网关的路由器端口,对于组播源不在数据中心内的组播组,可只计算朝向DR的路由器端口。计算Rbridge上“朝向DR的路由器端口”的算法为:从DR沿着Trill组播树向该Rbridge走,到达该Rbridge的端口就是该Rbridge上朝向DR的路由器端口,同理,Rbridge上“朝向所有网关的路由器端口”也依照此方法计算,这些路由器端口可以全部重叠成一个或者是分开的多个。计算出的路由器端口可采用“组播组与路由器端口对应关系表”的数据结构进行存储,“组播组与路由器端口对应关系表”将作为RBridge生成组播转发表的依据。
在组播加入过程中,Rbridge接收到本设备所连接的客户端发送的IGMP报告报文(该IGMP报告报文没有Trill封装)后,对该报文进行Trill封装,从“朝向DR的路由器端口”转发该Trill封装IGMP报告报文,从接收到的IGMP报告报文中解析出所请求加入的组播组,并进行如下处理:
i.如果不存在该组播组所对应的组播转发表项,则创建组播转发表项,将IGMP报告报文的接收端口作为成员端口添加到出端口列表中,启动其老化定时器,并根据该组播组的组播源位置,在该出端口列表中添加路由器端口;其中,如果该组播组的组播源在数据中心内,则将该组播组对应的“朝向所有网关的路由器端口”添加到该出端口列表中,如果该组播组的组播源不在数据中心内,则将该组播组对应的“朝向DR的路由器端口”添加到该出端口列表中;
ii.如果已存在该组播组所对应的转发表项,但其出端口列表中不包含该IGMP报告报文的接收端口,则将该IGMP报告报文的接收端口作为成员端口添加到出端口列表中,并启动其老化定时器;
iii.如果已存在该组播组所对应的转发表项,且其出端口列表中已包含该IGMP报告报文的接收端口,则重置其老化定时器。
在组播加入过程中,Rbridge接收到Trill封装的IGMP报告报文后,对接收到的报文解Trill封装,从解封装得到的IGMP报告报文中解析出所请求加入的组播组,根据该组播组查询相应组播转发表项,并根据查询结果按照前述方式进行处理。另外,如果本设备不是DR,则还要从本设备朝向DR的路由器端口转发该Trill封装的IGMP报告报文;如果本设备是DR,则还要向数据中心外的RP(汇合点)发送关于该组播组的PIM加入报文,以触发建立数据中心外的该组播组的组播源到该DR的组播转发路径。
在组播数据转发过程中,Trill域内的各Rbridge根据组播数据报文所属的组播组,查询相应组播转发表项,根据查询到的组播转发表项转发组播数据报文。特别的,如果Rbridge收到组播数据报文后,未查询到相应组播转发表项,则需要上送CPU,由CPU生成相应组播数据转发表项。其中,在生成组播转发表项时,如果组播数据报文所属的组播组的组播源在数据中心内,则将该组播组对应的“朝向所有网关的路由器端口”配置为该组播组的组播转发表项的出端口;如果组播数据报文所属的组播组的组播源不在数据中心内,则将该组播组对应的“朝向DR的路由器端口”配置为该组播组的组播转发表项的出端口。此外,DR接收到组播数据报文后,还负责发起组播源注册过程。
通过以上流程可以看出,当数据中心内的组播源发送组播数据报文时,由于该组播数据报文的组播源在数据中心内,因此相应组播转发表项中的出端口为本Rbridge上相应组播组所对应的朝向所有网关的路由器端口,从而将组播流量引入到各网关。这样,虽然RP可能将该组播组的PIM加入报文反向发送到非DR的网关上,但是由于组播流量已经引到了所有网关,因此无论外部RP的PIM加入报文反向发送到哪个网关上,该网关都可以将数据中心内的组播源流量转发给数据中心外的组播接收客户端。另外,上述组播数据报文的转发过程中,均无需进行Trill封装,有效规避了芯片在一个pipeline中不能同时处理Trill和L3的缺陷,既能实现组播业务,同时又无需借助L3代理板或额外的L3组播路由器,从而提升了Trill网络的可部署性。
为了更清楚地说明本发明实施例,下面以图1所示的Trill组网架构为例,说明本发明实施例提供的组播数据转发技术的具体实现过程。
如图1所示的Trill组网中,核心层有4个Rbridge(表示为spine1~4),接入层有6个Rbridge(表示为leaf1~6),各spine节点和各leaf节点之间全连接。
spine1~4均被配置为网关,各网关均配置有VLAN1,VLAN1内配置有组播组G1、G2、G3。
Trill域中的所有Rbridge上均配置IGSP协议,spine1~4上还配置有PIM协议和IGMP协议。spine1~4在VLAN1内选举唯一的DR,并选举唯一的IGMP查询器,这里以spine1被选举为DR,spine4被选举为IGMP查询器为例描述。
leaf1上分别连接有组播组G1的接收客户端client1、组播组G2的接收客户端client2、组播组G3的接收客户端client3,leaf5上连接有组播组G2的接收客户端client4,leaf6上连接有组播组G1的接收客户端client5。client1~5均属于VLAN1(表示为V1)。leaf2上连接有组播源(S1,G1,V1)。
为了方便描述,以下将leaf1上连接spine1、spine2、spine3、spine4的端口分别命名为leaf1_P1、leaf1_P2、leaf1_P3、leaf1_P4,将leaf2上连接spine1、spine2、spine3、spine4的端口分别命名为leaf2_P1、leaf2_P2、leaf2_P3、leaf2_P4,以此类推。将spine1上连接leaf1、leaf2、leaf3、leaf4的端口分别命名为spine1_P1、spine1_P2、spine1_P3、spine1_P4,将spine2上连接leaf1、leaf2、leaf3、leaf4的端口分别命名为spine2_P1、spine2_P2、spine2_P3、spine2_P4,以此类推。将leaf1上连接client1、client2、client3的端口分别命名为leaf1_Pa、leaf1_Pb、leaf1_Pc,将leaf5上连接client4的端口命名为leaf5_Pa,将leaf6上连接client5的端口命名为leaf6_Pa。
Trill域中的所有Rbridge上还配置有L2ISIS协议,借助L2ISIS协议的LSA同步机制,spine1~4将其上配置的相关信息,以LSA形式在Trill域内通告,以使Trill域内的各Rbridge所维护的链路状态数据库保持同步。
在上述信息通告过程中,spine1~4将自己的nickname、是否作为DR、作为哪些VLAN的L3网关,以及VLAN内的组播组信息、组播源位置信息(包括组播源所在的VLAN和所属的组播组,以及组播源是否在数据中心内等信息)通过L2ISIS的LSA向Trill全网扩散。
各Rbridge根据接收到的LSA维护各自的链路状态数据库,并根据各自的链路状态数据库计算以DR的nickname为根的Trill组播树;然后,根据该Trill组播树,对于组播源在数据中心内的组播组,计算本设备上朝向DR和朝向所有网关的路由器端口,对于组播源在数据中心外的组播组,计算本设备上朝向DR的路由器端口。由于针对VLAN1所选举出的DR是唯一的,因此在一个Rbridge上,根据该Trill组播树所计算出的各组播组所对应的“朝向DR的路由器端口”是相同的。
如图2所示,以图中所示的一棵以DR为根的Trill组播树为例,与本实施例的组播数据转发流程相关的Rbridge上的“组播组和路由器端口对应关系表”可如下表所示,具体包括:
表1、spine1上的“组播组和路由器端口对应关系表”
其中,由于spine1即为组播组G1、G2和G3的组播树树根,因此“朝向DR的路由器端口”为空。此外,在被选举为DR的spine1上,对于组播源在数据中心内的组播组G1,其所对应的“朝向所有网关的路由器端口”中还可以包括CPU端口,其目的是避免组播转发表项下到硬件转发表项后,数据报文无法上送到CPU,因为如果后续RP周期性发送的注册停止报文没有被DR收到,则DR还会重新启动注册过程,这样就需要将组播数据报文重新上送CPU,进行单播封装,发送给RP。
表2、spine2上的“组播组和路由器端口对应关系表”
表3、spine3上的“组播组和路由器端口对应关系表”
表4、spine4上的“组播组和路由器端口对应关系表”
表5、leaf1上的“组播组和路由器端口对应关系表”
表6、leaf2上的“组播组和路由器端口对应关系表”
表7、leaf5上的“组播组和路由器端口对应关系表”
表8、leaf6上的“组播组和路由器端口对应关系表”
下面以组播源(S1,G1,V1)连接到leaf2后开始发送组播流量(此时client1~5还没有加入组播组),然后,client1~5依次加入组播组的场景为例,描述组播转发表项的生成、维护,以及根据组播转发表项进行组播数据转发的流程。
leaf2连接的组播源(S1,G1,V1)发送组播数据报文。leaf2接收到组播源(S1,G1,V1)发送的组播数据报文后,根据(G1,V1)没有查询到(G1,V1)对应的组播转发表项,将该组播数据报文上送CPU;CPU确定出(G1,V1)对应的组播源在数据中心内,则查询“组播组与路由器端口对应关系表”(如表6所示)中(G1,V1)对应的“朝向所有网关的路由器端口”,将查询到的leaf2_P1作为路由器端口配置为(G1,V1)对应的组播转发表项出端口,并将该表项配置到硬件转发表,leaf2还将该上送CPU的组播数据报文向查询到的路由器端口转发,后续到达的组播数据报文在leaf2上直接根据硬件转发表项进行转发,不再上送CPU处理。
spine1接收到该组播数据报文后,根据(G1,V1)没有查询到(G1,V1)对应的组播转发表项,将该组播数据报文上送CPU;CPU确定出(G1,V1)对应的组播源在数据中心内,则查询“组播组与路由器端口对应关系表”(如表1所示)中(G1,V1)对应的“朝向所有网关的路由器端口”,将查询到的spine1_P1和CPU端口作为路由器端口配置为(G1,V1)对应的组播转发表项出端口,并将该表项配置到硬件转发表。spine1还将该上送CPU的组播数据报文向查询到的路由器端口转发,后续到达的组播数据报文在spine1上直接根据硬件转发表项进行转发。
对于组播数据报文的第一包,被选举为DR的spine1还发起源注册过程:将该组播数据报文封装为注册报文,并以单播方式向数据中心外部的RP方向发送;RP接收到该注册报文后,解封装得到组播数据报文,向相应组播接收客户端方向转发该组播数据报文(在有相应组播接收客户端的情况下),并向数据中心发送关于组播组G1的PIM加入报文,数据中心的出口路由器(与各个spine节点相连的上游路由器)根据HASH(哈希)算法将该PIM加入报文发送到spine4,spine4根据该PIM加入报文生成相应组播转发表项,其出端口列表中包括该PIM加入报文的接收端口spine4_Pout及其所在的VLAN 100。组播源(S1,G1,V1)后续的组播数据报文进行三层组播转发,根据组播转发表项逐跳转发到RP后,RP发现正常组播数据流到达(此时spine1的注册报文还在继续发送),因此向spine1发送注册停止报文。spine1收到注册停止报文后,停止向外发送注册报文。
leaf1接收到该组播数据报文后,根据(G1,V1)没有查询到(G1,V1)对应的组播转发表项,将该组播数据报文上送CPU;CPU确定出(G1,V1)对应的组播源在数据中心内,则查询“组播组与路由器端口对应关系表”(如表5所示)中(G1,V1)对应的“朝向所有网关的路由器端口”,将查询到的leaf1_P1、leaf1_P2、leaf1_P3、leaf1_P4作为路由器端口配置为(G1,V1)对应的组播转发表项出端口,并将该表项配置到硬件转发表。leaf1还将该上送CPU的组播数据报文向查询到的路由器端口转发(其中,根据水平分割原则,leaf1不会将该组播数据报文向leaf1_P1转发),后续到达的组播数据报文在leaf1上直接根据硬件转发表项进行转发。
spine2、spine3和spine4收到该组播数据报文后,根据(G1,V1)未查询到(G1,V1)对应的组播转发表项,将该组播数据报文上送CPU;CPU确定出(G1,V1)对应的组播源在数据中心内,则查询“组播组与路由器端口对应关系表”中(G1,V1)对应的“朝向所有网关的路由器端口”,将查询到的端口作为路由器端口配置为(G1,V1)对应的组播转发表项出端口,并将该表项配置到硬件转发表。根据水平分割原则,spine2、spine3和spine4不会将该组播数据报文向所查询到的路由器端口转发。后续到达的组播数据报文在spine2、spine3和spine4上直接根据各自的硬件转发表项进行转发。
此后,client1、client2、client3、client4、client5依次发起组播加入过程。下面详细描述client1~5加入相应组播组的过程。
(1)client1加入组播组G1的过程
leaf1收到client1发送的请求加入组播组G1的IGMP报告报文后,根据(G1,V1)查询到(G1,V1)对应的组播转发表项,将该IGMP报告报文的接收端口leaf1_Pa作为成员端口添加到该组播转发表项出端口列表中,并对该IGMP报告报文进行Trill封装(Trill头中的源nickname为leaf1的nickname,目的nickname为被选举为DR的spine1的nickname),并从朝向DR的路由器端口leaf1_P1发送封装后的IGMP报告报文。
spine1接收到该IGMP报告报文后解Trill封装,解析出所请求加入的组播组G1及其所属的VLAN1,根据(G1,V1)查询到(G1,V1)对应的组播转发表项,且该IGMP报告报文的接收端口spine1_P1已作为路由器端口存在于该表项的出端口列表中,因此不再重复添加该端口,但将该端口配置为路由器端口和成员端口,并刷新相应硬件转发表项。另外,被选举为DR的spine1还向Trill域外的RP发送关于组播组G1的PIM加入报文。
(2)client2加入组播组G2的过程
leaf1收到client2发送的请求加入组播组G2的IGMP报告报文后,根据(G2,V1)未查询到(G2,V1)对应的组播转发表项,且确定出(G2,V1)对应的组播源不在数据中心内,因此查询“组播组与路由器端口对应关系表”(如表5所示)中(G2,V1)对应的“朝向DR的路由器端口”,将查询到的leaf1_P1作为路由器端口、将该IGMP报告报文的接收端口leaf1_Pb作为成员端口,配置为(G2,V1)对应的组播转发表项出端口,并将该表项配置到硬件转发表。leaf1对该IGMP报告报文进行Trill封装(Trill头中的源nickname为leaf1的nickname,目的nickname为被选举为DR的spine1的nickname),从朝向DR的路由器端口leaf1_P1发送封装后的IGMP报告报文。
spine1接收到该IGMP报告报文后解Trill封装,解析出所请求加入的组播组G2及其所属的VLAN1,根据(G2,V1)未查询到(G2,V1)对应的组播转发表项,且确定出(G2,V1)对应的组播源不在数据中心内,则查询“组播组与路由器端口对应关系表”(如表1所示)中(G2,V1)对应的“朝向DR的路由器端口”,由于该端口列表为空,因此将该IGMP报告报文的接收端口spine1_P1作为成员端口添加到该转发表项出端口列表中,并刷新相应硬件转发表项。另外,被选举为DR的spine1还向Trill域外的RP发送关于组播组G2的PIM加入报文,以触发建立Trill域外的组播组G2的组播源到spine1的组播转发路径。
(3)client3加入组播组G3的过程
leaf1收到client3发送的请求加入组播组G3的IGMP报告报文后,根据(G3,V1)未查询到(G3,V1)对应的组播转发表项,且确定出(G3,V1)对应的组播源不在数据中心内,因此查询“组播组与路由器端口对应关系表”(如表5所示)中(G3,V1)对应的“朝向DR的路由器端口”,将查询到的leaf1_P1作为路由器端口、将该IGMP报告报文的接收端口leaf1_Pc作为成员端口,配置为(G3,V1)对应的组播转发表项出端口,并将该表项配置到硬件转发表。leaf1对该IGMP报告报文进行Trill封装(Trill头中的源nickname为leaf1的nickname,目的nickname为被选举为DR的spine1的nickname),从朝向DR的路由器端口leaf1_P1发送封装后的IGMP报告报文。
spine1接收到该IGMP报告报文后解Trill封装,解析出所请求加入的组播组G3及其所属的VLAN1,根据(G3,V1)未查询到(G3,V1)对应的组播转发表项,且确定出(G3,V1)对应的组播源不在数据中心内,因此查询“组播组与路由器端口对应关系表”(如表1所示)中(G3,V1)对应的“朝向DR的路由器端口”,由于该端口列表为空,因此将该IGMP报告报文的接收端口spine1_P1作为成员端口配置为(G3,V1)对应的组播转发表项的出端口,并将该表项配置到硬件表项。另外,被选举为DR的spine1还向Trill域外的RP发送关于组播组G3的PIM加入报文,以触发建立Trill域外的组播组G3的组播源到spine1的组播转发路径。
(4)client4加入组播组G2的过程
该过程与client2加入组播组G2的过程类似,在此不再详述。
(5)client5加入组播组G1的过程
该过程与client1加入组播组G1的过程类似,在此不再详述。
通过以上过程,在Trill域的相应Rbridge上生成相应组播转发表项如图3所示,具体如以下各表所示:
表9、spine1上的组播转发表项:
VLAN | 组播组 | 出端口 |
V1 | G1 | spine1_P1,spine1_P6,CPU端口 |
V1 | G2 | spine1_P1,spine1_P5 |
V1 | G3 | spine1_P1 |
表10、spine2上的组播转发表项:
VLAN | 组播组 | 出端口 |
V1 | G1 | spine2_P1 |
表11、spine3上的组播转发表项:
VLAN | 组播组 | 出端口 |
V1 | G1 | spine3_P1 |
表12、spine4上的组播转发表项:
表13、leaf1上的组播转发表项:
VLAN | 组播组 | 出端口 |
V1 | G1 | leaf1_P1,leaf1_P2,leaf1_P3,leaf1_P4,leaf1_Pa |
V1 | G2 | leaf1_P1,leaf1_Pb |
V1 | G3 | leaf1_P1,leaf1_Pc |
表14、leaf2上的组播转发表项:
表15、leaf5上的组播转发表项:
VLAN | 组播组 | 出端口 |
V1 | G2 | leaf5_P1,leaf5_Pa |
表16、leaf6上的组播转发表项:
VLAN | 组播组 | 出端口 |
V1 | G1 | leaf6_P1,leaf6_Pa |
被选举为查询器的spine4会定期向本地网段发送IGMP通用组查询报文,以查询该网段有哪些组播组的成员。优选的,为了减少Trill域内的网络带宽开销,IGMP查询器可以根据Trill域内的任何一棵Trill VLAN裁剪树发送查询报文。下面以如图4所示的TrillVLAN裁剪树为例,描述IGMP查询过程。
spine4从端口spine4_P1、spine4_P5、spine4_P6发送IGMP通用组查询报文,该IGMP通用组查询报文为组播报文,Trill头中的源nickname为spine4的nickname,目的nickname为该Trill VLAN裁剪树树根spine4的nickname。
leaf1接收到该IGMP通用组查询报文后解Trill封装,从本设备的VLAN1包含的所有端口广播出去。client1接收到该IGMP通用组查询报文后,向leaf1返回IGMP报告报文,此后的IGMP报告报文的处理流程同前所述。同理,client2、client3接收到该IGMP通用组查询报文后,也向leaf1返回IGMP报告报文。leaf5、leaf6接收到该IGMP通用组查询报文后的处理流程同前所述,在此不再赘述。
通过查询器定期向本地网段发送IGMP通用组查询报文的过程,可以维护和刷新各个组播转发表项的成员端口信息。各个组播转发表项的路由器端口信息由各个节点根据拓扑的变化来维护,不再通过IGMP通用查询报文的机制来维护。
各Rbridge根据组播数据报文所属的组播组,查询相应组播转发表项,并根据查询到的相应组播转发表项转发组播数据报文。基于上述组播转发表项,组播组G1、G2和G3的组播流量的转发过程如下所述。
数据中心内的组播源(S1,G1,V1)发送的组播数据报文在数据中心内的转发路径可如图5A所示:组播源(S1,G1,V1)流量到达leaf2后,leaf2根据(G1,V1)表项将其转发给spine1;spine1根据(G1,V1)表项转发给leaf1、leaf6和CPU(CPU发现组播数据报文不是第一包,则将其丢弃);leaf6根据(G1,V1)表项转发给client5;leaf1根据(G1,V1)表项转发给client1、spine2、spine3、spine4;spine4将流量向数据中心外部的接收客户端转发。
数据中心外的组播组G2的组播源发送的组播数据报文在数据中心内的转发路径可如图5B所示:组播组G2的组播源流量到达作为DR的spine1后,spine1根据(G2,V1)表项转发给leaf1、leaf5;leaf1根据(G2,V1)表项转发给client2;leaf5根据(G2,V1)表项转发给client4。
数据中心外的组播组G3的组播源发送的组播数据报文在数据中心内的转发路径可如图5C所示:组播组G3的组播源流量到达作为DR的spine1后,spine1根据(G3,V1)表项转发给leaf1;leaf1根据(G3,V1)表项转发给client3。
可以看出,数据中心内部发出的组播源流量被转发到各网关上,因此无论数据中心外部的RP在反向PIM加入过程中,将PIM加入报文发送到哪个网关上,都可以将数据中心内部的组播源流量转发到数据中心外部的组播接收客户端。另外,数据中心外部的组播源流量可以发送给数据中心内部的相应组播流量的接收客户端。
client1、client3依次发送IGMP离开组报文时,其组播组离开的处理流程如下所述:
(1)client1离开组播组G1的过程
leaf1接收到client1发送的IGMP离开组报文后,对该报文进行Trill封装(Trill头的源nickname为leaf1的nickname,目的nickname为被选举为DR的spine1的nickname),将封装后的报文从“朝向DR的路由器端口”转发。
该IGMP离开组报文到达spine1后,spine1对其进行解封装,从该报文中解析出所请求离开的组播组G1及其所属的VLAN1,从该报文的接收端口spine1_P1发送关于(G1,V1)的特定组查询报文(该报文为组播报文,Trill头中的源nickname为spine1的nickname,目的nickname为以DR为根的组播树树根spine1的nickname)。
该IGMP特定组查询报文到达leaf1后,leaf1对其进行解封装,从该报文中解析出所要查询的组播组G1及其所属的VLAN1,从(G1,V1)对应的所有成员端口转发该IGMP特定组查询报文。其后,leaf1在设定长时间内没有从上述IGMP组离开报文的接收端口leaf1_Pa接收到请求加入组播组G1的IGMP报告报文,并且(G1,V1)的组播源在数据中心内,因此删除该组播组对应的组播转发表项出端口列表中的成员端口leaf1_Pa,保留其中所有的路由器端口leaf1_P1、leaf1_P2、leaf1_P3、leaf1_P4。spine1在设定长时间内没有从上述发送特定组查询报文的端口spine1_P1接收到请求加入组播组G1的IGMP报告报文,并且确定出spine1_P1端口既是组播组G1对应的组播转发表项出端口列表中的成员端口,也是路由器端口,因此保留该出端口列表中的spine1_P1。
通过针对组播源在数据中心内的组播组,保留组播转发表项中的路由器端口,这样,可以避免删除表项后,组播数据到达后成为未知报文上CPU,重新生成转发表项并配置到硬件转发表的处理操作,该处理操作会影响正在播放的组播流的质量。
(2)client3离开组播组G3的过程
leaf1接收到client3发送的IGMP离开组报文后,对该报文进行Trill封装(Trill头的源nickname为leaf1的nickname,目的nickname为被选举为DR的spine1的nickname),将封装后的报文从“朝向DR的路由器端口”转发。
该IGMP离开组报文到达spine1后,spine1对其进行解封装,从该报文中解析出所请求离开的组播组G3及其所属的VLAN1,从该报文的接收端口spine1_P1发送关于(G3,V1)的特定组查询报文(该报文为组播报文,Trill头中的源nickname为spine1的nickname,目的nickname为以DR为根的组播树树根spine1的nickname)。
leaf1接收到该IGMP特定组查询报文后进行解封装,从该报文中解析出所要查询的组播组G3及其所属的VLAN1,从组播组G3对应的所有成员端口转发该IGMP特定组查询报文。其后,leaf1在设定长时间内没有从该IGMP离开组报文的接收端口leaf1_Pc接收到请求加入组播组G3的IGMP报告报文,由于(G3,V1)的组播源不在数据中心内,且leaf1_Pc为(G3,V1)对应的组播转发表项出端口列表中的最后一个成员端口,因此删除该组播转发表项。spine1在设定长时间内没有从该特定组查询报文的接收端口spine1_P1接收到请求加入组播组G3的IGMP报告报文,由于(G3,V1)的组播源不在数据中心内,且该端口是(G3,V1)对应的组播转发表项出端口列表中的最后一个成员端口,因此删除该组播转发表项,并向数据中心外部的RP发送关于组播组G3的剪枝(prune)报文,以删除数据中心外部的组播组G3的组播源到spine1的转发路径。需要说明的是,如果被删除的成员端口不是出接口列表中的最后一个成员端口,则不会删除该组播转发表项,也不会向数据中心外部的RP发送剪枝(prune)报文。
需要说明的是,以上所列举的以DR为根的组播树上,每个leaf节点都直接与DR连接,因此客户端发送的组播离开报文可以从leaf节点直接转发到DR,在一些其它以DR为根的组播树上,有些leaf节点可能不与DR直接连接,而是需要通过传输节点(即Transit节点,包括spine节点和leaf节点)绕行到DR上,这种情况下,传输节点在收到Trill封装的组离开报文后,将该Trill封装的组离开报文从本设备朝向DR的路由器端口转发。
考虑到Trill域内的Rbridge可能发生异常,为了提高系统可用性,本发明实施例还提供了异常处理机制。
作为DR的spine1发生异常时,如图6所示,将启动异常处理流程:
spine2、spine3、spine4重新选举出spine2作为DR(当然也可能选举其它spine作为新的DR,这里仅以spine2被选举为新的DR为例);spine2、spine3、spine4将自己的nickname、是否是DR,作为L3网关的VLAN信息,VLAN内的组播组信息,以及组播源位置信息,通过L2ISIS的LSA向Trill全网重新扩散,spine2发送的LSA中包含自己作为DR的指示信息;各Rbridge根据接收到的LSA刷新各自的链路状态数据库,并根据链路状态数据库计算以DR的nickname为根的Trill组播树,根据该Trill组播树,针对组播源在数据中心内的组播组计算朝向所有网关和朝向DR的路由器端口,针对组播源不在数据中心内的组播组计算朝向DR的路由器端口,并根据计算结果刷新“组播组与路由器端口对应关系表”。以图6中所示的Trill组播树为例,刷新后的“组播组与路由器端口对应关系表”可如图6中的表格所示。
各Rbridge根据刷新后的“组播组和路由器端口对应关系表”刷新组播转发表项,刷新后的组播转发表项可如图7中的表格所示(刷新前的组播转发表项如图3所示)。各Rbridge根据更新后的“组播组和路由器端口对应关系表”刷新组播转发表项时,针对组播源在数据中心内的组播组,根据计算出的相应组播组对应的“朝向所有网关的路由器端口”,刷新该组播组对应的组播转发表项中的路由器端口;针对组播源不在数据中心内的组播组,根据计算出的相应组播组对应的“朝向DR的路由器端口”,刷新该组播组对应的组播转发表项中的路由器端口。比如,刷新leaf1上组播组G1对应的组播转发表项时,由于针对组播组G1重新计算出的“朝向所有网关的路由器端口”为leaf1_P2、leaf1_P3、leaf1_P4,因此用这些路由器端口替换组播组G1对应的组播转发表项(如表13所示)出端口列表中的路由器端口leaf1_P1、leaf1_P2、leaf1_P3、leaf1_P4;再比如,刷新leaf1上组播组G2对应的组播转发表项时,由于针对组播组G2重新计算出的“朝向DR的路由器端口”为leaf1_P2,因此用该路由器端口替换组播组G2对应的组播转发表项(如表13所示)出端口列表中的路由器端口leaf1_P1。
spine2被选举为新的DR后,还要向数据中心外发送PIM加入报文。
根据刷新后的组播转发表项,数据中心内的组播源(S1,G1,V1)发送的组播流量在数据中心内的转发路径为:组播源(S1,G1,V1)流量到达leaf2后,leaf2根据(G1,V1)表项转发到spine2;spine2根据(G1,V1)表项转发给leaf1、leaf6和CPU;leaf6根据(G1,V1)表项转发给client5;leaf1根据(G1,V1)表项转发给client1、spine3以及spine4;spine4将流量向数据中心外转发。
数据中心外的组播组G2的组播源发送的组播流量在数据中心内的转发路径为:组播组G2的组播源流量到达作为DR的spine2后,spine2根据(G2,V1)表项转发给leaf1、leaf5;leaf1根据(G2,V1)表项转发给client2;leaf5根据(G2,V1)表项转发给client4。
数据中心外的组播组G3的组播源发送的组播流量在数据中心内的转发路径为:组播组G3组播源流量到达作为DR的spine2后,spine2根据(G3,V1)表项转发给leaf1,leaf1根据(G3,V1)表项转发给client3。
本发明实施例提供的组播数据转发方案同样适用于跨VLAN进行组播数据报文转发的过程。下面以图8所示的Trill组播架构为例,对跨VLAN进行组播数据报文转发的具体实现过程进行描述。
如图8所示,该组网架构基本与图1所示的组网架构相同,并采用相同方式对端口进行命名。所不同的是:spine1~4上均配置有VLAN1和VLAN2,VLAN1和VLAN2内均配置有组播组G1、G2。spine1被选举为VLAN1和VLAN2的DR,spine4被选举为VLAN1和VLAN2的IGMP查询器。leaf1上连接有组播组G1和G2的接收客户端client1、client2、client3,leaf6上连接有组播组G2的接收客户端client4,其中,client1、client3属于VLAN1,client2、client4属于VLAN2。leaf2上连接有组播源(S1,G1,V1),(G1,V2)、(G2,V1)和(G2,V2)的组播源不在数据中心内。
基于该组网架构,spine1~4的信息通告过程与前述信息通告过程类似。各Rbridge根据所通告的LSA维护各自的链路状态数据库,并根据各自的链路状态数据库计算以DR的nickname为根的Trill组播树;然后以该Trill组播树为基础,并根据各组播组的组播源位置,计算相应组播组对应的路由器端口,其中,对于组播源在数据中心内的组播组,计算朝向DR的路由器端口和朝向所有网关的路由器端口,对于组播源在数据中心外的组播组计算朝向DR的路由器端口。
如图9所示,以图中所示的一棵以DR为根的Trill组播树为例,与本实施例的组播数据转发流程相关的Rbridge上的“组播组和路由器端口对应关系表”可如图9中的表格所示。
以组播源(S1,G1,V1)连接到leaf2后开始发送组播数据报文(此时client1~4还没有加入组播组),然后,client1~4依次加入组播组的场景为例,其组播转发表项的生成、维护,以及根据组播转发表项进行组播数据转发的流程,与前述描述类似。通过以上流程后,在Trill域的相应Rbridge上生成的相应组播转发表项如图10中的表格所示。
各Rbridge根据组播转发表项转发组播数据报文。需要说明的是,leaf节点在接收到组播数据报文后,只在匹配的VLAN内查表转发,网关接收到组播数据报文后,可实现跨VLAN转发。基于上述组播转发表项,数据中心内的组播流量的转发过程如下所述:
数据中心内的组播源(S1,G1,V1)发送的组播流量在数据中心内的转发路径为:组播源(S1,G1,V1)流量到达leaf2后,leaf2根据(G1,V1)表项在VLAN1内转发给spine1;spine1根据组播组G1查询到VLAN1和VLAN2内的组播转发表项,复制得到2份组播数据报文,并根据查询到的(G1,V1)表项和(G1,V2)表项在VLAN1和VLAN2内转发给leaf1;leaf1接收到VLAN1内的组播数据报文后,根据(G1,V1)表项转发给client1、spine2、spine3、spine4,spine4将流量向数据中心外部的接收客户端转发;leaf1接收到VLAN2内的组播数据报文后,根据(G1,V2)表项转发给client2。
数据中心外的组播组G2的组播源流量在数据中心内的转发路径为:组播组G2的组播源流量到达作为DR的spine1后,spine1根据组播组G2查询到VLAN1和VLAN2内的组播转发表项,因此复制得到2份组播数据报文,并根据查询到的(G2,V1)表项在VLAN1内转发给leaf1,leaf1根据(G2,V1)表项在VLAN1内转发给client3;spine1根据查询到的(G2,V2)表项在VLAN2内转发给leaf6,leaf6根据(G2,V2)表项在VLAN2内转发给client4。
可以看出,无论是数据中心内部的组播源流量,还是数据中心外部的组播源流量,均可转发给所有VLAN内相应组播组的接收客户端。
需要说明的是,以上Trill域中部署多个VLAN的实施例中,是以所有VLAN的DR均为同一个spine节点为例描述的,如果不同VLAN部署在不同spine节点上,不同VLAN的DR为不同的spine节点,则依然可以采用本发明以上实施例的思想,实现组播数据业务,并可达到与上述实施例相同的技术效果。仍以图8所示的网络架构为例,如果spine1和spine3上部署VLAN1,spine2和spine4上部署VLAN2,spine1被选举为VLAN1的DR,spine2被选举为VLAN2的DR,则各Rbridge在根据链路状态数据库生成Trill组播树时,分别以spine1的nickname为根生成VLAN1对应的组播树1,以spine2的nickname为根生成VLAN2对应的组播树2;相应的,在根据组播树计算路由器端口时,针对(V1,G1)和(V1,G2)以组播树1为基础计算相应路由器端口,针对(V2,G1)和(V2,G2)以组播树2为基础计算相应路由器端口。其余操作处理,与前述实施例的原理相同,在此不再赘述。
需要说明的是,本发明的上述实施例中,是IGMP、IGSP、PIM协议为例描述的,本领域技术人员应该可以理解,将上述协议替换为其它类似协议,依然可以采用本发明实施例的思想,实现本发明实施例所提供的组播转发技术方案,并可以达到相同或相似的技术效果。
基于相同的技术构思,本发明实施例还提供了上述大二层网络中的设备。
参见图11,为本发明实施例提供的大二层网络中的接入层设备的结构示意图。该接入层设备可以是交换机,对应于前述Trill组网中的leaf节点。当然该接入层设备也可应用于其它大二层网络,比如:VLAN网络或SPB网络等。
该设备可包括:拓扑计算模块1101、组播协议处理模块1102、组播转发表处理模块1103、组播转发模块1104。其中,拓扑计算模块1101、组播协议处理模块1102、组播转发表处理模块1103,属于上层应用模块,位于CPU内;组播转发模块1104属于底层硬件模块,如转发芯片,其中配置有硬件转发表。上述各模块的主要功能如下:
拓扑计算模块1101,用于根据以DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口。所计算出的路由器端口可存储于组播组与路由器端口对应关系表100;拓扑变化后,如设备故障(down)或链路故障(down),拓扑计算模块1101也会向外通过在大二层网络中发布拓扑控制计算的相关报文,发布本设备的链路状态,以刷新各设备上的链路状态数据库;
组播协议处理模块1102,用于在接收到组加入报文后,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块1103生成相应组播转发表项;对接收到的组加入报文进行大二层网络协议封装,从本设备朝向DR的路由器端口转发封装后的组加入报文。在接收到大二层网络协议封装的组加入报文后,对接收到大二层网络协议封装的组加入报文进行解封装,解析出所请求加入的组播组和所属的VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查询到相应组播转发表项时指示组播转发表处理模块1103生成相应组播转发表项,并从本设备朝向DR的路由器端口转发该大二层网络协议封装的组加入报文。进一步的,若组播协议处理模块1102在根据所请求加入的组播组查询到相应组播转发表项时,刷新相应成员端口的老化定时器。
组播转发表处理模块1103,用于生成软件的组播转发表项并进一步将其配置到组播转发模块1104中的硬件转发表。其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收组加入报文的成员端口配置为组播转发表项的出端口;
组播转发模块1104,用于在接收到组播数据报文后,根据该组播数据报文所属的组播组和VLAN查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
进一步的,组播转发模块1104在收到组播数据报文之后,若根据所述组播数据报文所属的组播组和VLAN未查询到相应组播转发表项,则根据所述组播数据报文所属的组播组和VLAN,以及该组播组的组播源位置,获取路由器端口,根据获取到的路由器端口转发所述组播数据报文,并指示组播转发表处理模块1103生成相应组播转发表项;其中,若所述组播数据报文所属的组播组和VLAN所对应的组播源在数据中心内,则获取本设备朝向所有网关的路由器端口,若所述组播数据报文所属的组播组和VLAN所对应的组播源不在数据中心内,则获取本设备朝向DR的路由器端口。组播转发表处理模块1103可按照所述组播转发模块的指示,根据所述组播数据报文所属的组播组和VLAN生成相应组播转发表项,并将所述组播转发模块获取到的路由器端口配置为该组播转发表项的出端口。
进一步的,组播协议处理模块1102在接收到大二层网络协议封装的通用组查询报文后进行解封装,解析出VLAN信息,根据所解析出的VLAN信息,将解封后的通用组查询报文向相应VLAN内的成员端口转发;其中,所述通用组查询报文是被选举为查询器的核心层设备根据所选的VLAN裁剪树转发的。
进一步的,组播协议处理模块1102在接收到组离开报文后,对所述组离开报文进行大二层网络协议封装,并从本设备朝向DR的路由器端口转发大二层网络协议封装后的组离开报文;以及,在接收到大二层网络协议封装的组离开报文后,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组离开报文;以及,在接收到大二层网络协议封装的特定组查询报文后进行解封装,解析出所请求查询的组播组及其所属的VLAN信息,根据所解析出的组播组和VLAN信息,将解封装后的特定组查询报文从相应组播组和VLAN对应的成员端口转发,若未在设定长时间内从接收组离开报文的成员端口接收到请求加入该组播组的组加入报文,则指示组播转发表处理模块1103从所请求离开的组播组及其所属VLAN对应的组播转发表项出端口列表中删除接收组离开报文的成员端口;若被删除的成员端口为出端口列表中的最后一个成员端口,且所请求离开的组播组的组播源不在数据中心内,则指示组播转发表处理模块1103删除所请求离开的组播组及其所属VLAN对应的组播转发表项,若被删除的成员端口为出端口列表中的最后一个成员端口,且所请求离开的组播组的组播源在数据中心内,则指示组播转发表处理模块1103保留该出端口列表中的路由器端口;其中,大二层网络协议封装的特定组查询报文是被选举为DR的核心层设备在接收到大二层网络协议封装的组离开报文后,从接收该报文的成员端口发送的,所述特定组查询报文用于查询所述所请求离开的组播组。
进一步的,拓扑计算模块1101还用于:当接收到大二层网络中的其它设备通过控制协议发布的大二层网络拓扑信息后,更新本地链路状态数据库,根据本地链路状态数据库计算以DR为根的组播树,根据计算出的以DR为根的组播树,为组播源在数据中心内的组播组计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组计算本设备朝向DR的路由器端口;其中,被选举为DR的网关设备发布的拓扑信息中包含自身被选举为DR的信息、作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息,其它网关设备发布的拓扑信息中包含作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息。
进一步的,组播转发表处理模块1103在拓扑计算模块1101计算出路由器端口后,针对组播源在数据中心内的组播组,根据计算出的朝向所有网关的路由器端口,刷新该组播组对应的组播转发表项中的路由器端口;针对组播源不在数据中心内的组播组,根据计算出的朝向DR的路由器端口,刷新该组播组对应的组播转发表项中的路由器端口。
参见图12,为本发明实施例提供的大二层网络中的核心层设备的结构示意图。该核心层设备可以是路由器,对应于前述Trill组网中的spine节点。当然该接入层设备也可应用于其它大二层网络,比如:VLAN网络或SPB网络等。
该设备可包括:拓扑计算模块1201、组播协议处理模块1202、组播转发表处理模块1203、组播转发模块1204。还可进一步包括配置模块(未在图中示出),该模块用于配置VLAN信息、组播组信息、组播源位置信息等,例如,配置VLAN以及各VLAN内有哪些组播组,各组播组的组播源是否在数据中心内等(具体配置信息请参见前述实施例的描述)。其中,拓扑计算模块1201、组播协议处理模块1202、组播转发表处理模块1203、配置模块,属于上层应用模块,位于CPU内;组播转发模块1204属于底层硬件模块,如转发芯片,其中配置有硬件转发表。上述各模块的主要功能如下:
拓扑计算模块1201,用于根据以DR为根的组播树,为组播源在数据中心内的组播组,计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组,计算本设备朝向DR的路由器端口,所计算出的路由器端口可存储于组播组与路由器端口对应关系表200;拓扑变化后,如设备故障(down)或链路故障(down),拓扑计算模块1201也会向外通过在大二层网络中发布拓扑控制计算的相关报文,发布本设备的链路状态,以刷新各设备上的链路状态数据库。
组播协议处理模块1202,用于选举唯一的DR。以及,在接收到大二层网络协议封装的组加入报文后进行解封装,解析出所请求加入的组播组和所属虚拟局域网VLAN,根据解析出的组播组和VLAN查询相应组播转发表项,并在未查找到相应组播转发表项时指示组播转发表处理模块1203生成相应组播转发表项;并在本设备被选举为DR的情况下,根据所请求加入的组播组向大二层网络外部发送组加入报文,在本设备未被选举为DR的情况下,从本设备朝向DR的路由器端口转发所述大二层网络协议封装的组加入报文。进一步的,若组播协议处理模块1202在根据所请求加入的组播组查询到相应组播转发表项时,刷新相应成员端口的老化定时器。
组播转发表处理模块1203,用于生成软件的组播转发表项并进一步将其配置到组播转发模块1204中的硬件转发表,其中,若所请求加入的组播组和所属VLAN所对应的组播源在数据中心内,则将本设备朝向所有网关的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口,若所请求加入的组播组和所属VLAN所对应的组播源不在数据中心内,则将本设备朝向DR的路由器端口以及接收所述组加入报文的成员端口配置为组播转发表项的出端口。
组播转发模块1204,用于在接收到组播数据报文后查询相应组播转发表项,并根据查询到的组播转发表项转发组播数据报文。
进一步的,组播转发模块1204在收到组播数据报文之后,若未查询到相应组播转发表项,则根据所述组播数据报文所属的组播组和VLAN,以及该组播组的组播源位置,获取对应的路由器端口,根据获取到的路由器端口转发所述组播数据报文,并指示组播转发表处理模块1203生成相应组播转发表项;其中,若所述组播数据报文所属的组播组和VLAN所对应的组播源在数据中心内,则获取该组播组对应的朝向所有网关的路由器端口,若所述组播数据报文所属的组播组和VLAN所对应的组播源不在数据中心内,则获取该组播组对应的朝向DR的路由器端口。组播转发表处理模块1203根据所述组播数据报文所属的组播组和VLAN生成相应组播转发表项,并将组播转发模块1204获取到的路由器端口配置为该组播转发表项的出端口。
进一步的,组播协议处理模块1202在本设备被选举为查询器的情况下,按照设定周期,根据所选的VLAN裁剪树,从该VLAN裁剪树本设备上的出端口发送大二层网络协议封装的通用组查询报文。
进一步的,组播协议处理模块1202在本设备未被选举为DR的情况下,在接收到大二层网络协议封装的组离开报文后,将该报文从本设备朝向DR的路由器端口转发;其中,所述大二层网络协议封装的组离开报文是接入层设备从其成员端口接收到组离开报文后向DR发送的。在本设备被选举为DR的情况下,在接收到大二层网络协议封装的组离开报文后进行解封装,从接收所述组离开报文的成员端口发送查询所请求离开的组播组的特定组查询报文,所述特定组查询报文采用大二层网络协议封装;其中,所述大二层网络协议封装的组离开报文是接入层设备从其成员端口接收到组离开报文后向DR发送的。在本设备被选举为DR的情况下,在发送特定组查询报文后,若未在设定长时间内从接收相应组离开报文的成员端口接收到请求加入相应组播组的组加入报文,则指示组播转发表处理模块1203从所请求离开的组播组对应的组播转发表项出端口列表中删除接收组离开报文的成员端口;若被删除的成员端口为出端口列表中的最后一个成员端口,且所请求离开的组播组的组播源不在数据中心内,则指示组播转发表处理模块1203删除所请求离开的组播组及其所属VLAN对应的组播转发表项,若被删除的成员端口为端口列表中的最后一个成员端口,且所请求离开的组播组的组播源在数据中心内,则指示组播转发表处理模块1203保留该出端口列表中的路由器端口。
组播转发模块1204还可实现跨VLAN转发。具体的,组播转发模块1204在接收到组播数据报文后,根据所述组播数据报文所属的组播组查询相应组播转发表项,若根据所述组播数据报文所属的组播组查询到至少2个VLAN内的组播转发表项,则复制得到与所述至少2个VLAN相应数量的组播数据报文,并根据查询到的各VLAN内的组播转发表项,分别将复制得到的组播数据报文在相应VLAN内转发。
进一步的,拓扑计算模块1201可通过控制协议向所述大二层网络发布拓扑信息,其中,在本设备被选举为DR的情况下,所发布的拓扑信息中包含自身被选举为DR的指示信息、作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息,在本设备未被选举为DR的情况下,所发布的拓扑信息中包含作为网关的VLAN信息,以及用于表明组播源是否在数据中心内的组播源位置信息。该模块在接收到的拓扑信息后,更新本地链路状态数据库,根据本地链路状态数据库计算以DR为根的组播树,根据计算出的以DR为根的组播树,为组播源在数据中心内的组播组计算本设备朝向DR的路由器端口和朝向所有网关的路由器端口,为组播源不在数据中心内的组播组计算本设备朝向DR的路由器端口。
进一步的,拓扑计算模块1201还可在计算出路由器端口后,指示组播转发表处理模块1203刷新组播转发表。组播转发表处理模块1203可根据拓扑计算模块1201的指示,针对组播源在数据中心内的组播组,根据计算出的朝向所有网关的路由器端口,刷新该组播组对应的组播转发表项中的路由器端口,针对组播源不在数据中心内的组播组,根据计算出的朝向DR的路由器端口,刷新该组播组对应的组播转发表项中的路由器端口。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (30)
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网络。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210539572.8A CN103873373B (zh) | 2012-12-11 | 2012-12-11 | 一种组播数据报文转发方法及设备 |
EP13862377.2A EP2932665A4 (en) | 2012-12-11 | 2013-12-11 | FORWARDING MULTICAST DATA PACKAGES |
US14/648,854 US20150341183A1 (en) | 2012-12-11 | 2013-12-11 | Forwarding multicast data packets |
PCT/CN2013/089042 WO2014090149A1 (en) | 2012-12-11 | 2013-12-11 | Forwarding multicast data packets |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210539572.8A CN103873373B (zh) | 2012-12-11 | 2012-12-11 | 一种组播数据报文转发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873373A CN103873373A (zh) | 2014-06-18 |
CN103873373B true CN103873373B (zh) | 2017-05-17 |
Family
ID=50911512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210539572.8A Active CN103873373B (zh) | 2012-12-11 | 2012-12-11 | 一种组播数据报文转发方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150341183A1 (zh) |
EP (1) | EP2932665A4 (zh) |
CN (1) | CN103873373B (zh) |
WO (1) | WO2014090149A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450529B (zh) * | 2014-06-24 | 2019-02-12 | 华为技术有限公司 | 跨二层虚拟网络传输组播报文的方法、设备及系统 |
CN104410985B (zh) * | 2014-10-20 | 2018-04-06 | 新华三技术有限公司 | 一种拓扑控制报文的处理方法和装置 |
CN104301232B (zh) * | 2014-10-29 | 2017-10-03 | 新华三技术有限公司 | 一种多链路透明互联网络中报文转发方法和装置 |
CN105721322A (zh) * | 2014-12-03 | 2016-06-29 | 中兴通讯股份有限公司 | 在trill网络中传输组播数据的方法、装置和系统 |
CN105763452B (zh) * | 2014-12-18 | 2019-06-21 | 华为技术有限公司 | 一种在trill网络中生成组播转发表项的方法及路由桥 |
US10218604B2 (en) * | 2015-01-19 | 2019-02-26 | Hewlett Packard Enterprise Development Lp | Engines to prune overlay network traffic |
CN105871565B (zh) | 2015-01-20 | 2019-11-29 | 华为技术有限公司 | 用于组播转发的方法及装置 |
CN104639344B (zh) * | 2015-02-10 | 2017-12-15 | 新华三技术有限公司 | 一种用户组播报文发送方法和装置 |
CN104753820B (zh) * | 2015-03-24 | 2019-06-14 | 福建星网锐捷网络有限公司 | 聚合链路中业务流非对称转发的方法、设备以及交换机 |
CN106209636B (zh) | 2015-05-04 | 2019-08-02 | 新华三技术有限公司 | 从vlan至vxlan的组播数据报文转发方法和设备 |
CN106209689B (zh) * | 2015-05-04 | 2019-06-14 | 新华三技术有限公司 | 从vxlan至vlan的组播数据报文转发方法和设备 |
CN106209648B (zh) | 2015-05-04 | 2019-06-14 | 新华三技术有限公司 | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 |
US20160359720A1 (en) * | 2015-06-02 | 2016-12-08 | Futurewei Technologies, Inc. | Distribution of Internal Routes For Virtual Networking |
CN105591923B (zh) * | 2015-10-28 | 2018-11-27 | 新华三技术有限公司 | 一种转发表项的存储方法和装置 |
JP6444505B2 (ja) | 2015-12-18 | 2018-12-26 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ・センタ・ネットワークのためのネットワーキング方法及びデータ・センタ・ネットワーク |
CN106982163B (zh) * | 2016-01-18 | 2020-12-04 | 华为技术有限公司 | 按需获取路由的方法及网关 |
CN107612824B (zh) * | 2016-07-12 | 2020-07-28 | 迈普通信技术股份有限公司 | 一种组播指定路由器的确定方法及组播设备 |
CN108512736A (zh) * | 2017-02-24 | 2018-09-07 | 联想企业解决方案(新加坡)有限公司 | 多播方法和装置 |
CN106941449B (zh) * | 2017-03-29 | 2019-08-09 | 常熟理工学院 | 一种基于按需机制的网络数据通信方法 |
US10742431B2 (en) * | 2017-08-31 | 2020-08-11 | Hewlett Packard Enterprise Development Lp | Centralized database based multicast converging |
US10666558B2 (en) * | 2018-01-10 | 2020-05-26 | Hewlett Packard Enterprise Development Lp | Automatic alignment of roles of routers in networks |
CN108199960B (zh) * | 2018-02-11 | 2021-07-16 | 迈普通信技术股份有限公司 | 组播数据报文转发方法、入口路由桥、出口路由桥及系统 |
EP3759997B1 (en) * | 2018-02-26 | 2024-12-11 | Nokia Technologies Oy | Multicast traffic area management and mobility for wireless network |
CN108400939B (zh) * | 2018-03-02 | 2020-08-07 | 赛特斯信息科技股份有限公司 | Nfv中实现加速组播复制的系统及方法 |
CN108600074B (zh) * | 2018-04-20 | 2021-06-29 | 新华三技术有限公司 | 组播数据报文的转发方法及装置 |
CN110536187B (zh) * | 2018-05-25 | 2021-02-09 | 华为技术有限公司 | 转发数据的方法和接入层交换设备 |
CN109246006B (zh) * | 2018-08-15 | 2022-10-04 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由方法 |
CN110324247B (zh) * | 2019-06-29 | 2021-11-09 | 北京东土军悦科技有限公司 | 三层组播网络中的组播转发方法、设备及存储介质 |
CN111478846B (zh) * | 2020-03-18 | 2022-01-21 | 浪潮思科网络科技有限公司 | 一种云网环境下实现多租户网络的方法及设备、介质 |
CN113872916B (zh) * | 2020-06-30 | 2024-12-17 | 中兴通讯股份有限公司 | 数据重传方法、网络设备和计算机可读存储介质 |
CN112968836B (zh) * | 2021-01-31 | 2022-05-27 | 新华三信息安全技术有限公司 | 跨设备聚合链路配置方法、装置、设备及可读存储介质 |
CN117041136B (zh) * | 2023-10-10 | 2024-01-23 | 北京国科天迅科技股份有限公司 | 组播管理方法、系统、装置、交换机和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409672A (zh) * | 2007-10-10 | 2009-04-15 | Nec爱克赛斯科技株式会社 | 数据分发设备、数据分发方法及分发控制程序 |
US7933268B1 (en) * | 2006-03-14 | 2011-04-26 | Marvell Israel (M.I.S.L.) Ltd. | IP multicast forwarding in MAC bridges |
WO2011156256A1 (en) * | 2010-06-08 | 2011-12-15 | Brocade Communications Systems, Inc. | Methods and apparatuses for processing and/or forwarding packets |
CN102801625A (zh) * | 2012-08-17 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种异构网络二层互通的方法及设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678678B2 (en) * | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
US9491084B2 (en) * | 2004-06-17 | 2016-11-08 | Hewlett Packard Enterprise Development Lp | Monitoring path connectivity between teamed network resources of a computer system and a core network |
CN101119290B (zh) * | 2006-08-01 | 2011-06-01 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及系统 |
US7719959B2 (en) | 2007-04-20 | 2010-05-18 | Cisco Technology, Inc. | Achieving super-fast convergence of downstream multicast traffic when forwarding connectivity changes between access and distribution switches |
US7860093B2 (en) * | 2007-12-24 | 2010-12-28 | Cisco Technology, Inc. | Fast multicast convergence at secondary designated router or designated forwarder |
US8259569B2 (en) | 2008-09-09 | 2012-09-04 | Cisco Technology, Inc. | Differentiated services for unicast and multicast frames in layer 2 topologies |
US9407533B2 (en) * | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US9935781B2 (en) * | 2012-01-20 | 2018-04-03 | Arris Enterprises Llc | Managing a large network using a single point of configuration |
US9077562B2 (en) * | 2012-06-08 | 2015-07-07 | Cisco Technology, Inc. | System and method for layer-2 multicast multipathing |
-
2012
- 2012-12-11 CN CN201210539572.8A patent/CN103873373B/zh active Active
-
2013
- 2013-12-11 WO PCT/CN2013/089042 patent/WO2014090149A1/en active Application Filing
- 2013-12-11 US US14/648,854 patent/US20150341183A1/en not_active Abandoned
- 2013-12-11 EP EP13862377.2A patent/EP2932665A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7933268B1 (en) * | 2006-03-14 | 2011-04-26 | Marvell Israel (M.I.S.L.) Ltd. | IP multicast forwarding in MAC bridges |
CN101409672A (zh) * | 2007-10-10 | 2009-04-15 | Nec爱克赛斯科技株式会社 | 数据分发设备、数据分发方法及分发控制程序 |
WO2011156256A1 (en) * | 2010-06-08 | 2011-12-15 | Brocade Communications Systems, Inc. | Methods and apparatuses for processing and/or forwarding packets |
CN102801625A (zh) * | 2012-08-17 | 2012-11-28 | 杭州华三通信技术有限公司 | 一种异构网络二层互通的方法及设备 |
Non-Patent Citations (1)
Title |
---|
云计算中的大二层网络技术研究;龙吟;《通信与信息技术》;20120930(第5期);第34-36页 * |
Also Published As
Publication number | Publication date |
---|---|
US20150341183A1 (en) | 2015-11-26 |
EP2932665A4 (en) | 2016-05-18 |
CN103873373A (zh) | 2014-06-18 |
EP2932665A1 (en) | 2015-10-21 |
WO2014090149A1 (en) | 2014-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873373B (zh) | 一种组播数据报文转发方法及设备 | |
CN104378297B (zh) | 一种报文转发方法及设备 | |
US9509522B2 (en) | Forwarding multicast data packets | |
CN104378296B (zh) | 一种报文转发方法及设备 | |
DE112016007055B4 (de) | Querverbindung von Switches auf der Basis eines hierarchischen Overlay-tunneling | |
US9369549B2 (en) | 802.1aq support over IETF EVPN | |
US8761044B2 (en) | Selection of multicast router interfaces in an L2 switch connecting end hosts and routers, which is running IGMP and PIM snooping | |
US20130021942A1 (en) | Granular Control of Multicast Delivery Services for Layer-2 Interconnect Solutions | |
CN103546381B (zh) | 基于内部网关协议创建双向组播分发树的方法、装置及系统 | |
WO2016198016A2 (zh) | 一种bier控制信息的传输方法、装置和系统 | |
CN107592262A (zh) | 报文发送方法和装置、报文跨域转发的网络架构 | |
US20130100851A1 (en) | Multicast Source Move Detection for Layer-2 Interconnect Solutions | |
US8428062B2 (en) | Network provider bridge MMRP registration snooping | |
US8902794B2 (en) | System and method for providing N-way link-state routing redundancy without peer links in a network environment | |
CN104579981B (zh) | 一种组播数据报文转发方法及设备 | |
CN104468139B (zh) | 一种组播数据报文转发方法及设备 | |
CN104579704B (zh) | 组播数据报文的转发方法及装置 | |
CN106059962A (zh) | 一种spbm网络中组播报文的转发方法和装置 | |
CN103200119B (zh) | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 | |
CN104468370B (zh) | 一种组播数据报文转发方法及设备 | |
WO2024016869A1 (zh) | 一种组播配置方法及装置 | |
CN108199960A (zh) | 组播数据报文转发方法、入口路由桥、出口路由桥及系统 | |
CN104579980B (zh) | 一种组播数据报文转发方法及设备 | |
CN113810285B (zh) | 用于多播源发现协议msdp循环避免的方法和设备 | |
CN102986178B (zh) | 稀疏模式协议无关组播中的组播转发方法和组播转发设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |