CN105264834B - 一种在nvo3网络中处理组播报文的方法、装置和nvo3网络 - Google Patents
一种在nvo3网络中处理组播报文的方法、装置和nvo3网络 Download PDFInfo
- Publication number
- CN105264834B CN105264834B CN201380000655.2A CN201380000655A CN105264834B CN 105264834 B CN105264834 B CN 105264834B CN 201380000655 A CN201380000655 A CN 201380000655A CN 105264834 B CN105264834 B CN 105264834B
- Authority
- CN
- China
- Prior art keywords
- multicast message
- nvo3
- multicast
- nve
- 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
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
-
- 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
-
- 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/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/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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
- 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/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种在NVO3网络中处理组播报文的方法、装置和NVO3网络。所述第一多归NVE接收多归TES发送的第一组播报文,获取所述第一组播报文的入端口和虚拟局域网标识VLAN ID;根据所述第一组播报文的入端口以及所述VLAN ID获取所述第一组播报文的虚拟叠加网标识VN ID;确定所述入端口是否为所述第一组播报文的VN ID的指定转发者DF;在所述入端口不是所述第一组播报文的VN ID的DF情况下,为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给包括所述第二多归NVE的其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。本发明能够解决TES多活接入场景下引起的IP地址浪费的问题。
Description
技术领域
本发明涉及通信领域,尤其涉及一种在基于三层网络的网络虚拟化(英文:network virtualization over layer3,缩写:NVO3)网络中处理组播报文的方法、装置和NVO3网络。
背景技术
NVO3能够通过MAC in IP封装实现二层虚拟专用网(英文:virtual privatenetwork,缩写:VPN),虚拟扩展局域网(英文:virtual extensible local area network,缩写:VXLAN)和网络虚拟化通用路由封装(英文:network virtualization genericrouting encapsulation,缩写:NVGRE)是实现NVO3组网的两种典型技术。VXLAN和NVGRE分别通过MAC In UDP和MAC In GRE封装使不同VPN内的二层报文能够跨三层IP网络进行传输,VXLAN和NVGRE隧道封装中还分别包括24bit的虚拟叠加网(英文:virtual overlaynetwork,缩写:VN)标识(VN ID),通过给报文中封装VN ID,不同虚拟叠加网之间能够实现流量隔离。数据中心中一个租户可以对应一个或多个虚拟叠加网。
VN的边缘设备称为网络虚拟边缘(英文:network virtualization edge,缩写:NVE),其主要功能就是将租户终端系统(英文:tenant end system,缩写:TES)加入虚拟叠加网,NVE能够通过VN ID隔离不同虚拟叠加网内的流量。NVE存储有每个虚拟叠加网有对应的组播和单播转发表,对于本地TES发送过来的组播流量(包括未知单播、广播和组播,这里统称为组播),根据本地组播转发表,向其它TES复制发送,根据所述TES的虚拟叠加网对应的网络侧组播转发表,向其它远端NVE进行复制转发;组播报文在向远端NVE发送的时候,可以通过头结点复制或组播逐跳复制两种方式,头结点复制方式采用单播NVO3封装,隧道的目的IP为目的NVE的IP地址,采用组播复制方式,隧道目的IP为组播IP地址。VN和组播IP地址的对应关系由网络管理员在每个NVE上预先设定。NVE对于TES发送的单播报文,通过查找单播转发表,向本地TES或远端NVE进行转发,在向远端NVE转发的时候,需要进行所述单播报文进行单播NVO3封装。
如图1所示,为现有技术中NVO3网络的结构示意图。其中,各TES分别通过各自的NVE接入VN。为了保证TES的可靠性,可以将TES通过多个NVE接入网络。如图1中,TES1分别通过NVE1的端口1和NVE2的端口2接入NVO3网络。这种接入方式被称为多归接入,连接TES1的NVE1和NVE2被称为多归NVE,NVE1的端口1和NVE2的端口2构成跨设备的链路聚合组(英文:link aggregation group,简称:LAG);TES1被称为多归TES;多归NVE之外的NVE,被称为多归NVE的远端NVE。当所述多个多归NVE均能转发多归TES的报文时,这种接入方式被称为多活(英文:all-active或active-active)接入。
在多活接入场景下,对于VN内的组播报文,需要做到:
1、各多归NVE在向本地端口复制转发远端NVE发送的组播报文时,避免多归TES收到多份远端NVE发送的组播报文;以及
2、各多归NVE之间能够提供水平分割机制,以避免将多归TES发送的报文经过NVO3网络又环回到该多归TES。
现有技术提供了一种水平分割方法,多归NVE为每个LAG分别配置一个IP地址,作为该多归NVE通过所述LAG中的端口发送报文时的源IP地址,所述多归NVE记录所述LAG和IP地址的对应关系。NVO3网络中的NVE之间彼此通告每个NVE的LAG和IP地址的对应关系,每个NVE都记录其他NVE的LAG和IP地址的对应关系。
当第一NVE收到第二NVE发送的组播报文后,根据所述组播报文中的源IP地址查找所述第一NVE记录的LAG与IP地址的对应关系,如果该源IP地址没有对应的LAG,则所述第一NVE根据所述组播报文中的VN ID向所有对应所述VN ID的本地端口复制所述组播报文;如果该源IP地址存在对应的LAG,并且所述第一NVE与所述第二NVE属于同一LAG,则所述第一NVE不向所述LAG对应的本地端口复制所述组播报文。其中,所述本地端口是指连接TES的端口。
经过研究发现,上述水平分割方法中多归NVE需要为每个LAG分配IP地址,如果网络中LAG数目很多,会造成IP地址的浪费,并且,每个多归NVE需要针对每个其它多归NVE的IP地址进行是否属于同一个LAG的判断,如果多归NVE数目很多,会降低报文的转发效率。
发明内容
本发明提供了一种在NVO3网络中处理组播报文的方法、装置和NVO3网络,用于解决TES多活接入场景下引起的IP地址浪费、转发性能降低的问题。
本发明第一方面提供了一种在基于三层网络的网络虚拟化NVO3网络中处理组播报文的方法,所述方法包括:
接收第一组播报文;
在所述第一组播报文的发送方为本地多归租户终端系统TES的情况下,获取所述第一组播报文的入端口及虚拟局域网标识VLAN ID,根据所述入端口和所述VLAN ID,获取所述组播报文的虚拟叠加网标识VN ID;
确定所述入端口是否为所述VN ID的指定转发者DF;
在所述入端口为所述VN ID的DF的情况下,为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。
在所述第一方面的第一种实现方式中,所述确定所述入端口是否为所述VN ID的指定转发者DF包括:根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。
基于所述第一方面或所述第一方面的第一种实现方式,在所述第一方面的第二种实现方式中,所述方法还包括:
接收第二组播报文,在所述第二组播报文的发送方为网络虚拟边缘NVE的情况下,对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VN ID;查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;确定所述出端口是否为所述第二组播报文的VN ID的DF,根据所述确定结果对所述解封装后的第二组播报文进行处理。
本发明第二方面提供了一种在基于三层叠加网的网络虚拟化NVO3网络中处理组播报文的装置,所述装置包括:
接收模块,用于接收第一组播报文;
确定模块,用于确定所述第一组播报文的发送方,当确定所述组播报文的发送方为本地多归TES的情况下,触发第一虚拟叠加网标识VN ID获取模块;
所述第一VN ID获取模块用于获取所述第一组播报文的入端口及虚拟局域网标识VLAN ID,根据所述入端口和所述VLAN ID,获取所述组播报文的VN ID;
第一判断模块,用于确定所述入端口是否为所述VN ID的指定转发者DF;在所述入端口不为所述VN ID的DF的情况下,触发第一发送模块;
所述第一发送模块,用于为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给其他NVE;所述扩展NVO3头中携带所述第一组播报文的VNID以及所述入端口对应的链路聚合组标识LAG ID。
在所述第二方面的第一种实现方式中,所述确定模块具体用于根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。
基于所述第二方面或所述第二方面的第一种实现方式,在所述第二方面的第二种实现方式中,所述装置还包括第二VN ID获取模块、出端口获取模块和第二判断模块;
所述接收模块还用于接收第二组播报文;
所述确定模块还用于确定所述第二组播报文的发送方,在确定所述组播报文的发送方为网络虚拟边缘NVE的情况下,触发所述第二VN ID获取模块;
所述第二VN ID获取模块用于对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VN ID;
所述出端口获取模块用于查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;
所述第二判断模块用于确定所述出端口是否为所述第二组播报文的VN ID的DF,根据所述确定结果对所述解封装后的组播报文进行处理。
本发明第三方面提供了一种在基于三层叠加网的网络虚拟化NVO3网络,所述NVO3网络包括多归租户终端系统TES,第一多归网络虚拟边缘NVE和第二多归NVE,所述多归TES分别连接所述第一多归NVE和第二多归NVE;所述TES用于发送第一组播报文;
所述第一多归NVE用于接收所述第一组播报文,确定所述第一组播报文的发送方;在确定所述第一组播报文由所述多归TES发送的情况下,获取所述第一组播报文的入端口和虚拟局域网标识VLAN ID;根据所述第一组播报文的入端口以及所述VLAN ID获取所述第一组播报文的虚拟叠加网标识VN ID;确定所述入端口是否为所述第一组播报文的VN ID的指定转发者DF;在所述入端口不是所述第一组播报文的VN ID的DF情况下,为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给包括所述第二多归NVE的其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。
在所述第三方面的第一种实现方式中,所述第一多归NVE根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。
基于所述第三方面或所述第三方面的第一种实现方式,在所述第三方面的第二种实现方式中,所述方法还包括:所述第二多归NVE用于发送第二组播报文;所述第一多归NVE还用于接收所述第二组播报文,对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VN ID;查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;确定所述出端口是否为所述第二组播报文的VN ID的DF,根据所述确定结果对所述解封装后的第二组播报文进行处理。
本发明第四方面提供了一种在基于三层叠加网的网络虚拟化NVO3网络中处理组播报文的装置,所述装置包括:处理器、存储器、网络接口和总线,所述处理器、存储器和网络接口均与总线连接;所述存储器用于存储程序指令;
所述处理器用于读取所述存储器上存储的程序指令,根据所述程序指令执行本发明第三方面的方法。
本发明上述实施例中,第一多归NVE在从多归TES收到第一组播报文的时候,通过判断所述第一组播报文的入端口不是所述组播报文中携带的VN ID的DF,则不向本地端口转发所述第一组播报文,避免了所述多归TES环回收到自身发出的第一组播报文,并且,通过扩展原有的NVO3头,利用原有的LAG ID,可以避免IP地址的浪费,提高转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中NVO3网络的结构示意图;
图2为本发明实施例提供的NVO3网络的结构示意图;
图3为本发明实施例提供的NVO3网络中处理组播报文的方法的流程示意图;
图4为本发明实施例提供的一种NVO3网络中处理组播报文的装置的结构示意图;
图5为本发明实施例提供的另一种NVO3网络中处理组播报文的装置的流程示意图。
具体实施方式
本发明实施例提供了一种NVO3网络,如图2所示,所述NVO3网络20包括多归TES21以及多个多归NVE,例如,图中的第一多归NVE22a和第二多归NVE22b,所述多归TES21分别连接所述第一多归NVE22a和第二多归NVE22b。所述第一多归TES用于发送第一组播报文;所述第一组播报文包括所有需要通过组播方式在NVO3网络中发送的报文,例如,广播报文,组播报或未知单播报文。
所述第一多归NVE22a用于接收所述第一组播报文,确定所述第一组播报文的发送方,在确定所述第一组播报文由所述多归TES发送的情况下,获取所述第一组播报文的入端口和VLAN ID;根据所述第一组播报文的入端口以及所述VLAN ID获取所述第一组播报文的VN ID;确定所述入端口是否为所述第一组播报文的VN ID的DF;在所述入端口不是所述第一组播报文的VN ID的DF情况下,为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给包括所述第二多归NVE的其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。
所述第一多归NVE可以将所述封装了扩展NVO3头的第一组播报文通过头结点(head-end)复制方式或者组播逐跳复制方式发送给其他NVE。
如果采用头结点复制方式,所述第一多归NVE为每个目的NVE复制一份报文,并分别通过单播NVO3隧道将复制的报文送到每个目的NVE,所述NVO3隧道外层目的IP地址为每个目的NVE的单播IP地址。如果采用组播逐跳复制方式,所述第一多归NVE通过组播NVO3隧道将报文送到每个目的NVE,NVO3隧道外层目的IP地址为组播IP地址。所述第一多归NVE上预先设置了VN ID和组播IP地址的对应关系。
在采用头结点复制的情况下,LAG ID只需要在每个NVE上唯一,扩展NVO3头中LAGID为目的NVE上分配的LAG ID。比如TES多归接入NVE1的端口1、NVE2的端口2、NVE3的端口3,则端口1,端口2和端口3组成一个LAG,NVE1为包括所述LAG分配的标识为10,NVE2为所述LAG分配的标识为20,NVE3为所述LAG分配的标识为30,NVE1向NVE2和NVE3发送报文的时候,扩展NVO3头里面LAG ID分别填写20和30。
在采用组播复制的情况下,LAG ID需要整个网络唯一,同样对于上面的情况,NVE1、NVE2、NVE3都记录该LAG的标识为10,NVE1向NVE2和NVE3发送报文时候,扩展NVO3头里的LAG ID均填写10。
在一个实施例中,所述第一多归NVE根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的指定转发者DF。当DF表中不存在与所述第一组播报文的VN ID和所述入端口对应的表项,或查找到的表项中的DF标记表明所述入端口不是DF时,确定所述入端口不为所述VN ID的DF。
在另一个实施例中,所述第一多归NVE还用于记录链路聚合组信息,所述链路聚合组信息包括链路聚合组标识以及链路聚合组中包括的端口;根据所述链路聚合组信息与所述第二多归NVE协商,从所述链路聚合组的所有端口中选择一个端口作为所述多归TES21的VN ID的DF,在DF表中记录协商结果;所述VN ID用于标识所述多归TES21所属的VN;所述DF表包括VN ID,端口与DF标记,所述DF标记用于标识端口是否为某个VN ID的DF。例如,图2示出的链路聚合组信息中包括一个链路聚合组,其LAG ID为LAG1,包括了第一端口和第二端口。
所述第一多归NVE还用于接收所述第二多归NVE发送的第二组播报文,对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VNID;查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;确定所述出端口是否为所述第二组播报文的VN ID的指定转发者DF,根据所述确定结果对所述解封装后的第二组播报文进行处理。
在一个实施例中,在确定所述出端口不是所述第二组播报文的VN ID的DF情况下,所述第一多归NVE还用于丢弃所述解封装后的第二组播报文。
在另一个实施例中,在确定所述出端口是所述第二组播报文的VN ID的DF的情况下,所述第一多归NVE还用于确定所述第二组播报文和所述出端口是否具有相同的LAG ID,所述第二组播报文的LAG ID是从所述第二组播报文的NVO3头中获得的。在所述第二组播报文和所述出端口具有相同的LAG ID的情况下,所述第一多归NVE还用于丢弃所述解封装后的第二组播报文;在所述第二组播报文和所述出端口具有不同的LAG ID的情况下,所述第一多归NVE还用于通过所述出端口转发所述解封装后的第二组播报文。
需要说明的是,本发明实施例中,本地组播转发表和DF表中仅包括端口,当该端口为接收报文的端口时,即为入端口,当该端口用于发送报文时,即为出端口。因此,入端口和出端口只是针对组播报文的方向作出的区分,不对本地组播转发表或者DF表中的信息产生影响。
本发明上述实施例中,第一多归NVE在从多归TES收到第一组播报文的时候,通过判断所述第一组播报文的入端口不是所述组播报文中携带的VN ID的DF,则不向本地端口转发所述第一组播报文,避免了所述多归TES环回收到自身发出的第一组播报文,并且,通过扩展原有的NVO3头,利用原有的LAGID,可以避免IP地址的浪费,提高转发效率。
本发明实施例还提供了一种在NVO3网络中处理组播报文的方法,所述方法应用在图2所示的NVO3网络中,可以由所述多个多归NVE中的任意一个执行,图3以第一多归NVE为例进行说明,在上述NVO3网络实施例中没有明确的细节,可以参考本实施例的描述。如图3所示,所述方法30包括:
301、第一多归NVE接收组播报文。所述组播报文包括所有需要通过组播方式在NVO3网络中发送的报文,例如,广播报文,组播报或未知单播报文。
302、所述第一多归NVE确定所述组播报文的发送方,在所述组播报文的发送方为其他NVE的情况下,执行步骤303,在所述组播报文的发送方为本地多归TES的情况下,执行步骤310。
在步骤302中,在所述组播报文为NVO3封装的报文的情况下,确定所述组播报文的发送方为其他NVE,在所述组播报文为没有NVO3封装的以太报文,且所述组播报文的入端口为LAG中的端口的情况下,确定所述组播报文的发送方为多归TES。所述其他NVE为所述NVO3网络中除所述第一多归NVE之外的任意NVE,可以是多归NVE,也可以是普通NVE。
303、所述第一多归NVE对所述组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述组播报文的VN ID。
这里的NVO3头既包括正常NVO3头,也包括扩展NVO3头。304、所述第一多归NVE查找所述VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口。
NVE上预先配置或生成了本地组播转发表,如表1所示,每个本地组播转发表项包括VN ID、端口以及虚拟局域网标识(VLAN ID)。
表1
VN ID | 端口 | VLAN ID |
FFFFF1 | 1 | AA1 |
FFFFF2 | 2 | AA2 |
FFFFF3 | 3 | AA3 |
…… | …… | …… |
当所述第一多归NVE从某个端口接收组播报文时,所述端口被称为入端口,当所述第一多归NVE从某个端口发送组播报文时,所述端口被称为出端口。本步骤中,由于所述组播报文是从其他NVE收到的,需要发送给所述第一多归NVE连接的TES,因此,所述端口被称为出端口。
所述第一多归NVE查找到所述本地组播转发表项后,从所述本地组播转发表项中获取所述出端口。所述第一多归NVE在将经过NVO3解封装之后的组播报文从查找到的本地组播转发表项中的出端口发送出去之前,为所述组播报文封装对应的VLAN ID。
305、所述第一多归NVE确定所述出端口是否为所述VN ID的DF,根据所述确定结果对所述解封装后的组播报文进行处理。
所述根据所述确定结果对所述解封装后的组播报文进行处理,包括在所述出端口为所述VN ID的DF的情况下,执行步骤307,在所述出端口不为所述VN ID的DF的情况下,执行步骤306。
其中,所述DF是由所述第一多归NVE与第二多归NVE(指其端口与第一NVE的端口属于同一LAG的其他一个或多个多归NVE)协商确定,或者由管理员预先配置的。
在步骤305中,所述第一多归NVE根据所述VN ID和所述出端口,查找DF表,根据查找到的DF表项确定所述出端口是否为所述VN ID的DF。其中,所述DF表是预先配置在所述第一多归NVE上,或者由所述第一多归NVE预先生成的。所述DF表的表项包括VN ID,出端口和DF标记。所述DF标记用于标识所述出端口是否为所述VN ID的DF。当DF表中不存在与所述VNID和所述出端口对应的表项,或查找到的表项中的DF标记表明所述出端口不是DF时,确定所述出端口不为所述VN ID的DF。
306、所述第一多归NVE丢弃所述解封装后的组播报文。
为了避免所述VN ID的多个多归NVE均转发组播报文给多归TES引起的报文重复问题,当所述第一多归NVE的出端口不是该VN ID的指定转发者时,第一多归NVE在该出端口上丢弃所述组播报文,即所述第一NVE不向所述本地组播转发表项中的出端口连接的多归TES发送所述组播报文。
307、所述第一多归NVE确定所述组播报文和所述出端口是否具有相同的LAG ID,在所述组播报文和所述出端口具有相同的LAG ID的情况下,执行步骤308,在所述组播报文和所述出端口不具有相同的LAG ID的情况下,执行步骤309。所述组播报文的LAG ID是从所述组播报文的NVO3头中获得的。
所述组播报文和所述出端口不具有相同的LAG ID,具体包括:所述NVO3头为没有携带LAG ID的正常NVO3头,或者所述NVO3头中携带的LAG ID为无效值,或者所述NVO3头中携带的LAG ID与所述所述出端口的LAG ID不同。其中,所述出端口的LAG ID是预先配置的。
308、所述第一多归NVE丢弃所述解封装后的组播报文。
所述组播报文和所述出端口具有相同的链路聚合组标识,表明所述组播报文是由与所述第一多归NVE属于同一链路聚合组的其他多归NVE通过所述VNID的非DF端口转发的、来自所述出端口连接的多归TES的组播报文;为了避免将所述多归TES发送的组播报文再环回给所述多归TES,所述第一多归NVE在所述出端口上丢弃所述组播报文,即不将所述组播报文通过所述出端口转发。
309、所述第一多归NVE通过所述出端口转发所述解封装后的组播报文。
所述组播报文和所述出端口具有不同的链路聚合组标识,表明所述组播报文不是来自所述出端口的组播报文,将所述组播报文发送给所述出端口不会引起所述出端口连接的多归TES的环路,并且,由于所述出端口为所述VN ID对应的DF,所述第一多归NVE通过所述出端口转发所述组播报文也不会引起所述出端口连接的多归TES重复收到所述组播报文。310、所述第一多归NVE获取所述组播报文的入端口和VLAN ID,根据所述入端口和所述VLAN ID获取所述组播报文的VN ID。
由于多归TES发送的组播报文没有经过NVO3封装,所以报文头中没有携带VN ID,此时,可以根据所述组播报文的入端口和VLAN ID查找本地组播转发表,获取所述组播报文的VN ID。
本步骤中的本地组播转发表如表1所示,由于所述组播报文为从多归TES接收到的报文,则接收所述组播报文的端口被称为入端口。
311、所述第一多归NVE确定所述入端口是否为所述VN ID的DF,在所述入端口为所述VN ID的DF的情况下,执行步骤312,在所述入端口不为所述VN ID的DF的情况下,执行步骤313。
所述第一多归NVE根据所述入端口和所述组播报文的VN ID查找所述DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。当DF表中不存在与所述组播报文的VN ID和所述入端口对应的表项,或查找到的表项中的DF标记表明所述入端口不是DF时,确定所述入端口不为所述VN ID的DF。
312、所述第一多归NVE对所述组播报文进行正常NVO3封装后发送给其他NVE。
本步骤中,由于所述入端口为所述VN ID的DF,能够转发所述VN ID的报文,因此,所述第一多归NVE将所述VN ID封装在所述组播报文的NVO3头后发送给其他NVE。此外,所述第一多归NVE还可以根据本地组播转发表,将所述组播报文通过除所述入端口之外的其他本地端口组播发送给本地除发送所述组播报文的多归TES之外的其他TES。
本实施例所说的正常NVO3封装,是指封装后的NVO3头中仅携带VN ID。313、所述第一多归NVE为所述组播报文封装扩展NVO3头,将所述封装了扩展NVO3头的组播报文发送给其他NVE。
本实施例所说的扩展NVO3头,是携带VN ID和LAG ID的NVO3头。所述LAG ID为所述入端口所属LAG的LAG ID。此外,所述扩展NVO3头中还可以进一步携带标志位,所述标志位用于表明该扩展NVO3头中携带了LAG ID。
本步骤中,由于所述入端口不是所述VN ID的DF,为了避免发送所述组播报文的TES上产生环路,所述第一多归NVE不能向本地端口组播发送所述组播报文,而只能向其他NVE发送该组播报文。因此,所述第一多归NVE将所述VN ID和所述入端口的LAG ID封装到所述组播报文中,以便接收到所述组播报文的第二多归NVE判断所述第二多归NVE是否能够向本地端口组播发送所述组播报文。
上述图3为了清楚地解释本发明的技术方案,因此包括了第一多归NVE收到组播报文之后各种可能的处理流程。实际应用中,针对不同的组播报文,图3可以分解成以下处理流程,每个流程都能够独立构成一个在NVO3网络中处理组播报文的方法:
流程A,包括步骤301,302,310,311和312,用于处理第一组播报文,所述第一组播报文的特征可以通过对上述步骤的描述获得。
流程B,包括步骤301,302,310,311和313,用于处理第二组播报文,所述第二组播报文的特征可以通过对上述步骤的描述获得。
流程C,包括步骤301,302,303,304,305和306,用于处理第三组播报文,所述第三组播报文的特征可以通过对上述步骤的描述获得。
流程D,包括步骤301,302,303,304,305,307和308,用于处理第四组播报文,所述第四组播报文的特征可以通过对上述步骤的描述获得。
流程E,包括步骤301,302,303,304,305,307和309,用于处理第五组播报文,所述第五组播报文的特征可以通过对上述步骤的描述获得。
上述第一,第二,第三,第四以及第五仅仅用于示例性说明,并不用于对组播报文顺序的限定。由于上述流程A-E都能够独立完成对一种组播报文的处理,因此,本发明实施例中的在NVO3网络中处理组播报文的方法,只需要至少包括上述流程中的任意一个即可。当选择保护其中一个流程的时候,其他流程中的步骤可以被认为是本发明实施例所述方法的可选实施方式。
例如,在一个实施例中,第一多归NVE接收第一组播报文,确定所述第一组播报文的发送方为本地多归TES的情况下,对该第一组播报文执行步骤310,311和313,则其他步骤可选。在另一个实施例中,所述第一多归NVE除接收所述第一组播报文外,还接收第二组播报文,然后根据所述第二组播报文的特征执行303-309中的一个或多个步骤。
本发明上述实施例中,第一多归NVE在从多归TES收到第一组播报文的时候,通过判断所述第一组播报文的入端口不是所述组播报文中携带的VN ID的DF,则不向本地端口转发所述第一组播报文,避免了所述多归TES环回收到自身发出的第一组播报文,并且,通过扩展原有的NVO3头,利用原有的LAG ID,可以避免IP地址的浪费,提高转发效率。
本发明实施例另外提供了一种在NVO3网络中处理组播报文的装置,用于执行图3所示的方法,如图4所示,所述装置40包括:
接收模块401,用于接收组播报文。所述组播报文包括所有需要通过组播方式在NVO3网络中发送的报文,例如,广播报文,组播报或未知单播报文。
确定模块402,用于确定所述组播报文的发送方,在确定所述组播报文的发送方为NVE的情况下,触发第二VN ID获取模块403,在确定所述组播报文的发送方为本地多归TES的情况下,触发第一VN ID获取模块410。
所述确定模块402具体用于,在所述组播报文为NVO3封装的报文的情况下,确定所述组播报文的发送方为其他NVE,在所述组播报文为没有NVO3封装的以太报文,且所述组播报文的入端口为LAG中的端口的情况下,确定所述组播报文的发送方为多归TES。所述其他NVE为所述NVO3网络中的任意NVE,可以是多归NVE,也可以是普通NVE。
第二VN ID获取模块403,用于对所述组播报文进行NVO3解封装,从所述组播报文的NVO3头中获取所述第二组播报文的VN ID。
这里的NVO3头既包括正常NVO3头,也包括扩展NVO3头。
出端口获取模块404,用于查找所述第二VN ID获取模块获取的所述组播报文的VNID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口。
所述本地组播转发表,如图3所示实施例中的表1
第二判断模块405,用于确定所述出端口是否为所述VN ID的DF;在所述出端口为所述VN ID的DF的情况下,触发第三判断模块407,在所述出端口不为所述VN ID的DF的情况下,触发第一丢弃模块406。
其中,所述DF是由所述多个多归NVE协商确定,或者由管理员预先配置的。
所述第二判断模块405具体用于根据所述VN ID和所述出端口,查找DF表,根据查找到的DF表项确定所述出端口是否为所述VN ID的DF。
其中,所述DF表的表项包括VN ID,出端口和DF标记。所述DF标记用于标识所述出端口是否为所述VN ID的DF。当DF表中不存在与所述VN ID和所述出端口对应的表项,或查找到的表项中的DF标记表明所述出端口不是DF时,确定所述出端口不为所述VN ID的DF。
第一丢弃模块406,用于在所述第二判断模块405的触发下丢弃所述解封装后的组播报文。
为了避免所述VN ID的多个多归NVE均转发组播报文给多归TES引起的报文重复问题,当所述出端口不是该VN ID的指定转发者时,第一丢弃模块406在该出端口上丢弃所述组播报文。
第三判断模块407,用于确定所述组播报文和所述出端口是否具有相同的LAG ID,在所述组播报文和所述出端口具有相同的LAG ID情况下,触发第二丢弃模块408,在所述组播报文和所述出端口不具有相同的LAG ID的情况下,触发第三发送模块409。所述组播报文的LAG ID是从所述组播报文的NVO3头中获得的。
所述组播报文和所述出端口不具有相同的LAG ID,具体包括:所述NVO3头为没有携带LAG ID的正常NVO3头,或者所述NVO3头中携带的LAG ID为无效值,或者所述NVO3头中携带的LAG ID与所述所述出端口的LAG ID不同。其中,所述出端口的LAG ID是预先配置的。
第二丢弃模块408,用于在所述第三判断模块的触发下丢弃所述解封装后的组播报文。
所述组播报文和所述出端口具有相同的链路聚合组标识,表明所述组播报文是由与装置属于同一链路聚合组的其他多归NVE通过所述VN ID的非DF端口转发的、来自所述出端口连接的多归TES的组播报文;为了避免将所述多归TES发送的组播报文再环回给所述多归TES,所述第二丢弃模块408在所述出端口上丢弃所述组播报文,即不将所述组播报文通过所述出端口转发。
第三发送模块409,用于通过所述出端口转发所述解封装后的组播报文。
所述组播报文和所述出端口具有不同的链路聚合组标识,表明所述组播报文不是来自所述出端口的组播报文,将所述组播报文发送给所述出端口不会引起所述出端口连接的多归TES的环路,并且,由于所述出端口为所述VN ID对应的DF,所述第三发送模块409通过所述出端口转发所述组播报文也不会引起所述出端口连接的多归TES重复收到所述组播报文。
第一VN ID获取模块410,用于获取所述组播报文的入端口和VLAN ID,根据所述入端口和所述VLAN ID获取所述组播报文的VN ID。
由于多归TES发送的组播报文没有经过NVO3封装,所以报文头中没有携带VN ID,此时,所述第一VN ID获取模块410可以根据所述组播报文的入端口和VLAN ID查找本地组播转发表,获取所述组播报文的VN ID。
本步骤中的本地组播转发表如表1所示,由于所述组播报文为从多归TES接收到的报文,则接收所述组播报文的端口被称为入端口。
第一判断模块411,用于确定所述入端口是否为所述VN ID的DF,在所述入端口为所述VN ID的DF的情况下,触发第二发送模块412,在所述入端口不为所述VN ID的DF的情况下,触发第一发送模块413。
所述第一判断模块411根据所述入端口和所述VN ID查找所述DF表,确定所述入端口是否为所述组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。具体来说,当DF表中不存在与所述第一组播报文的VN ID和所述入端口对应的表项,或查找到的表项中的DF标记表明所述入端口不是DF时,确定所述入端口不为所述VN ID的DF。
第二发送模块412,用于对所述组播报文进行正常NVO3封装后发送给其他NVE。
本步骤中,由于所述入端口为所述VN ID的DF,能够转发所述VN ID的报文,因此,所述第二发送模块412将所述VN ID封装在所述组播报文的NVO3头后发送给其他NVE。此外,所述第二发送模块412还可以根据本地组播转发表,将所述组播报文通过除所述入端口之外的其他本地端口组播发送给本地除发送所述组播报文的多归TES之外的其他TES。
本实施例所说的正常NVO3封装,是指封装后的NVO3头中仅携带VN ID。第一发送模块413,用于为所述组播报文封装扩展NVO3头,将所述封装了扩展NVO3头的组播报文发送给其他NVE。
本实施例所说的扩展NVO3头,是携带VN ID和LAG ID的NVO3头。所述LAG ID为所述入端口所属LAG的LAG ID。此外,所述扩展NVO3头中还可以进一步携带标志位,所述标志位用于表明该扩展NVO3头中携带了LAG ID。
由于所述入端口不是所述VN ID的DF,为了避免发送所述组播报文的TES上产生环路,所述第一发送模块413不能向本地端口组播发送所述组播报文,而只能向其他NVE发送该组播报文。因此,所述第一发送模块413将所述VN ID和所述入端口的LAG ID封装到所述组播报文中,以便接收到所述组播报文的多归NVE判断所述多归NVE是否能够向本地端口组播发送所述组播报文。
上述图4为了清楚地解释本发明的技术方案,因此包括了NVO3网络中处理组播报文的装置收到组播报文之后需要参与处理所述组播报文的各种可能的模块。实际应用中,针对不同的组播报文,图4中的模块可以划分为以下几组,每组都能够独立构成一个在NVO3网络中处理组播报文的装置:
组A,包括模块401,402,410,411和412,用于处理第一组播报文,所述第一组播报文的特征可以通过对上述模块的描述获得。
组B,包括模块401,402,410,411和413,用于处理第二组播报文,所述第二组播报文的特征可以通过对上述模块的描述获得。
组C,包括模块401,402,404,404,405和406,用于处理第三组播报文,所述第三组播报文的特征可以通过对上述模块的描述获得。
组D,包括模块401,402,404,404,405,407和408,用于处理第四组播报文,所述第四组播报文的特征可以通过对上述模块的描述获得。
组E,包括模块401,402,404,404,405,407和409,用于处理第五组播报文,所述第五组播报文的特征可以通过对上述模块的描述获得。
上述第一,第二,第三,第四以及第五仅仅用于示例性说明,并不用于对组播报文顺序的限定。上述各组模块,可以因为处理不同的组播报文被同时调用,也可以被单独调用,上述各组模块的任何调用方式在本发明的保护范围之内。由于上述组A-组E都能够独立完成对一种组播报文的处理,因此,本发明实施例中的在NVO3网络中处理组播报文的装置,只需要至少包括上述各组模块中的任意一组即可。当选择保护其中一组模块的时候,其他各组中的模块均被认为是本发明实施例所述装置的可选实施方式。
例如,在一个实施例中,接收模块401接收第一组播报文,确定模块402确定所述第一组播报文的发送方为本地多归TES的情况下,触发第一VN ID获取模块410,第一判断模块411和第一发送模块413执行相应的操作。在另一个实施例中,所述接收模块401除接收所述第一组播报文外,还接收第二组播报文,然后根据所述第二组播报文的特征调用模块403-409中的一个或多个。
如图5所示,为本发明实施例中提供的另一种在NVO3网络中处理组播报文的装置的结构示意图,如图所示,所述在NVO3网络中处理组播报文的装置50包括处理器501、存储器502、网络接口503和总线504。所述处理器501、存储器502和网络接口503均与总线504连接。
所述处理器501用于通过所述网络接口503接收组播报文,根据所述组播报文的特征,执行图3所示方法中的流程A-E中的一个或多个。
其中,处理器501执行的上述处理过程通常是由一个或多个软件程序控制完成,所述一个或多个软件程序的程序指令存放于存储器502中,当需要进行上述操作时,处理器51读取所述程序指令,并根据所述程序指令执行图3所示方法中的部分或全部步骤。
本发明上述实施例中装置在从多归TES收到第一组播报文的时候,通过判断所述第一组播报文的入端口不是所述组播报文中携带的VN ID的DF时,不向本地端口转发所述第一组播报文,避免了所述多归TES环回收到自身发出的第一组播报文,并且,通过扩展原有的NVO3头,利用原有的LAG ID,可以避免IP地址的浪费,提高转发效率。
本发明上述各实施例基于同一发明构思,因此,各实施例中的同一术语具有相同的含义,可以互相引用。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (22)
1.一种在基于三层叠加网的网络虚拟化NVO3网络中处理组播报文的方法,其特征在于,包括:
接收第一组播报文;
在所述第一组播报文的发送方为本地多归租户终端系统TES的情况下,获取所述第一组播报文的入端口及虚拟局域网标识VLAN ID,根据所述入端口和所述VLAN ID,获取所述组播报文的虚拟叠加网标识VN ID;
确定所述入端口是否为所述VN ID的指定转发者DF;
在所述入端口不为所述VN ID的DF的情况下,为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。
2.根据权利要求1所述的方法,其特征在于,所述确定所述入端口是否为所述VN ID的指定转发者DF包括:
根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
接收第二组播报文,在所述第二组播报文的发送方为网络虚拟边缘NVE的情况下,对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VN ID;查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;确定所述出端口是否为所述第二组播报文的VN ID的DF,根据所述确定结果对所述解封装后的第二组播报文进行处理。
4.根据权利要求3所述的方法,其特征在于,所述根据所述确定结果对所述解封装后的第二组播报文进行处理包括:
在确定所述出端口不是所述第二组播报文的VN ID的DF情况下,丢弃所述解封装后的第二组播报文。
5.根据权利要求3所述的方法,其特征在于,所述根据所述确定结果对所述解封装后的第二组播报文进行处理包括:
在确定所述出端口是所述第二组播报文的VN ID的DF的情况下,确定所述第二组播报文和所述出端口是否具有相同的LAG ID,所述第二组播报文的LAG ID是从所述第二组播报文的NVO3头中获得的。
6.根据权利要求5所述的方法,其特征在于,
在所述第二组播报文和所述出端口具有相同的LAG ID的情况下,所述方法还包括:丢弃所述解封装后的第二组播报文。
7.根据权利要求5所述的方法,其特征在于,
在所述第二组播报文和所述出端口具有不同的LAG ID的情况下,所述方法还包括:通过所述出端口转发所述解封装后的第二组播报文。
8.一种在基于三层叠加网的网络虚拟化NVO3网络中处理组播报文的装置,其特征在于,包括:
接收模块,用于接收第一组播报文;
确定模块,用于确定所述第一组播报文的发送方,当确定所述组播报文的发送方为本地多归TES的情况下,触发第一虚拟叠加网标识VN ID获取模块;
所述第一VN ID获取模块用于获取所述第一组播报文的入端口及虚拟局域网标识VLANID,根据所述入端口和所述VLAN ID,获取所述组播报文的VN ID;
第一判断模块,用于确定所述入端口是否为所述VN ID的指定转发者DF;在所述入端口不为所述VN ID的DF的情况下,触发第一发送模块;
所述第一发送模块,用于为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。
9.根据权利要求8所述的装置,其特征在于,所述确定模块具体用于根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。
10.根据权利要求8或9所述的装置,其特征在于,还包括第二VN ID获取模块、出端口获取模块和第二判断模块;
所述接收模块还用于接收第二组播报文;
所述确定模块还用于确定所述第二组播报文的发送方,在确定所述组播报文的发送方为网络虚拟边缘NVE的情况下,触发所述第二VN ID获取模块;
所述第二VN ID获取模块用于对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VN ID;
所述出端口获取模块用于查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;
所述第二判断模块用于确定所述出端口是否为所述第二组播报文的VN ID的DF,根据所述确定结果对所述解封装后的组播报文进行处理。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括第一丢弃模块;
所述第二判断模块还用于在确定所述出端口不是所述第二组播报文的VN ID的DF情况下,触发所述第一丢弃模块;
所述第一丢弃模块用于在所述第二判断模块的触发下丢弃所述解封装后的第二组播报文。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括第三判断模块;
所述第二判断模块还用于在确定所述出端口是所述第二组播报文的VN ID的DF的情况下,触发所述第三判断模块;
所述第三判断模块用于确定所述第二组播报文和所述出端口是否具有相同的LAG ID,所述第二组播报文的LAG ID是从所述第二组播报文的NVO3头中获得的。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括第二丢弃模块;
所述第三判断模块还用于在确定所述第二组播报文和所述出端口具有相同的LAG ID的情况下,触发所述第二丢弃模块;
所述第二丢弃模块用于在所述第三判断模块的触发下丢弃所述解封装后的第二组播报文。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括第三发送模块;
所述第三判断模块还用于在确定所述第二组播报文和所述出端口具有不同的LAG ID的情况下,触发所述第三发送模块;
所述第三发送模块用于通过所述出端口转发所述解封装后的第二组播报文。
15.一种基于三层叠加网的网络虚拟化NVO3网络,所述NVO3网络包括多归租户终端系统TES,第一多归网络虚拟边缘NVE和第二多归NVE,所述多归TES分别连接所述第一多归NVE和第二多归NVE;其特征在于:
所述TES用于发送第一组播报文;
所述第一多归NVE用于接收所述第一组播报文,确定所述第一组播报文的发送方;在确定所述第一组播报文由所述多归TES发送的情况下,获取所述第一组播报文的入端口和虚拟局域网标识VLAN ID;根据所述第一组播报文的入端口以及所述VLAN ID获取所述第一组播报文的虚拟叠加网标识VN ID;确定所述入端口是否为所述第一组播报文的VN ID的指定转发者DF;在所述入端口不是所述第一组播报文的VN ID的DF情况下,为所述第一组播报文封装扩展NVO3头;将所述封装了扩展NVO3头的第一组播报文发送给包括所述第二多归NVE的其他NVE;所述扩展NVO3头中携带所述第一组播报文的VN ID以及所述入端口对应的链路聚合组标识LAG ID。
16.根据权利要求15所述的NVO3网络,其特征在于,所述第一多归NVE根据所述入端口和所述第一组播报文的VN ID查找DF表,确定所述入端口是否为所述第一组播报文的VN ID的DF,所述DF表包括VN ID,端口与DF标记。
17.根据权利要求15或16所述的NVO3网络,其特征在于,
所述第二多归NVE用于发送第二组播报文;
所述第一多归NVE还用于接收所述第二组播报文,对所述第二组播报文进行NVO3解封装,从所述第二组播报文的NVO3头中获取所述第二组播报文的VN ID;查找所述第二组播报文的VN ID对应的本地组播转发表项,获取所述本地组播转发表项中的出端口;确定所述出端口是否为所述第二组播报文的VN ID的DF,根据所述确定结果对所述解封装后的第二组播报文进行处理。
18.根据权利要求17所述的NVO3网络,其特征在于,
在确定所述出端口不是所述第二组播报文的VN ID的DF情况下,所述第一多归NVE还用于丢弃所述解封装后的第二组播报文。
19.根据权利要求17所述的NVO3网络,其特征在于,
在确定所述出端口是所述第二组播报文的VN ID的DF的情况下,所述第一多归NVE还用于确定所述第二组播报文和所述出端口是否具有相同的LAG ID,所述第二组播报文的LAGID是从所述第二组播报文的NVO3头中获得的。
20.根据权利要求19所述的NVO3网络,其特征在于,
在所述第二组播报文和所述出端口具有相同的LAG ID的情况下,所述第一多归NVE还用于丢弃所述解封装后的第二组播报文。
21.根据权利要求19所述的NVO3网络,其特征在于,
在所述解封装后的第二组播报文和所述出端口具有不同的LAG ID的情况下,所述第一多归NVE还用于通过所述出端口转发所述解封装后的第二组播报文。
22.一种在基于三层叠加网的网络虚拟化NVO3网络中处理组播报文的装置,包括处理器、存储器、网络接口和总线,所述处理器、存储器和网络接口均与总线连接;其特征在于:
所述存储器用于存储程序指令;
所述处理器用于读取所述存储器上存储的程序指令,根据所述程序指令执行权利要求1-7中任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/078386 WO2014205784A1 (zh) | 2013-06-28 | 2013-06-28 | 一种在nvo3网络中处理组播报文的方法、装置和nvo3网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105264834A CN105264834A (zh) | 2016-01-20 |
CN105264834B true CN105264834B (zh) | 2018-12-07 |
Family
ID=52140865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380000655.2A Active CN105264834B (zh) | 2013-06-28 | 2013-06-28 | 一种在nvo3网络中处理组播报文的方法、装置和nvo3网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9768968B2 (zh) |
EP (1) | EP3001609B1 (zh) |
CN (1) | CN105264834B (zh) |
WO (1) | WO2014205784A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10462058B2 (en) * | 2014-10-24 | 2019-10-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Multicast traffic management in an overlay network |
US9716660B2 (en) * | 2014-12-11 | 2017-07-25 | Intel Corporation | Hierarchical enforcement of service flow quotas |
CN106209553B (zh) * | 2015-04-30 | 2019-07-23 | 华为技术有限公司 | 报文处理方法、设备及系统 |
CN106209689B (zh) | 2015-05-04 | 2019-06-14 | 新华三技术有限公司 | 从vxlan至vlan的组播数据报文转发方法和设备 |
CN106209636B (zh) | 2015-05-04 | 2019-08-02 | 新华三技术有限公司 | 从vlan至vxlan的组播数据报文转发方法和设备 |
CN106209648B (zh) | 2015-05-04 | 2019-06-14 | 新华三技术有限公司 | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 |
US9749221B2 (en) * | 2015-06-08 | 2017-08-29 | International Business Machines Corporation | Multi-destination packet handling at overlay virtual network tunneling endpoints |
CN106936939B (zh) * | 2015-12-31 | 2020-06-02 | 华为技术有限公司 | 一种报文处理方法、相关装置及nvo3网络系统 |
CN106941437B (zh) * | 2016-01-04 | 2020-11-17 | 中兴通讯股份有限公司 | 一种信息传输方法及装置 |
US10313231B1 (en) | 2016-02-08 | 2019-06-04 | Barefoot Networks, Inc. | Resilient hashing for forwarding packets |
US10063407B1 (en) | 2016-02-08 | 2018-08-28 | Barefoot Networks, Inc. | Identifying and marking failed egress links in data plane |
US10326694B2 (en) * | 2016-04-08 | 2019-06-18 | Cisco Technology, Inc. | Asymmetric multi-destination traffic replication in overlay networks |
CN107733765B (zh) * | 2016-08-12 | 2020-09-08 | 中国电信股份有限公司 | 映射方法、系统和相关设备 |
US10084687B1 (en) | 2016-11-17 | 2018-09-25 | Barefoot Networks, Inc. | Weighted-cost multi-pathing using range lookups |
US10404619B1 (en) | 2017-03-05 | 2019-09-03 | Barefoot Networks, Inc. | Link aggregation group failover for multicast |
US10237206B1 (en) | 2017-03-05 | 2019-03-19 | Barefoot Networks, Inc. | Equal cost multiple path group failover for multicast |
CN107547341B (zh) * | 2017-06-23 | 2020-07-07 | 新华三技术有限公司 | 虚拟扩展局域网vxlan的接入方法及装置 |
US11102108B2 (en) * | 2017-08-31 | 2021-08-24 | Oracle International Corporation | System and method for a multicast send duplication instead of replication in a high performance computing environment |
US11115330B2 (en) * | 2018-03-14 | 2021-09-07 | Juniper Networks, Inc. | Assisted replication with multi-homing and local bias |
CN113765815B (zh) * | 2020-06-05 | 2024-03-26 | 华为技术有限公司 | 组播报文负载分担的方法、设备和系统 |
CN112019420B (zh) * | 2020-09-04 | 2022-03-29 | 苏州盛科科技有限公司 | 一种vxlan边缘节点组播报文转发的实现方法及装置 |
CN112291116A (zh) * | 2020-11-23 | 2021-01-29 | 迈普通信技术股份有限公司 | 链路故障检测方法、装置及网络设备 |
US11652748B2 (en) * | 2021-07-01 | 2023-05-16 | Vmware, Inc. | Multicast routing through multi-tier edge gateways |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095546A (zh) * | 2013-01-28 | 2013-05-08 | 华为技术有限公司 | 一种处理报文的方法、装置及数据中心网络 |
WO2013067466A1 (en) * | 2011-11-03 | 2013-05-10 | Huawei Technologies Co., Ltd. | Border gateway protocol extension for the host joining/leaving a virtual private network |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9461841B2 (en) * | 2006-01-06 | 2016-10-04 | Nec Corporation | Communication system, communication method, node, and program for node |
US8724513B2 (en) * | 2009-09-25 | 2014-05-13 | Qualcomm Incorporated | Methods and apparatus for distribution of IP layer routing information in peer-to-peer overlay networks |
US8743889B2 (en) * | 2010-07-06 | 2014-06-03 | Nicira, Inc. | Method and apparatus for using a network information base to control a plurality of shared network infrastructure switching elements |
US8665883B2 (en) * | 2011-02-28 | 2014-03-04 | Alcatel Lucent | Generalized multi-homing for virtual private LAN services |
US20130142201A1 (en) * | 2011-12-02 | 2013-06-06 | Microsoft Corporation | Connecting on-premise networks with public clouds |
CN103580980B (zh) * | 2012-07-24 | 2019-05-24 | 中兴通讯股份有限公司 | 虚拟网络自动发现和自动配置的方法及其装置 |
CN102868642B (zh) * | 2012-10-09 | 2015-11-18 | 盛科网络(苏州)有限公司 | 在asic中实现nvgre报文转发的方法和装置 |
US9350558B2 (en) * | 2013-01-09 | 2016-05-24 | Dell Products L.P. | Systems and methods for providing multicast routing in an overlay network |
US9660905B2 (en) * | 2013-04-12 | 2017-05-23 | Futurewei Technologies, Inc. | Service chain policy for distributed gateways in virtual overlay networks |
-
2013
- 2013-06-28 EP EP13888499.4A patent/EP3001609B1/en active Active
- 2013-06-28 WO PCT/CN2013/078386 patent/WO2014205784A1/zh active Application Filing
- 2013-06-28 CN CN201380000655.2A patent/CN105264834B/zh active Active
-
2015
- 2015-12-28 US US14/980,649 patent/US9768968B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013067466A1 (en) * | 2011-11-03 | 2013-05-10 | Huawei Technologies Co., Ltd. | Border gateway protocol extension for the host joining/leaving a virtual private network |
CN103095546A (zh) * | 2013-01-28 | 2013-05-08 | 华为技术有限公司 | 一种处理报文的方法、装置及数据中心网络 |
Also Published As
Publication number | Publication date |
---|---|
US9768968B2 (en) | 2017-09-19 |
CN105264834A (zh) | 2016-01-20 |
EP3001609A4 (en) | 2016-06-01 |
US20160142220A1 (en) | 2016-05-19 |
EP3001609B1 (en) | 2017-08-09 |
WO2014205784A1 (zh) | 2014-12-31 |
EP3001609A1 (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105264834B (zh) | 一种在nvo3网络中处理组播报文的方法、装置和nvo3网络 | |
CN112119616B (zh) | 涉及原位操作实施及管理(ioam) 的分组复制方法、装置及计算机可读存储介质 | |
CN103748835B (zh) | 标签交换路径的动态更新 | |
CN105577417B (zh) | 基于vxlan网络的报文转发方法及装置 | |
US8565124B2 (en) | Node, network, correspondence relationship generation method and frame transfer program | |
CN104854819B (zh) | 用于vlan接口路由的方法和设备 | |
CN103023792B (zh) | 用于在最短路径桥接网络中进行分组交换的方法和系统 | |
US20150085862A1 (en) | Forwarding Multicast Data Packets | |
CN106209648B (zh) | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 | |
CN106302206A (zh) | 报文的转发处理方法、装置及系统 | |
CN106936939A (zh) | 一种报文处理方法、相关装置及nvo3网络系统 | |
CN106936682B (zh) | 一种指定转发者的处理方法和控制器以及提供者边缘设备 | |
US20230121236A1 (en) | Segment routing point to multipoint path | |
CN103731356B (zh) | 报文处理方法及装置 | |
CN105187311B (zh) | 一种报文转发方法及装置 | |
CN105337865B (zh) | 一种建立转发表项的方法、装置和系统 | |
CN107659484B (zh) | 从vlan网络接入vxlan网络的方法、装置及系统 | |
CN109561033A (zh) | Overlay网络中组播复制的方法及装置 | |
US9479420B2 (en) | Forwarding a packet in a network | |
CN108964940A (zh) | 消息发送方法及装置、存储介质 | |
CN102684985B (zh) | 一种多链接互连网络分域互连的方法和系统 | |
CN106878136A (zh) | 一种报文转发方法及装置 | |
CN106941437A (zh) | 一种信息传输方法及装置 | |
CN106209638A (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
CN106209636A (zh) | 从vlan至vxlan的组播数据报文转发方法和设备 |
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 |