CN109756412B - 一种数据报文转发方法以及设备 - Google Patents
一种数据报文转发方法以及设备 Download PDFInfo
- Publication number
- CN109756412B CN109756412B CN201811584726.9A CN201811584726A CN109756412B CN 109756412 B CN109756412 B CN 109756412B CN 201811584726 A CN201811584726 A CN 201811584726A CN 109756412 B CN109756412 B CN 109756412B
- Authority
- CN
- China
- Prior art keywords
- gateway
- data message
- forwarding
- forwarding core
- pod
- 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 41
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims description 20
- 239000000126 substance Substances 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 15
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100079127 Arabidopsis thaliana NAC082 gene Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种数据报文转发方法,用于接收并处理组播报文。本申请实施例方法包括:网关接收数据报文;所述网关获取所述数据报文对应的虚拟网络标识VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议;所述网关根据所述VNI确定源端口;所述网关根据所述源端口、所述IP地址、所述目的IP地址、所述目的端口和传输层协议进行哈希均衡计算,得到转发核集合;所述网关向所述转发核集合中的每一个转发核发送所述数据报文。实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
Description
技术领域
本申请涉及通信领域,尤其涉及一种数据报文转发方法以及设备。
背景技术
公有云指的是第三方提供商通过互联网为用户提供的免费或成本低廉的能够使用的云。在公有云提供服务的过程中,企业并不拥有云计算资源,而是通过公有云的基础设施向外部用户提供服务,外部用户通过互联网访问公有云,以接受企业的服务。
在公有云的一些实例应用中,发送端部署在企业的数据中心中,接收端为虚拟私有云VPC系统下多个子网中的虚拟机VM。当前,发送端向接收端发送的数据报文,主要采用组播代理组播转单播的方式。具体的,数据中心上设置组播代理,组播源将数据报文以组播报文的方式发送至组播代理,组播代理修改数据报文为单播报文,通过多协议标签交换-虚拟私有网络MPLS-VPN等专线方式分别发送至VPC系统中的VM。
当发送端要将同一个数据报文同时发送给多个VM时,需要组播代理拷贝成多分数据报文,并分别进行发送,造成网络资源开销较大。
发明内容
本申请实施例提供了一种数据报文转发方法以及设备,用于接收并处理组播报文。
本申请第一方面提供了一种数据报文转发方法,包括:
网关接收数据报文,获取该数据报文对应的虚拟网络标识VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议,根据该VNI确定源端口,根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,并向该转发核集合中的每一个转发核发送该数据报文。
当网关接收到数据报文时,由于网关从数据报文中获取该数据报文的五元组和VNI,并使用该五元组和该VNI进行哈希均衡计算,得到转发核集合,然后网关向转发核集合中的每一个转发核发送数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
在一些可能的实现方式中,该包括源网络协议IP地址、源端口、目的IP地址、目的端口和传输层协议,称为“五元组”。例如:192.168.1.1 10000TCP 121.14.88.76 80就构成了一个五元组,其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行连接。
在一些可能的实现方式中,该网关向至少一个交付单元POD的网关发送该数据报文,该至少一个POD中的任意一个POD包括该转发核集合中的至少一个转发核,以使得接收到该数据报文的POD的网关向该转发核集合中的转发核发送该数据报文。
在一些可能的实现方式中,当POD网关接收到组播报文时,可以根据从交换机接收到的指示信息,将组播报文转发给相应的转发核,以使得转发核可以处理该组播报文,并将该组播报文发送至目的VM。具体的,该网关向交换机发送该数据报文和该转发核集合,以使得该交换机向该转发核集合中的各个转发核所属的POD网关发送该组播报文。
当区域网关接收到组播报文时,可以将组播报文发送给转发核集合中的转发核,在一些可能的实现方式中,区域网关可以将组播报文以及该组播报文和该转发核集合发送给交换机,交换机将组播报文发送给转发核集合中各个转发核所属的POD网关。
当网关接收到数据报文时,由于网关接收数据报文后,获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议,并根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,最后向该转发核集合中的每一个转发核发送该数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
在一些可能的实现方式中,本申请第二方面提供了一种数据报文转发网关,包括:
通信接口,用于接收数据报文。
处理器,用于获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议。
该处理器,还用于该VNI确定源端口。
该处理器,还用于根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合。
该通信接口,还用于向该转发核集合中的每一个转发核发送该数据报文。
由于实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
在一些可能的实现方式中,该通信接口具体用于:
向至少一个交付单元POD的网关发送该数据报文,该至少一个POD中的任意一个POD包括该转发核集合中的至少一个转发核,以使得接收到该数据报文的POD的网关向该转发核集合中的转发核发送该数据报文。
在一些可能的实现方式中,该通信接口具体用于:
向交换机发送该数据报文和该转发核集合,以使得该交换机向该转发核集合中的各个转发核所属的POD网关发送该组播报文。
在一些可能的实现方式中,该网关为区域网关,该通信接口具体用于:
接收入网点POP网关发送的该数据报文,该数据报文为该POP网关通过多协议标签交换虚拟私有网络MPLS-VPN专线接收发送端发送的数据报文。
本申请第三方面提供了一种数据报文转发网关,包括:
处理器、存储器、一个或多个应用程序。其中,
该一个或多个应用程序被存储在该存储器中,该一个或多个应用程序包括指令,当该指令被该处理器执行时,该网关执行以下步骤:
接收数据报文。
获取该数据报文对应的虚拟网络标识VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议。
根据该VNI确定源端口。
根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合。
向该转发核集合中的每一个转发核发送该数据报文。
当网关接收到数据报文时,由于网关接收数据报文后,获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议,并根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,最后向该转发核集合中的每一个转发核发送该数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
当网关接收到数据报文时,由于网关接收数据报文后,获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议,并根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,最后向该转发核集合中的每一个转发核发送该数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
附图说明
图1为一种数据报文转发系统的实施例示意图;
图2为一种数据报文转发方法的实施例示意图;
图3为一种数据报文转发网关的实施例示意图;
图4为一种数据报文转发网关的实施例示意图。
具体实施方式
本申请实施例提供了一种数据报文转发方法,用于接收并处理组播报文。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本申请实施例中可能采用术语第一、第二、第三等来描述各种消息、请求和终端,但这些消息、请求和终端不应限于这些术语。这些术语仅用来将消息、请求和终端彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一终端也可以被称为第二终端,类似地,第二终端也可以被称为第一终端。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
公有云指的是第三方提供商利用云技术通过互联网为用户提供的免费或成本低廉的能够使用的服务平台。在公有云提供服务的过程中,企业并不拥有云计算资源,而是利用公有云的基础设施中的云计算资源向终端用户提供服务,使得终端用户通过公有云接受企业的服务。
在公有云的一些实例应用中,发送端部署在企业的数据中心中,接收端为VPC系统下多个子网中的VM。当前,发送端向接收端发送的数据报文,主要采用组播代理组播转单播的方式。具体的,数据中心上设置组播代理,组播源将数据报文以组播报文的方式发送至组播代理,组播代理修改数据报文为单播报文,通过多协议标签交换-虚拟私有网络MPLS-VPN等专线方式分别发送至VPC系统中的VM。当发送端要将同一个数据报文同时发送给多个VM时,需要组播代理拷贝成多分数据报文,并分别进行发送,造成网络资源开销较大。
需要说明的是,所谓单播传输指的是在发送端和多个接收端之间实现单点对点网络连接,发送端若需要同时给多个接收端传输相同的数据报文,必须相应的对每个接收端复制一份相同的数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送端负担沉重、延迟长、网络拥塞,为保证一定的服务质量需增加硬件和带宽。
而组播传输指的是在一个发送端和到多个接收端之间实现单点对多点网络连接的数据传输方式,当网络中的某些用户需求特定信息时,发送端需要同时给多个接收端传输相同的数据报文,只需复制一份的相同数据包,组播路由器借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发,实现了仅发送一次信息的情况下,同时给多个的接收端传输相同的数据包,提高了数据传送效率,减少了骨干网络出现拥塞的可能性,从而解决了单播效率低的问题。
为此,请参考图1,为实现组播传输提出了一种数据报文转发系统100,包括发送端110和VPC系统120,其中VPC系统120包括POP网关121、区域网关集群122、至少一个POD网关集群123、转发核集群124以及VM集群125。其中,区域网关集群122包括至少一个区域网关,每个区域网关对应的一个POD网关集群123,每个POD网关集群123包括至少一个POD网关,每个POD网关对应至少一个转发核集群124以及至少一个VM集群125。
在本申请实施例中,发送端110可以通过MPLS-VPN向VPC系统120发送组播报文,VPC系统120中的POP网关接收数据报文,并将该数据报文发送区域网关集群122中的每个区域网关,然后每个区域网关根据需要将数据报文分别发送至POD网关集群123中的对应的POD网关,接收到数据报文的POD网关将数据报文下发至转发核集群124中的至少一个进行处理,接收到数据报文的转发核将数据报文发送至VM集群中的目的VM,以使得接收到数据报文的VM对数据报文进行处理。
在本申请实施例中,发送端110可以为用户的数据中心,也可以为数据中心中的至少一个服务器,此处不做限定。在一些可能实现方式中,该发送端110可以发送组播报文、单播报文或者广播报文,在本申请实施例,以组播报文为例进行说明。在一些可能的实现方式中,该发送端110的用户可以为银行、证券商或者超市等企业,此处不做限定。
需要说明的是,MPLS-VPN指的是采用多协议标记转换的技术在骨干宽带IP网络上构建企业IP专网。其中,通过采用标签交换,使得一个标签对应一个用户数据流,使得用户间的数据隔离,实现区分服务体系,这样可以有效地解决IP网络中的QoS/CoS问题,最大限度地优化配置网络资源,自动快速修复网络故障,提供高可用性和高可靠性,实现跨地域、安全、高速、可靠的数据、语音、图像多业务通信。
需要说明的是,VPC系统是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在用户和云服务提供商之间传输数据,为弹性云服务器构建隔离的、用户自主配置和管理的虚拟网络环境,可以提升用户的资源安全性,简化用户的网络部署。
需要说明的是,网关是用于在网络层以上实现网络互连,使得两个高层协议不同的网络互连的设备。网关充当转换重任的计算机系统或设备,使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关对收到的信息要重新打包,以适应目的系统的需求。
需要说明的是,POD可以相当于一个机房,该机房中具有多个服务器,其中一个服务器相当于一个转发核,该多个服务器组成一个集群,用于接收并处理数据报文,将数据报文分发到相应的VM进行处理。需要说明的是,VM和转发核均为POD的功能。其中,VM具有网络地址,用于执行该数据报文。VM可以用于用户的网站,VM接收数据报文后执行该数据报文,如显示网站的打折消息、文字显示或图像显示,此处不做限定。
在现有的VPC系统中,当区域网关接收到数据报文时,会获取数据报文的源网络协议IP地址、源端口、目的IP地址、目的端口和传输层协议,称为五元组,并对该五元组进行哈希均衡计算,得到相应的转发核。由于数据报文的源IP地址、目的IP地址、目的端口和传输层协议均相同,只有源端口不同,当使用五元组进行哈希均衡时,源端口相同的数据报文会发送至相同的转发核进行处理,则可能造成大量数据报文在同一个转发核中进行处理,从而使得该转发核的超负载。需要说明的是,源端口指的是TCP或UDP协议中的服务端口,如QQ聊天用的UDP端口10000,QQ视频用TCP端口20000等,该源端口的端口号是带在数据报文里的。
本申请提供了一种数据报文转发方法,当网关接收到数据报文时,由于网关接收数据报文后,获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议,并根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,最后向该转发核集合中的每一个转发核发送该数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
有鉴于此,请参考图2,本申请提供了一种数据报文转发方法,包括:
201、发送端向POP网关发送组播报文。
需要说明的是,在一些可行的实现方式中,发送端可以发送单播报文、广播报文或组播报文等数据报文,在本申请实施例中,以组播报文为例进行说明。组播报文是发送端用于同时发送给多个VM的,通过组播传输的方式可以仅发送一份数据报文,就可以通过VPC系统下发给多个VM。在本申请实施例中,VPC系统的入口为POP网关,该POP网关用于接收数据报文,包括该组播报文。需要说明的是,POP网关具有组播协议,使得POP网关可以接收组播报文,并获取组播报文中的信息。在一些可能的实现方式中,POP网关还可以具有单播协议,或者其他传输方式的协议,使得该POP网关可以处理多种传输方式的数据报文。
在一些可能的实现方式中,该发送端可以通过MPLS-VPN专线的方式向POP网关发送组播报文,也可以通过其他方式发送,此处不做限定。
202、POP网关向区域网关发送组播报文。
在本申请实施例中,POP网关可以将接收到的组播报文复制成多份相同的数据报文,分别发送给所有区域网关。需要说明的是,
203、该区域网关获取该组播报文的VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议。
在本申请实施例中,POP网关接收到组播报文时,可以为该组播报文生成,如“五元组”,同时还可以为该组播报文的目的地VM确定相应的VNI。需要说明的是,该包括“五元组”,分别是源IP地址、源端口、目的IP地址、目的端口和传输层协议,这五个量组成的一个集合。例如:192.168.1.1 10000TCP 121.14.88.76 80就构成了一个五元组,其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用传输控制协议TCP,和IP为121.14.88.76,目的端口为80的终端进行连接。
需要说明的是,VNI为子网的标识,如<vni:10,10.10.10.10->244.2.1>、<vni:20,10.10.10.10->244.2.1>或<vni:30,10.10.10.10->244.2.1>,此处不做赘述。每个VM都有一个网络地址,每个VM的网络地址都属于其中一个VNI所标识的子网中,因此,每个VNI对应着至少一个VM,这些VM的网络地址都在该VIN所标识的子网中。但是,对于同属一个VNI所标识的子网的多个VM,当区域网关接收到组播报文时,如果不考虑VNI,则当进行哈希均衡时,由于发送给同一个POD网关的组播报文的源端口是相同的,会发送将该组播报文发送给同一个转发核的情况,使得该转发核超负载。在本申请实施例中,通过加入了VNI的值作为哈希均衡的输入值,使得要发送给属于不同的VNI所标识的子网的VM的组播报文,可以分发给POD网关下的不同的转发核中,实现负载均衡,最终使得VPC系统可以接收并处理组播报文。
204、该网关根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合。
需要说明的是,哈希均衡中的哈希指的是把任意长度的输入通过散列算法变换成固定长度的输出,得到散列值的计算方法。一般而言,散列函数具有如下特性,如果在一个同一函数中的两个散列值是不相同的,那么这两个散列值的原始输入也是不相同的,这个特性是散列函数具有确定性的结果。
在本申请实施例中,区域网关可以根据(如五元组)和VNI作为输入值进行哈希均衡计算,得到转发核集合,该转发核集合包括至少一个转发核。需要说明的是,若该转发核集合包括2个或以上的转发核,该转发核集合中的不同的转发核可以分别在不同的POD网关下,也可以在同一个POD网关下,此处不做限定。当得到转发核集合后,区域网关将组播报文分别发送给多个POD网关,该多个POD网关中的每一个POD网关下至少有一个转发核集合中的转发核,以使得该多个POD网关分别将组播报文发送给通过POD网关下的不同的转发核进行处理,实现了同一个POD网关下各个转发核的负载均衡。
具体的,以下举例说明,POP网关的接口启用网际组管理协议(internet groupmanagement protocol,IGMP)和独立组播协议(protocol independent multicast,PIM),在POP网关可以配置如下:
interface vlanif 1000
ip address 169.254.195.2/24
igmp version v3(启用IGMP)
pim enable(启用PIM)
区域网关的转发流表可以如下:
table=18,priority=0,pkt_mark=dc_gw_id,ip,dl_vlan=client_vlan,nw_dst=224.0.0.0/4actions=load:vpc_mark->OXM_OF_METADATA[],resubmit(,129)(区域网关接收组播报文)
table=129,priority=5,ip,metadata=vpc_mark,nw_dst=224.0.0.0/4actions=mod_vlan_vid:0,load:vni1->NXM_NX_TUN_ID[],load:pod_gw1_vtep->NXM_NX_TUN_IPV4_DST[],resubmit(,25),mod_vlan_vid:0,load:vni2->NXM_NX_TUN_ID[],load:pod_gw2_vtep->NXM_NX_TUN_IPV4_DST[],load:vpc_mark->NXM_NX_TUN_IPV4_SRC[],output:vxlan_port(将组播报文按VPC下的子网进行复制,并转发至POD网关)
POD网关转发流表如下:
Table=22,priority=2,tun_id=vni1,actions=output:list(compute_node_vxlan_port)(即根据VNI将组播报文复制到目的VM所在的转发核)
Table=22,priority=2,tun_id=vni2,actions=output:list(compute_node_vxlan_port)
计算节点转发流表如下:
Br-tun:table=0,tun_id=vni1,actions=mod_vlan_vid:net_local_vlan_id,output:ofport(记录VM的本地VLAN标识)
Br-int:table=0,dl_vlan=net_local_vlan actions=NORMAL(转发组播报文)
区域网关计算源端口的方法:
vxlan_src_port=jhash2(vni;源mac、目的mac;源IP、目的IP;源端口、目的端口;vlan id)//jhash2为Linux内核使用的优化哈希算法。
通过上述计算,得出转发核集合。
205、该区域网关向交换机发送该组播报文和该转发核集合。
206、该交换机向该转发核集合中的各个转发核所属的POD网关发送该组播报文。
当区域网关接收到组播报文时,可以将组播报文发送给转发核集合中的各个转发核。在一些可能的实现方式中,区域网关可以将组播报文以及该组播报文和该转发核集合发送给交换机,交换机将组播报文发送给转发核集合中各个转发核所属的POD网关。
207、接收到该组播报文的POD网关向该转发核集合中的各个转发核发送该组播报文。
在本申请实施例中,当POD网关接收到组播报文时,可以根据从交换机接收到的指示信息,将组播报文转发给相应的转发核,以使得转发核可以处理该组播报文,并将该组播报文发送至目的VM。
请参考图3,本申请提供了一种数据报文转发网关300,包括:
通信接口301,用于接收数据报文。
处理器302,用于获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议。
该处理器302,还用于该VNI确定源端口。
该处理器302,还用于根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合。
该通信接口301,还用于向该转发核集合中的每一个转发核发送该数据报文。
当网关接收到数据报文时,由于网关接收数据报文后,获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议,并根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,最后向该转发核集合中的每一个转发核发送该数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
在一些可能的实现方式中,该通信接口301具体用于向至少一个交付单元POD的网关发送该数据报文,该至少一个POD中的任意一个POD包括该转发核集合中的至少一个转发核,以使得接收到该数据报文的POD的网关向该转发核集合中的转发核发送该数据报文。
在一些可能的实现方式中,该通信接口301具体用于向交换机发送该数据报文和该转发核集合,以使得该交换机向该转发核集合中的各个转发核所属的POD网关发送该组播报文。
在一些可能的实现方式中,该网关为区域网关,该通信接口301具体用于接收入网点POP网关发送的该数据报文,该数据报文为该POP网关通过多协议标签交换虚拟私有网络MPLS-VPN专线接收发送端发送的数据报文。
请参考图4,本申请还提供了一种数据报文转发网关400,包括:
处理器401、存储器402、一个或多个应用程序。其中,该一个或多个应用程序被存储在该存储器402中,该一个或多个应用程序包括指令,当该指令被该处理器400执行时,该网关400执行以下步骤:
接收数据报文。
获取该数据报文对应的虚拟网络标识VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议。
根据该VNI确定源端口。
根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合。
向该转发核集合中的每一个转发核发送该数据报文。
当网关接收到数据报文时,由于网关接收数据报文后,获取该数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议,并根据该VNI确定源端口,并根据该源端口、该IP地址、该目的IP地址、该目的端口和传输层协议进行哈希均衡计算,得到转发核集合,最后向该转发核集合中的每一个转发核发送该数据报文,实现了单个POD中的转发核之间的负载均衡,使得发送端发送数据报文为组播报文时,VPC系统也可以接收并处理,不需要发送端对逐个VM发送单播报文,节省了网络资源开销。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种数据报文转发方法,其特征在于,包括:
网关接收数据报文;
所述网关获取所述数据报文对应的虚拟网络标识VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议;
所述网关根据所述VNI确定源端口;
所述网关根据所述源端口、所述源IP地址、所述目的IP地址、所述目的端口和传输层协议进行哈希均衡计算,得到转发核集合;
所述网关向所述转发核集合中的每一个转发核发送所述数据报文。
2.根据权利要求1所述方法,其特征在于,所述网关向所述转发核集合中的每一个转发核发送所述数据报文包括:
所述网关向至少一个交付单元POD的网关发送所述数据报文,所述至少一个POD中的任意一个POD包括所述转发核集合中的至少一个转发核,以使得接收到所述数据报文的POD的网关向所述转发核集合中的转发核发送所述数据报文。
3.根据权利要求2所述方法,其特征在于,所述网关向POD集群发送所述数据报文包括:
所述网关向交换机发送所述数据报文和所述转发核集合,以使得该交换机向所述转发核集合中的各个转发核所属的POD网关发送该所述数据报文。
4.根据权利要求1-3中任一项所述方法,其特征在于,所述数据报文为组播报文。
5.根据权利要求1-3中任一项所述方法,其特征在于,所述网关为区域网关。
6.根据权利要求4所述方法,其特征在于,所述网关为区域网关。
7.根据权利要求5所述方法,其特征在于,所述网关接收数据报文包括:
所述网关接收入网点POP网关发送的所述数据报文,所述数据报文为所述POP网关通过多协议标签交换虚拟私有网络MPLS-VPN专线接收发送端发送的数据报文。
8.根据权利要求6所述方法,其特征在于,所述网关接收数据报文包括:
所述网关接收入网点POP网关发送的所述数据报文,所述数据报文为所述POP网关通过多协议标签交换虚拟私有网络MPLS-VPN专线接收发送端发送的数据报文。
9.一种数据报文转发网关,其特征在于,包括:
通信接口,用于接收数据报文;
处理器,用于获取所述数据报文对应的VNI和源IP地址、目的IP地址、目的端口和传输层协议;
所述处理器,还用于所述VNI确定源端口;
所述处理器,还用于根据所述源端口、所述源IP地址、所述目的IP地址、所述目的端口和传输层协议进行哈希均衡计算,得到转发核集合;
所述通信接口,还用于向所述转发核集合中的每一个转发核发送所述数据报文。
10.根据权利要求9所述网关,其特征在于,所述通信接口具体用于:
向至少一个交付单元POD的网关发送所述数据报文,所述至少一个POD中的任意一个POD包括所述转发核集合中的至少一个转发核,以使得接收到所述数据报文的POD的网关向所述转发核集合中的转发核发送所述数据报文。
11.根据权利要求10所述网关,其特征在于,所述通信接口具体用于:
向交换机发送所述数据报文和所述转发核集合,以使得该交换机向所述转发核集合中的各个转发核所属的POD网关发送所述数据报文。
12.根据权利要求9-11中任一项所述网关,其特征在于,所述网关为区域网关,所述通信接口具体用于:
接收入网点POP网关发送的所述数据报文,所述数据报文为所述POP网关通过多协议标签交换虚拟私有网络MPLS-VPN专线接收发送端发送的数据报文。
13.一种数据报文转发网关,其特征在于,包括:
处理器、存储器、一个或多个应用程序;其中,
所述一个或多个应用程序被存储在所述存储器中,所述一个或多个应用程序包括指令,当所述指令被所述处理器执行时,所述网关执行以下步骤:
接收数据报文;
获取所述数据报文对应的虚拟网络标识VNI和源网络协议IP地址、目的IP地址、目的端口和传输层协议;
根据所述VNI确定源端口;
根据所述源端口、所述源IP地址、所述目的IP地址、所述目的端口和传输层协议进行哈希均衡计算,得到转发核集合;
向所述转发核集合中的每一个转发核发送所述数据报文。
14.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584726.9A CN109756412B (zh) | 2018-12-24 | 2018-12-24 | 一种数据报文转发方法以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584726.9A CN109756412B (zh) | 2018-12-24 | 2018-12-24 | 一种数据报文转发方法以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109756412A CN109756412A (zh) | 2019-05-14 |
CN109756412B true CN109756412B (zh) | 2020-12-25 |
Family
ID=66403132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584726.9A Active CN109756412B (zh) | 2018-12-24 | 2018-12-24 | 一种数据报文转发方法以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109756412B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626160B (zh) * | 2021-07-07 | 2023-03-24 | 厦门市美亚柏科信息股份有限公司 | 一种基于cavium处理器的网络数据包高并发处理方法与系统 |
CN114125025B (zh) * | 2021-11-23 | 2024-02-13 | 北京奥星贝斯科技有限公司 | 一种多目标网络下的数据传输方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533890A (zh) * | 2016-12-30 | 2017-03-22 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN107360096A (zh) * | 2017-08-14 | 2017-11-17 | 北京优帆科技有限公司 | 一种vxlan报文的转发方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307136B (zh) * | 2011-07-06 | 2014-12-24 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
US9077562B2 (en) * | 2012-06-08 | 2015-07-07 | Cisco Technology, Inc. | System and method for layer-2 multicast multipathing |
CN104811393B (zh) * | 2014-01-27 | 2019-02-26 | 中兴通讯股份有限公司 | 组播报文复制处理方法、装置及开放流控制器 |
US9992113B2 (en) * | 2015-06-30 | 2018-06-05 | Vmware, Inc. | Virtual network interface controller performance using physical network interface controller receive side scaling offloads |
CN106209688B (zh) * | 2016-07-13 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 云端数据组播方法、装置和系统 |
CN107623640A (zh) * | 2017-11-07 | 2018-01-23 | 北京锐安科技有限公司 | 一种增强哈希算法的方法以及装置 |
CN108337192B (zh) * | 2017-12-28 | 2021-02-23 | 华为技术有限公司 | 一种云数据中心中报文通信方法和装置 |
-
2018
- 2018-12-24 CN CN201811584726.9A patent/CN109756412B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533890A (zh) * | 2016-12-30 | 2017-03-22 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN107360096A (zh) * | 2017-08-14 | 2017-11-17 | 北京优帆科技有限公司 | 一种vxlan报文的转发方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109756412A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3404878B1 (en) | Virtual network apparatus, and related method | |
US9654303B2 (en) | Method and apparatus for emulating network devices | |
US12015556B2 (en) | Method, apparatus, and system for generating, and processing packets according to, a flow filtering rule | |
KR101900536B1 (ko) | Openflow 데이터 플레인 및 컨트롤 플레인을 갖는 클라우드 컴퓨터에서의 3g 패킷 코어의 구현 | |
WO2014208538A1 (ja) | 通信システムと装置と方法とプログラム | |
US7646739B2 (en) | Multicast routing over unidirectional links | |
WO2011093228A1 (ja) | フロントエンドシステム、フロントエンド処理方法 | |
CN112671628B (zh) | 业务服务提供方法及系统 | |
CN106688209B (zh) | 用于传输广播数据的方法和系统 | |
US9584331B2 (en) | Methods and systems for transmitting broadcast data | |
US9883010B2 (en) | Method, apparatus, device and system for generating DHCP snooping binding table | |
CN114285794B (zh) | 报文转发控制方法、报文传输网络、电子设备及存储介质 | |
CA2968964A1 (en) | Source ip address transparency systems and methods | |
CN112671938B (zh) | 业务服务提供方法及系统、远端加速网关 | |
WO2021083332A1 (zh) | 发送报文的方法、装置及系统 | |
US10374826B2 (en) | Methods and systems for transmitting broadcast data | |
US10404648B2 (en) | Addressing for customer premises LAN expansion | |
US9716688B1 (en) | VPN for containers and virtual machines in local area networks | |
CN109756412B (zh) | 一种数据报文转发方法以及设备 | |
WO2020088379A1 (zh) | 一种业务流处理方法及装置 | |
WO2022063065A1 (zh) | 一种路由信息传输方法及装置 | |
US9577930B2 (en) | Method for determining multicast path, method for receiving data packet, and router |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220210 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |