CN114500169B - 建立vxlan隧道的方法、报文转发的方法及装置 - Google Patents

建立vxlan隧道的方法、报文转发的方法及装置 Download PDF

Info

Publication number
CN114500169B
CN114500169B CN202111619670.8A CN202111619670A CN114500169B CN 114500169 B CN114500169 B CN 114500169B CN 202111619670 A CN202111619670 A CN 202111619670A CN 114500169 B CN114500169 B CN 114500169B
Authority
CN
China
Prior art keywords
node
virtual
nat
computing
gateway
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
Application number
CN202111619670.8A
Other languages
English (en)
Other versions
CN114500169A (zh
Inventor
黄永远
卢学嘉
罗印威
曾浩
谢金壮
高国斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202111619670.8A priority Critical patent/CN114500169B/zh
Publication of CN114500169A publication Critical patent/CN114500169A/zh
Application granted granted Critical
Publication of CN114500169B publication Critical patent/CN114500169B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

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

本申请涉及云网络技术领域,公开了一种建立虚拟扩展局域网隧道的方法、虚拟扩展局域网报文转发的方法及装置,其中虚拟扩展局域网架构中包括:计算数据结构、NAT数据结构和虚拟网关数据结构,计算数据结构包括:计算节点和第二层网关计算节点,NAT数据结构包括:NAT节点和第二层网关NAT节点;虚拟网关数据结构包括:虚拟网关节点,本申请是基于计算节点、第二层网关计算节点、NAT节点、第二层网关NAT节点和虚拟网关节点构建虚拟扩展局域网隧道,通过增加第二层网关计算节点和第二层网关NAT节点,以解决现有技术中构建虚拟扩展局域网隧道所需虚拟扩展局域网子接口数量过多的问题。

Description

建立VXLAN隧道的方法、报文转发的方法及装置
技术领域
本申请涉及云网络技术领域,尤其涉及一种建立虚拟扩展局域网隧道的方法、虚拟扩展局域网报文转发的方法及装置。
背景技术
现有技术中采用计算数据结构(Plain Old Data,POD)、NAT POD和虚拟网关POD三个节点创建虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)隧道,基于创建的隧道,对应的在计算POD、NAT POD和虚拟网关POD上的虚拟交换机(Open vSwitch,OVS)网桥创建VXLAN子接口,并由OVS流表实现VXLAN报文的转发处理。
但是随着集群规模不断变大,在OVS网桥上需要创建的VXLAN子接口数量将不断的增加,相应的OVS上的转发流表数量也会不断的增加。假设在10万台计算服务器规模下,根据目前生产环境下服务器数量估算标准,若采用上述VXLAN隧道创建方法,且维持10万台计算机服务器规模的Openstack云计算管理平台集群前提下,计算POD、NAT POD和虚拟网关POD均需要创建10万多的VXLAN子接口数量,因此构建VXLAN隧道所需VXLAN子接口数量过多。
发明内容
本申请实施例提供一种建立虚拟扩展局域网隧道的方法、虚拟扩展局域网报文转发的方法及装置,从而可以解决现有技术中构建VXLAN隧道所需VXLAN子接口数量过多的问题。
第一方面,本申请一实施例提供了一种建立虚拟扩展局域网隧道的方法,虚拟扩展局域网架构中包括:计算数据结构、NAT数据结构和虚拟网关数据结构,所述计算数据结构包括:计算节点和第二层网关计算节点,所述NAT数据结构包括:NAT节点和第二层网关NAT节点;所述虚拟网关数据结构包括:虚拟网关节点,所述方法包括:
基于所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点构建虚拟扩展局域网隧道。
可选的,所述计算数据结构和所述NAT数据结构的数量均为至少一个,所述基于所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点构建虚拟扩展局域网隧道,包括:
基于所述计算数据结构中的任意一个所述计算节点与所述计算数据结构中除所述计算节点之外的其他计算节点构建第一虚拟扩展局域网隧道;
基于所述计算数据结构中的任意一个所述计算节点与所述计算数据结构中的所述第二层网关计算节点构建第二虚拟扩展局域网隧道;
基于所述NAT数据结构中的任意一个所述NAT节点与所述NAT数据结构中除所述NAT节点之外的其他NAT节点构建第三虚拟扩展局域网隧道;
基于所述NAT数据结构中的任意一个所述NAT节点与所述NAT数据结构中的所述第二层网关NAT节点构建第四虚拟扩展局域网隧道;
基于所述NAT数据结构中的任意一个所述NAT节点与每个所述计算数据结构中的所述第二层网关计算节点构建第五虚拟扩展局域网隧道;
基于所述虚拟网关节点与每个所述计算数据结构中的所述第二层网关计算节点构建第六虚拟扩展局域网隧道;
基于所述虚拟网关节点与每个所述NAT数据结构中的所述第二层网关NAT节点构建第七虚拟扩展局域网隧道;
基于所述计算数据结构中的所述第二层网关计算节点与除所述计算数据结构之外的计算数据结构中的第二层网关计算节点构建第八虚拟扩展局域网隧道;
基于所述NAT数据结构中的所述第二层网关NAT节点与所述虚拟网关节点构建第九虚拟扩展局域网隧道。
可选的,所述第二层网关计算节点上配置有第一虚拟交换机进程;所述基于所述计算数据结构中的任意一个所述计算节点与所述计算数据结构中的所述第二层网关计算节点构建第二虚拟扩展局域网隧道,包括:
接收第一资源,并利用所述第一虚拟交换机进程监听所述第一资源;所述第一资源为第二层网关资源;
若所述第一资源中包括创建信息,则利用所述第一虚拟交换机进程从所述计算节点中获取到的信息和所述第一资源创建所述第二虚拟扩展局域网隧道。
可选的,所述第二层网关NAT节点上配置有第二虚拟交换机进程;所述基于所述NAT数据结构中的任意一个所述NAT节点与每个所述计算数据结构中的所述第二层网关计算节点构建第五虚拟扩展局域网隧道,包括:
接收第二资源,并利用所述第二虚拟交换机进程监听所述第二资源;所述第二资源为第二层网关资源;
若所述第二资源中包括创建信息,则利用所述第二虚拟交换机进程从所述NAT节点中获取到的信息和所述第二资源创建所述第五虚拟扩展局域网隧道。
可选的,所述第二层网关NAT节点上配置有第二虚拟交换机进程;所述基于所述NAT数据结构中的所述第二层网关NAT节点与所述虚拟网关节点构建第九虚拟扩展局域网隧道,包括:
接收第三资源,并利用所述第二虚拟交换机进程监听所述第三资源;所述第三资源为除第二层网关资源之外指定的资源;
若所述第三资源中包括创建信息,则利用所述第二虚拟交换机进程从所述虚拟网关节点中获取到的信息和所述第三资源创建所述第九虚拟扩展局域网隧道。
可选的,所述第二层网关NAT节点上配置有第二虚拟交换机进程;所述基于所述NAT数据结构中的任意一个所述NAT节点与所述NAT数据结构中的所述第二层网关NAT节点构建第四虚拟扩展局域网隧道,包括:
接收第四资源,并利用所述第二虚拟交换机进程监听所述第四资源;所述第四资源为第二层网关资源;
若所述第四资源中包括创建信息,则利用所述第二虚拟交换机进程从所述NAT节点中获取到的信息和所述第四资源创建所述第四虚拟扩展局域网隧道。
第二方面,本申请一实施例提供了一种虚拟扩展局域网报文转发的方法,虚拟扩展局域网架构包括如第一方面中任一所述建立虚拟扩展局域网隧道的方法构建的虚拟扩展局域网隧道,所述第二层网关计算节点上还配置有多个第二层网关计算进程,所述第二层网关NAT节点上还配置有多个第二层网关NAT进程,所述方法包括:
接收每个所述第二层网关计算进程和每个所述第二层网关NAT进程分别发送的第二层网关节点状态;
根据每个所述第二层网关节点状态更新所述虚拟扩展局域网隧道和所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表;
利用更新后的所述虚拟扩展局域网隧道和更新后的所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表对虚拟扩展局域网报文进行转发。
可选的,所述方法还包括:
在对所述虚拟扩展局域网报文转发完成后,向发送转发所述虚拟扩展局域网报文的终端发送转发完成指令时,采用的第二层网关节点与所述终端发送转发所述虚拟扩展局域网报文采用的第二层网关节点相同。
第三方面,本申请一实施例提供了一种虚拟扩展局域网报文转发的装置,虚拟扩展局域网架构包括如第一方面中任一所述建立虚拟扩展局域网隧道的方法构建的虚拟扩展局域网隧道,所述第二层网关计算节点上还配置有多个第二层网关计算进程,所述第二层网关NAT节点上还配置有多个第二层网关NAT进程,所述装置包括:
接收模块,用于接收每个所述第二层网关计算进程和每个所述第二层网关NAT进程分别发送的第二层网关节点状态;
更新模块,用于根据每个所述第二层网关节点状态更新所述虚拟扩展局域网隧道和所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表;
转发模块,用于利用更新后的所述虚拟扩展局域网隧道和更新后的所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表对虚拟扩展局域网报文进行转发。
可选的,所述装置还包括:
在对所述虚拟扩展局域网报文转发完成后,向发送转发所述虚拟扩展局域网报文的终端发送转发完成指令时,采用的第二层网关节点与所述终端发送转发所述虚拟扩展局域网报文采用的第二层网关节点相同。
第四方面,本申请一实施例还提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如本申请第一方面或第二方面中提供的任一方法。
第五方面,本申请一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本申请第一方面或第二方面中提供的任一方法。
第六方面,本申请一实施例提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如本申请第一方面或第二方面中提供的任一方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的从一个计算POD角度按照表3描述的多种情况创建VXLAN隧道的示意图;
图1b为本申请实施例提供的从一个NAT POD角度按照表3描述的多种情况创建VXLAN隧道的示意图;
图1c为本申请实施例提供的从虚拟网关POD角度按照表3描述的多种情况创建VXLAN隧道的示意图;
图2为本申请一实施例提供的管理POD对计算POD、NAT POD和虚拟网关POD进行L2GW资源分配的示意图;
图3为本申请一实施例提供的管理POD对计算POD、NAT POD和虚拟网关POD进行EVTP资源分配的示意图;
图4为本申请一实施例提供的L2GW计算节点和L2GW NAT节点故障检测和自动切换的流程示意图;
图5为本申请一实施例提供的增加的L2GW计算节点和L2GW NAT节点对计算节点、NAT节点和虚拟网关节点进行负载分担的流程示意图;
图6为本申请一实施例提供的L2GW计算节点集群或者L2GW NAT节点集群之间负载分担的流程示意图;
图7为本申请一实施例提供的请求报文和回应报文源进源出示意图;
图8为本申请一实施例提供的ARP报文广播泛洪的示意图;
图9为本申请一实施例提供的L2GW节点与L2GW节点之间的VXLAN口和计算节点、NAT节点和虚拟网关节点之间的VXLAN口自学习示意图;
图10为本申请一实施例提供的计算节点和NAT节点在br-tun网桥上的流表改进示意图;
图11为本申请一实施例提供的虚拟网关节点在br-south网桥上的流表改进示意图;
图12为本申请一实施例提供的L2GW节点在br-L2GW网桥上的流表改进示意图;
图13为本申请一实施例提供的虚拟扩展局域网报文转发的装置结构示意图;
图14为本申请一实施例提供的电子设备示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
现有技术中采用计算数据结构(Plain Old Data,POD)、NAT POD和虚拟网关POD三个节点创建虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)隧道,基于创建的隧道,对应的在计算POD、NAT POD和虚拟网关POD上的虚拟交换机(Open vSwitch,OVS)网桥创建VXLAN子接口,并由OVS流表实现VXLAN报文的转发处理。
但是随着集群规模不断变大,在OVS网桥上需要创建的VXLAN子接口数量将不断的增加,相应的OVS上的转发流表数量也会不断的增加。假设在10万台计算服务器规模下,根据目前生产环境下服务器数量估算标准,若采用上述VXLAN隧道创建方法,且维持10万台计算机服务器规模的Openstack云计算管理平台集群前提下,计算POD、NAT POD和虚拟网关POD均需要创建10万多的VXLAN子接口数量,如表1所示,因此构建VXLAN隧道所需VXLAN子接口数量过多。
表1
为此,本申请通过在原有的VXLAN架构包括计算POD、NAT POD和虚拟网关POD基础上,在计算POD中除计算节点之外,增加第二层网关(Level-2GateWay,L2GW)计算节点,在NAT POD中除NAT节点之外,增加L2GW NAT节点,以解决现有技术中构建虚拟扩展局域网隧道所需虚拟扩展局域网子接口数量过多的问题。接下来通过两方面对本申请进行介绍,第一:VXLAN隧道的建立,第二:VXLAN报文的转发。
一、VXLAN隧道的建立
首先,计算POD中可以有多个计算节点,也即计算POD可以是对应一个Openstack集群,计算POD主要是提供虚拟机(Virtual Machine,VM)资源,租户的VM均在计算POD下开通。为了避免资源的冲突,VM所需要的所有资源均由管理POD分配。在VXLAN架构中可以存在多个计算POD,因此当不同的VM分布在不同的计算POD中,并且需要进行交互时,出现跨POD的租户流量问题。
其次,NAT POD中也可以有多个NAT节点,也即NAT POD也可以是对应一个Openstack集群,NAT POD主要是提供NAT网关服务,为租户的VM提供访问互联网的地址转换。在VXLAN架构中可以存在多个NAT POD。
再次,虚拟网关POD在VXLAN架构中可以只部署一个,主要是提供高级网络服务,例如:专线、云间高速、对等连接、Ipsec VPN等。
最后,VXLAN架构中还包括管理POD,在Openstack大规模集群架构下,管理POD负责统筹网络资源的分配。网络资源可以包括:专有网络(Virtual Private Cloud,VPC)、子网、虚拟媒体存取控制位址(Media Access Control,MAC)、虚拟互联网协议(InternetProtocol,IP)地址、租户VXLAN ID等。在管理POD对资源进行分配后,会及时通知到计算POD、NAT POD和虚拟网关POD节点中,从而确保计算POD、NAT POD和虚拟网关POD中的资源不会出现冲突。管理POD的数量可以是一个,在此仅是举例说明,本申请不做具体数量的限定。
另外,VXLAN架构中还包括存储POD,主要是可以为VM存储资源,存储POD的数量可以是多个,并且多个计算POD也可以共用一个存储POD。
根据上述描述,在VXLAN架构中将物理服务器划分了不同的节点,具体信息也可以如表2所示。(其中网络POD即为虚拟网关POD)
表2
在介绍了VXLAN架构中的不同节点之后,本申请是基于计算节点、L2GW计算节点、NAT节点、L2GW NAT节点和虚拟网关节点构建虚拟扩展局域网隧道。
具体的,如表3所示,基于计算数据结构中的任意一个计算节点与计算数据结构中除计算节点之外的其他计算节点构建第一虚拟扩展局域网隧道;基于计算数据结构中的任意一个计算节点与计算数据结构中的第二层网关计算节点构建第二虚拟扩展局域网隧道;基于NAT数据结构中的任意一个NAT节点与NAT数据结构中除NAT节点之外的其他NAT节点构建第三虚拟扩展局域网隧道;基于NAT数据结构中的任意一个NAT节点与NAT数据结构中的第二层网关NAT节点构建第四虚拟扩展局域网隧道;基于NAT数据结构中的任意一个NAT节点与每个计算数据结构中的第二层网关计算节点构建第五虚拟扩展局域网隧道;基于虚拟网关节点与每个计算数据结构中的第二层网关计算节点构建第六虚拟扩展局域网隧道;基于虚拟网关节点与每个NAT数据结构中的第二层网关NAT节点构建第七虚拟扩展局域网隧道;基于计算数据结构中的第二层网关计算节点与除计算数据结构之外的计算数据结构中的第二层网关计算节点构建第八虚拟扩展局域网隧道;基于NAT数据结构中的第二层网关NAT节点与虚拟网关节点构建第九虚拟扩展局域网隧道。
表3
示例性的,如图1a、图1b、图1c所示,分别是从一个计算POD、一个NAT POD和虚拟网关POD角度按照表3描述的多种情况创建VXLAN隧道的示意图,其中NAT POD中的网络节点集群即为上述的NAT节点集群,网络POD即为虚拟网关POD。同样的相对于现有技术中针对10万台计算服务器规模来说,根据本申请上述建立VXLAN隧道的方式,计算POD、NAT POD和虚拟网关POD所需要创建的VXLAN子接口数量如表4所示,需要创建的VXLAN子接口数量大幅度减少。
表4
在介绍了基于计算节点、L2GW计算节点、NAT节点、L2GW NAT节点和虚拟网关节点构建的VXLAN隧道,接下来介绍下具体的构建VXLAN隧道的过程:
如图2所示,示出了管理POD对计算POD、NAT POD和虚拟网关POD(即图2中的网络POD)进行L2GW资源分配的示意图。管理POD中配置有全局第二层网关资源(central L2GWplugin),计算POD中的第二层网关计算节点上配置有本地第二层网关资源(Local L2GWplugin)、第二层网关进程(L2GW Agent)、第一虚拟交换机进程(OVS Agent),NAT POD中的第二层网关NAT节点上配置有本地第二层网关资源(Local L2GW plugin)、第二层网关进程(L2GW Agent)、第二虚拟交换机进程(OVS Agent),虚拟网关POD(即图2中的网络POD)上配置有虚拟网关进程(VGW Agent)。
针对计算节点来说,根据表3的描述,该节点包括两类VXLAN隧道,其中与本POD内其他计算节点之间的第一VXLAN隧道的建立根据现有技术即可实现,本申请在此不再赘述。与本POD内L2GW计算节点之间的第二VXLAN隧道建立过程为:如图2所示,管理POD负责L2GW资源的分配,并在资源分配过程中及时同步到计算POD上。计算POD在接收到第一资源后,利用第一虚拟交换机进程监听第一资源,若确定第一资源为第二层网关资源,即第一资源为本POD的L2GW资源,通知第一虚拟交换机进程(OVS Agent),利用第一虚拟交换机进程(OVSAgent)从计算节点中获取到的信息、以及从管理POD的Neutron Server DB中拉取一份计算节点的全量信息创建/删除第二虚拟扩展局域网隧道。
针对NAT节点来说,根据表3的描述,该节点包括三类VXLAN隧道,其中与本POD内其他NAT节点之间的第三VXLAN隧道的建立根据现有技术即可实现,本申请在此不再赘述。与本POD内L2GW NAT节点之间的第四VXLAN隧道建立过程以及与每个计算POD的L2GW计算节点之间的第五VXLAN隧道建立过程均为:如图2所示,管理POD负责L2GW资源的分配,并在资源分配过程中及时同步到NAT POD上。NAT POD在接收到第二资源或者第四资源后,利用第二虚拟交换机进程监听第二资源或者第四资源,若确定第二资源或者第四资源为第二层网关资源,即第二资源或者第四资源为本POD的L2GW资源,通知第二虚拟交换机进程(OVSAgent),利用第二虚拟交换机进程(OVS Agent)从NAT节点中获取到的信息、以及从管理POD的Neutron Server DB中拉取一份NAT节点的全量信息创建/删除第四虚拟扩展局域网隧道或者第五虚拟扩展局域网隧道。
针对虚拟网关节点来说,根据表3的描述,该节点包括两类VXLAN隧道,与每个NATPOD的L2GW NAT节点之间的第六VXLAN隧道建立过程以及与每个计算POD的L2GW计算节点之间的第七VXLAN隧道建立过程均为:如图2所示,管理POD负责L2GW资源的分配,并在资源分配过程中及时同步到虚拟网关POD上。虚拟网关POD在接收到资源后,通知VGW Agent,利用VGW Agent创建/删除第六虚拟扩展局域网隧道或者第七虚拟扩展局域网隧道。
针对L2GW计算节点来说,根据表3的描述,该节点包括三类VXLAN隧道,其中,与本POD内计算节点之间的第十VXLAN隧道建立过程以及与其他计算POD的L2GW计算节点之间的第八VXLAN隧道建立过程均为:如图2所示,管理POD负责L2GW资源的分配,并在资源分配过程中及时同步到计算POD上。计算POD在接收到资源后,利用第一虚拟交换机进程监听资源,若确定资源为本POD的L2GW资源,通知第一虚拟交换机进程(OVS Agent),利用第一虚拟交换机进程(OVS Agent)从计算节点中获取到的信息、以及从管理POD的Neutron Server DB中拉取一份计算节点的全量信息创建/删除第十虚拟扩展局域网隧道或者第八虚拟扩展局域网隧道。
这里,与每个NAT POD的NAT节点和虚拟网关POD的虚拟网关节点之间的第十一VXLAN隧道建立过程为:如图3所示,管理POD配置有全局EVTP资源(即为除L2GW资源之外指定的额外vtep ip资源),管理POD负责EVTP资源的分配,并在资源分配过程中及时同步到计算POD上。计算POD在接收到资源后,通知虚拟交换机进程(OVS Agent),利用虚拟交换机进程(OVS Agent)创建/删除第十一虚拟扩展局域网隧道。
针对L2GW NAT节点来说,根据表3的描述,该节点包括两类VXLAN隧道,其中,与本POD内NAT节点之间的第十二VXLAN隧道建立过程为:如图2所示,管理POD负责L2GW资源的分配,并在资源分配过程中及时同步到NAT POD上。NAT POD在接收到资源后,利用第二虚拟交换机进程监听资源,若确定资源为本POD的L2GW资源,通知第二虚拟交换机进程(OVSAgent),利用第二虚拟交换机进程(OVS Agent)从NAT节点中获取到的信息、以及从管理POD的Neutron Server DB中拉取一份NAT节点的全量信息创建/删除第十二虚拟扩展局域网隧道。
这里,与虚拟网关POD的虚拟网关节点之间的第九VXLAN隧道建立过程为:如图3所示,管理POD配置有全局EVTP资源(即为除L2GW资源之外指定的额外vtep ip资源),管理POD负责EVTP资源的分配,并在资源分配过程中及时同步到NAT POD上。NAT POD在接收到第三资源后,通知虚拟交换机进程(OVS Agent),利用虚拟交换机进程(OVS Agent)创建/删除第九虚拟扩展局域网隧道。
二、VXLAN报文的转发
在利用计算节点、NAT节点和虚拟网关节点中增加了L2GW计算节点和L2GW NAT节点后建立的VXLAN隧道进行报文转发之前,先介绍下L2GW计算节点和L2GW NAT节点。
L2GW计算节点和L2GW NAT节点均包含两个数据模型,一是L2GW Group,二是L2GWMember。其中,L2GW Group代表一个L2GW资源组,一个L2GW Group可以包含多个L2GWMember,L2GW Group可以包含的信息有:(1)所在节点的ID-身份标识;(2)region_name-所属POD对应的地区名称,计算POD、NAT POD收到L2GW资源后,可以通过比对这个字段值来判断此L2GW资源是否属于本地;(3)运行模式mode-主要包括两种,即全局global模式和局部local模式,由于计算POD上的L2GW计算节点需要和除自身计算POD之外其他的计算POD上的L2GW计算节点建立VXLAN隧道,因此计算POD上的L2GW计算节点为global模式,并且由于NATPOD上的L2GW NAT节点不需要和除自身NAT POD之外其他的NAT POD上的L2GW NAT节点建立VXLAN隧道,因此NAT POD上的L2GW NAT节点为local模式。
L2GW Member可以代表一个L2GW节点,L2GW Member包含的信息可以有:(1)group_id-L2GW节点所属的L2GW Group ID;(2)vtep_ip-L2GW节点用于VXLAN报文封装的underlayip;(3)status-L2GW节点的状态,有active和down两种状态;(4)enabled-L2GW节点的使能状态,包括true和false两个值,false表示L2GW节点处于禁用状态,处于禁用状态的L2GW节点不参与报文转发,也不感知状态的切换。
在增加了L2GW计算节点和L2GW NAT节点之后,进行报文转发时新增加的两个节点均可以实时进行节点的故障检测和自动切换。如图4所示,示出了L2GW计算节点和L2GW NAT节点故障检测和自动切换的流程示意图。包括以下步骤:
A1,计算POD和NAT POD上都会部署Neutron L2GW Agent以及Neutron L2GWPlugin。Neutron L2GW Agent会周期地向Neutron L2GW Plugin上报节点的状态,NeutronL2GW Plugin在DB记录每个Neutron L2GW Agent的状态信息。
A2,在管理POD上XJOB进程会周期地调用接口查询计算POD、NAT POD上的L2GW计算节点的状态和L2GW NAT节点的状态。
A3,当XJOB进程发现有异常的L2GW计算节点的状态或者异常的L2GW NAT节点的状态时,首先在管理POD上保存该异常状态,接着以异步的方式向计算POD、NAT POD以及虚拟网关POD通告异常的L2GW计算节点或者异常的L2GW NAT节点。计算POD、NAT POD以及虚拟网关POD进一步通知各自对应的Agent,同时更新已经建立完成的VXLAN隧道,并更新相关的流表。
如图5所示,示出了增加的L2GW计算节点和L2GW NAT节点对计算节点、NAT节点和虚拟网关节点进行负载分担的流程示意图。L2GW计算节点集群和L2GW NAT节点集群中均包含多个L2GW节点,同时参与报文的转发。计算节点、NAT节点和虚拟网关节点采用OpenFlowMultipath流表实现对L2GW计算节点集群和L2GW NAT节点集群的负载分担引流。当L2GW计算节点集群和L2GW NAT节点集群中出现L2GW节点故障时,根据上述步骤A1-A3进行更新引流流表,避免经过故障节点。
如图6所示,示出了L2GW计算节点集群或者L2GW NAT节点集群之间负载分担的流程示意图。将L2GW计算节点集群或者L2GW NAT节点集群任一集群定义为L2GW集群时,针对指定L2GW节点继续转发给下一个L2GW集群时(计算POD或者NAT POD内部之间),在该指定L2GW节点上采用OpenFlow Multipath流表实现对下一个L2GW集群的负载分担引流。当L2GW集群中出现L2GW节点故障时,根据上述步骤A1-A3进行更新引流流表,避免经过故障节点。
另外,如图7所示,请求报文和回应报文所经过的L2GW节点是一致的,即源进源出。在源端、目标端以及L2GW节点,在向下一个L2GW集群引流时都采用OpenFlow Multipath流表,即:
multipath(symmetric_l3l4+udp,1024,modulo_n,<L2GW Member成员数量>,0,NXM_NX_REG1[])
这里,Mutipath机制会根据报文的五元组(即源IP、目的IP、协议号、源端口号、目的端口号)进行Hash值的计算,然后根据Hash值/<L2GW节点数>=链路索引值。
为了实现源进源出,一个L2GW集群中包含多个L2GW节点,按其vtep_ip,从小到大排序,则有:链路索引值为0代表最小vtep_ip的L2GW节点,链路索引值为1代表次小vtep_ip的L2GW节点,以此类推。请求报文中,提取五元组,计算Hash值,选择的L2GW链路为:源端->L2GW1.1->L2GW2.2->目标端;响应报文,提取五元组,计算Hash值(和请求报文相同),选择的L2GW链路为:目标端->L2GW2.2->L2GW1.1->源端。
本申请中针对报文转发采用源进源出,能够充分利用L2GW节点自学习到的单播流表,减少不必要的广播泛洪,同时也方便运维管理。
在保证报文转发采用源进源出的L2GW节点之后,接下来介绍下报文转发过程中L2GW节点的自学习机制,如图8所示,示出了地址解析协议(Address ResolutionProtocol,ARP)报文广播泛洪的示意图。
对于ARP报文来说,采用所有L2GW节点通过广播泛洪进行转发ARP报文,能够让所有L2GW节点都学习到源端的单播VXLAN流表,让后续交互的业务报文可以有效地避免不必要的二次广播泛洪。避免业务报文计算出的Multipath Hash值不同于ARP报文计算出的Multipath Hash值,从而导致业务报文经过的L2GW节点和ARP报文经过的L2GW节点不同。并且NAT POD上的NAT网关为主备模式,当主备发生切换时,新的主备会对外发送免费ARP报文,其目的是希望其他节点能够快速地学习到新的主备所在的VXLAN。这里采用广播泛洪机制转发ARP报文,就可以让所有的L2GW节点快速学习到新的主备所在的VXLAN,最大程度减少主备切换过程的断流时间,故此本申请采用广播泛洪的机制进行报文的转发。
如图9所示,示出了L2GW节点与L2GW节点之间的VXLAN口和计算节点、NAT节点和虚拟网关节点之间的VXLAN口自学习示意图。无论是计算节点、NAT节点、虚拟网关节点还是L2GW计算节点集群或者L2GW NAT节点集群中的L2GW节点,其转发流表的设计都涉及自学习的机制。通常这些节点都存在两类VXLAN口,即:一类是与计算节点、NAT节点和虚拟网关节点之间的VXLAN口;另外一类是与L2GW节点之间的VXLAN口。
自学习机制一般是匹配从VXLAN口进入的报文,识别<内部VLAN,目的MAC>和<VNI,VXLAN口>的映射关系,从而自动生成单播的VXLAN流表,以便后续业务报文直接匹配单播VXLAN流表进行单播转发,减少广播泛洪。但是针对”与L2GW节点之间的VXLAN口”情况来说,如果继续采用上述通用的做法,自学习流表生成后,后续业务报文将不会再多个L2GW节点之间做流量负载分担,也即失去了L2GW集群的作用。因此,从与L2GW节点之间的VXLAN口进入的报文,将识别<内部VLAN,目的MAC>和<VNI,L2GW Group ID>的映射关系,生成对应的单播VXLAN流表。后续业务流匹配时,转到对应的L2GW Multipath Table继续做流量负载分担,因此充分利用L2GW集群的能力。
在介绍了L2GW节点自学习机制之后,接下来介绍跨POD的VXLAN报文转发过程。跨POD的VXLAN报文转发主要依靠OVS流表进行转发,转发报文经过的节点不同,采用的流表也不同。因此对计算节点、NAT节点、虚拟网关节点、L2GW计算节点和L2GW NAT节点所采用的流表分别进行介绍。
(1)计算节点和NAT节点对应的流表
如图10所示,计算节点和NAT节点都涉及br-tun网桥上的流表改进,改进部分为图10中虚线框中内容:
(i)增加L2GW转发流表:如图10所示的table=L2GW Group ID+100以及table=100。在这两部分中主要实现一个L2GW Group里多个L2GW Member之间的流量负载分担(采用Openflow Multipath)。但对于ARP报文而言,此类报文不需要进行流量负载的分担,而是需要采用广播泛洪的机制发给所有的L2GW Member。
(ii)广播泛洪:现有技术中原有br-tun的table=22为广播泛洪表,匹配这个表的流量会往所有的VXLAN口送出。本申请在引入L2GW后,广播泛洪列表里增加转向L2GWMultipath Table的动作,且允许多个。
(iii)自学习相关:现有技术中原有table=10为自学习流表,目的是能够学习到(内部VLAN ID,目的MAC)和(VNI,VXLAN口)的一一映射关系。本申请在引入L2GW后,增加了table=19,从L2GW Member VXLAN口进入的流量,自学习到table=19,接着对table=2改进时,匹配单播报文,先转向table=19处理(将L2GW Group ID寄存到REG2),再转向table=20处理。table=20增加匹配REG2=L2GW Group ID,转向L2GW Multipath Table,即:无论是广播还是单播报文都统一送给L2GW Multipath Table做流量负载分担(除ARP报文外)。
(2)虚拟网关节点对应的流表
如图11所示,虚拟网关节点涉及br-south网桥上的流表改进,改进部分为图11中虚线框中内容:
(i)增加L2GW转发流表:如图11所示的table=Group ID+100以及table=100。这部分的设计思想和前面所述的br-tun上的改造点一样,这里就不再赘述。
(ii)自学习相关:针对从L2GW Member VXLAN口进入的流量,自学习到table=1,而从计算节点、NAT节点、虚拟网关节点之间的VXLAN口进入的流量则自学习到table=2。在table=1上将Group ID寄存在REG2。在table=2上匹配REG2为Group ID、匹配一些特殊的目的MAC,都转向对应的L2GW Multipath Table。
(iii)广播泛洪相关:现有技术中原有table=22为广播泛洪表,匹配这个表的流量会往所有的VXLAN口送出。本申请在引入L2GW之后,广播泛洪列表里增加转向L2GWMultipath Table的动作,且允许多个。
(3)L2GW计算节点和L2GW NAT节点中的L2GW节点对应的流表
如图12所示,L2GW节点涉及br-L2GW网桥上的流表改进,由于L2GW计算节点和L2GWNAT节点均是本申请相对于现有技术新添加的节点,因此按照表5具体执行报文的转发。
表5
本申请中通过L2GW节点故障的检测和自动切换,能够自动检测L2GW节点的故障,当出现故障能够实现自动切换。针对L2GW负载分担,一个L2GW集群允许部署多个L2GW节点,能够在多个L2GW节点之间做流量负载分担,同时参与报文转发。当出现转发性能不足时,可灵活横向扩容,支撑更大的转发吞吐量。另外本申请方案具有高效的自学习机制:首先特殊对待ARP报文,采用广播泛洪的机制转发,可以使所有的L2GW节点通过ARP报文充分自学习,避免后续业务报文走不同的L2GW节点,造成不必要的广播泛洪;同时能够快速学习NAT网关的主备切换情况,最大程度减少主备切换断流时间;其次能够有效地区分L2GW VXLAN口和其他的VXLAN口,针对L2GW VXLAN口自学习到目的MAC和L2GW Group之间的关系,使之后续报文转发匹配VXLAN单播流表,引向L2GW Multipath Table实现单播流量依然负载分担,充分利用L2GW的转发资源。同时本申请可以保证流量的源进源出,通过请求报文经过某个L2GW节点后,其回应的报文依然从相同的L2GW节点回去,可以充分利用自学习到的VXLAN单播流表,避免回应报文二次广播泛洪。
因此本申请在L2GW节点上设计了可以高效自学习、源进源出、负载调度、故障自动切换机制的VXLAN报文转发方法。本申请在引入L2GW节点之后,采用的VXLAN隧道建立机制可以大幅度地减少所需VXLAN子接口的数量,那么VXLAN报文广播泛洪的范围也随之大幅度变小;本申请采用的VXLAN报文转发方法为计算节点、NAT节点以及虚拟网关节点大幅度地减少流表数量的同时,其报文转发方式更为高效、灵活、可靠,可以有效地支撑Openstack大规模集群下的VXLAN组网。本申请采用的方法相当于扩展现有技术中的路由隧道层级。
在介绍了本申请示例性实施方式的建立虚拟扩展局域网隧道的方法、虚拟扩展局域网报文转发的方法之后,接下来,介绍根据本申请的另一示例性实施方式的虚拟扩展局域网报文转发的装置。其中,虚拟扩展局域网架构包括前述的建立虚拟扩展局域网隧道的方法构建的虚拟扩展局域网隧道,所述第二层网关计算节点上还配置有多个第二层网关计算进程,所述第二层网关NAT节点上还配置有多个第二层网关NAT进程,如图13所示,所述装置1300包括:
接收模块1301,用于接收每个所述第二层网关计算进程和每个所述第二层网关NAT进程分别发送的第二层网关节点状态;
更新模块1302,用于根据每个所述第二层网关节点状态更新所述虚拟扩展局域网隧道和所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表;
转发模块1303,用于利用更新后的所述虚拟扩展局域网隧道和更新后的所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表对虚拟扩展局域网报文进行转发。
可选的,所述装置1300还包括:
在对所述虚拟扩展局域网报文转发完成后,向发送转发所述虚拟扩展局域网报文的终端发送转发完成指令时,采用的第二层网关节点与所述终端发送转发所述虚拟扩展局域网报文采用的第二层网关节点相同。
在介绍了本申请示例性实施方式的建立虚拟扩展局域网隧道的方法、虚拟扩展局域网报文转发的方法及装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的虚拟扩展局域网报文转发的方法中的步骤。例如,处理器可以执行如虚拟扩展局域网报文转发的方法中的步骤。
下面参照图14来描述根据本申请的这种实施方式的电子设备120。图14显示的电子设备120仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,电子设备120以通用电子设备的形式表现。电子设备120的组件可以包括但不限于:上述至少一个处理器121、上述至少一个存储器122、连接不同系统组件(包括存储器122和处理器121)的总线123。
总线123表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器122可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1221和/或高速缓存存储器1222,还可以进一步包括只读存储器(ROM)1223。
存储器122还可以包括具有一组(至少一个)程序模块1224的程序/实用工具1225,这样的程序模块1224包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备120也可以与一个或多个外部设备124(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备120交互的设备通信,和/或与使得该电子设备120能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口125进行。并且,电子设备120还可以通过网络适配器126与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器126通过总线123与用于电子设备120的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备120使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器122,上述指令可由处理器121执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器121执行时实现如本申请提供的虚拟扩展局域网报文转发的方法的任一方法。
在示例性实施例中,本申请提供的一种虚拟扩展局域网报文转发的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种虚拟扩展局域网报文转发的方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于虚拟扩展局域网报文转发的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程电子设备的处理器以产生一个机器,使得通过计算机或其他可编程电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程电子设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种建立虚拟扩展局域网隧道的方法,其特征在于,虚拟扩展局域网架构中包括:计算数据结构、NAT数据结构和虚拟网关数据结构,所述计算数据结构和所述NAT数据结构的数量均为至少一个,所述计算数据结构包括:计算节点和第二层网关计算节点,所述NAT数据结构包括:NAT节点和第二层网关NAT节点;所述虚拟网关数据结构包括:虚拟网关节点,所述方法包括:
基于所述计算数据结构中的任意一个所述计算节点与所述计算数据结构中除所述计算节点之外的其他计算节点构建第一虚拟扩展局域网隧道;
基于所述计算数据结构中的任意一个所述计算节点与所述计算数据结构中的所述第二层网关计算节点构建第二虚拟扩展局域网隧道;
基于所述NAT数据结构中的任意一个所述NAT节点与所述NAT数据结构中除所述NAT节点之外的其他NAT节点构建第三虚拟扩展局域网隧道;
基于所述NAT数据结构中的任意一个所述NAT节点与所述NAT数据结构中的所述第二层网关NAT节点构建第四虚拟扩展局域网隧道;
基于所述NAT数据结构中的任意一个所述NAT节点与每个所述计算数据结构中的所述第二层网关计算节点构建第五虚拟扩展局域网隧道;
基于所述虚拟网关节点与每个所述计算数据结构中的所述第二层网关计算节点构建第六虚拟扩展局域网隧道;
基于所述虚拟网关节点与每个所述NAT数据结构中的所述第二层网关NAT节点构建第七虚拟扩展局域网隧道;
基于所述计算数据结构中的所述第二层网关计算节点与除所述计算数据结构之外的计算数据结构中的第二层网关计算节点构建第八虚拟扩展局域网隧道;
基于所述NAT数据结构中的所述第二层网关NAT节点与所述虚拟网关节点构建第九虚拟扩展局域网隧道。
2.根据权利要求1所述的方法,其特征在于,所述第二层网关计算节点上配置有第一虚拟交换机进程;所述基于所述计算数据结构中的任意一个所述计算节点与所述计算数据结构中的所述第二层网关计算节点构建第二虚拟扩展局域网隧道,包括:
接收第一资源,并利用所述第一虚拟交换机进程监听所述第一资源;所述第一资源为第二层网关资源;
若所述第一资源中包括创建信息,则利用所述第一虚拟交换机进程从所述计算节点中获取到的信息和所述第一资源创建所述第二虚拟扩展局域网隧道。
3.根据权利要求1所述的方法,其特征在于,所述第二层网关NAT节点上配置有第二虚拟交换机进程;所述基于所述NAT数据结构中的任意一个所述NAT节点与每个所述计算数据结构中的所述第二层网关计算节点构建第五虚拟扩展局域网隧道,包括:
接收第二资源,并利用所述第二虚拟交换机进程监听所述第二资源;所述第二资源为第二层网关资源;
若所述第二资源中包括创建信息,则利用所述第二虚拟交换机进程从所述NAT节点中获取到的信息和所述第二资源创建所述第五虚拟扩展局域网隧道。
4.根据权利要求1所述的方法,其特征在于,所述第二层网关NAT节点上配置有第二虚拟交换机进程;所述基于所述NAT数据结构中的所述第二层网关NAT节点与所述虚拟网关节点构建第九虚拟扩展局域网隧道,包括:
接收第三资源,并利用所述第二虚拟交换机进程监听所述第三资源;所述第三资源为除第二层网关资源之外指定的资源;
若所述第三资源中包括创建信息,则利用所述第二虚拟交换机进程从所述虚拟网关节点中获取到的信息和所述第三资源创建所述第九虚拟扩展局域网隧道。
5.根据权利要求1所述的方法,其特征在于,所述第二层网关NAT节点上配置有第二虚拟交换机进程;所述基于所述NAT数据结构中的任意一个所述NAT节点与所述NAT数据结构中的所述第二层网关NAT节点构建第四虚拟扩展局域网隧道,包括:
接收第四资源,并利用所述第二虚拟交换机进程监听所述第四资源;所述第四资源为第二层网关资源;
若所述第四资源中包括创建信息,则利用所述第二虚拟交换机进程从所述NAT节点中获取到的信息和所述第四资源创建所述第四虚拟扩展局域网隧道。
6.一种虚拟扩展局域网报文转发的方法,其特征在于,虚拟扩展局域网架构包括如权利要求1-5中任一所述建立虚拟扩展局域网隧道的方法构建的虚拟扩展局域网隧道,所述第二层网关计算节点上还配置有多个第二层网关计算进程,所述第二层网关NAT节点上还配置有多个第二层网关NAT进程,所述方法包括:
接收每个所述第二层网关计算进程和每个所述第二层网关NAT进程分别发送的第二层网关节点状态;
根据每个所述第二层网关节点状态更新所述虚拟扩展局域网隧道和所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表;
利用更新后的所述虚拟扩展局域网隧道和更新后的所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表对虚拟扩展局域网报文进行转发。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在对所述虚拟扩展局域网报文转发完成后,向发送转发所述虚拟扩展局域网报文的终端发送转发完成指令时,采用的第二层网关节点与所述终端发送转发所述虚拟扩展局域网报文采用的第二层网关节点相同。
8.一种虚拟扩展局域网报文转发的装置,其特征在于,虚拟扩展局域网架构包括如权利要求1-5中任一所述建立虚拟扩展局域网隧道的方法构建的虚拟扩展局域网隧道,所述第二层网关计算节点上还配置有多个第二层网关计算进程,所述第二层网关NAT节点上还配置有多个第二层网关NAT进程,所述装置包括:
接收模块,用于接收每个所述第二层网关计算进程和每个所述第二层网关NAT进程分别发送的第二层网关节点状态;
更新模块,用于根据每个所述第二层网关节点状态更新所述虚拟扩展局域网隧道和所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表;
转发模块,用于利用更新后的所述虚拟扩展局域网隧道和更新后的所述计算节点、所述第二层网关计算节点、所述NAT节点、所述第二层网关NAT节点和所述虚拟网关节点分别对应的流表对虚拟扩展局域网报文进行转发。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
在对所述虚拟扩展局域网报文转发完成后,向发送转发所述虚拟扩展局域网报文的终端发送转发完成指令时,采用的第二层网关节点与所述终端发送转发所述虚拟扩展局域网报文采用的第二层网关节点相同。
CN202111619670.8A 2021-12-27 2021-12-27 建立vxlan隧道的方法、报文转发的方法及装置 Active CN114500169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111619670.8A CN114500169B (zh) 2021-12-27 2021-12-27 建立vxlan隧道的方法、报文转发的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111619670.8A CN114500169B (zh) 2021-12-27 2021-12-27 建立vxlan隧道的方法、报文转发的方法及装置

Publications (2)

Publication Number Publication Date
CN114500169A CN114500169A (zh) 2022-05-13
CN114500169B true CN114500169B (zh) 2024-01-02

Family

ID=81496150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111619670.8A Active CN114500169B (zh) 2021-12-27 2021-12-27 建立vxlan隧道的方法、报文转发的方法及装置

Country Status (1)

Country Link
CN (1) CN114500169B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242688B (zh) * 2022-07-27 2024-06-14 郑州浪潮数据技术有限公司 一种网络故障检测方法、装置以及介质
CN116055398A (zh) * 2022-12-29 2023-05-02 天翼云科技有限公司 一种vxlan集群系统的转发方法和系统节点
CN116248593A (zh) * 2022-12-30 2023-06-09 天翼云科技有限公司 一种流表关键字匹配方法、装置、电子设备和存储介质
CN117014371B (zh) * 2023-07-05 2024-10-18 曙光云计算集团股份有限公司 网络流量的处理方法、装置、电子设备及存储介质
CN117376061B (zh) * 2023-10-31 2024-08-06 中科驭数(北京)科技有限公司 服务访问方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135134A (zh) * 2017-03-29 2017-09-05 广东网金控股股份有限公司 基于虚拟交换机和sdn技术的私用网络接入方法和系统
CN107770062A (zh) * 2016-08-16 2018-03-06 北京金山云网络技术有限公司 一种数据包发送方法、装置及网络架构
WO2018086465A1 (en) * 2016-11-14 2018-05-17 Huawei Technologies Co., Ltd. Integrating physical and virtual network functions in a service-chained network environment
CN108880968A (zh) * 2017-05-11 2018-11-23 中兴通讯股份有限公司 软件定义网络中广播、组播实现方法及装置、存储介质
CN109218053A (zh) * 2017-07-03 2019-01-15 中兴通讯股份有限公司 虚拟数据中心的实现方法、系统和存储介质
CN112333076A (zh) * 2020-11-25 2021-02-05 中盈优创资讯科技有限公司 通过FlexE通道承载VXLAN业务的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016061188A1 (en) * 2014-10-14 2016-04-21 Midokura Sarl System and method for distributed flow state p2p setup in virtual networks
US9847938B2 (en) * 2015-07-31 2017-12-19 Nicira, Inc. Configuring logical routers on hardware switches
US20210266234A1 (en) * 2020-02-20 2021-08-26 Centurylink Intellectual Property Llc Over The Top Access Framework and Distributed NFVI Architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770062A (zh) * 2016-08-16 2018-03-06 北京金山云网络技术有限公司 一种数据包发送方法、装置及网络架构
WO2018086465A1 (en) * 2016-11-14 2018-05-17 Huawei Technologies Co., Ltd. Integrating physical and virtual network functions in a service-chained network environment
CN107135134A (zh) * 2017-03-29 2017-09-05 广东网金控股股份有限公司 基于虚拟交换机和sdn技术的私用网络接入方法和系统
CN108880968A (zh) * 2017-05-11 2018-11-23 中兴通讯股份有限公司 软件定义网络中广播、组播实现方法及装置、存储介质
CN109218053A (zh) * 2017-07-03 2019-01-15 中兴通讯股份有限公司 虚拟数据中心的实现方法、系统和存储介质
CN112333076A (zh) * 2020-11-25 2021-02-05 中盈优创资讯科技有限公司 通过FlexE通道承载VXLAN业务的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于SDN服务链的云平台数据中心安全技术探究;徐俭;;电视工程(04);全文 *
基于SDN的多租户网络私有云环境设计与实现;曹晨;《中国优秀硕士学位论文全文数据库》;全文 *

Also Published As

Publication number Publication date
CN114500169A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114500169B (zh) 建立vxlan隧道的方法、报文转发的方法及装置
US10659358B2 (en) Method and apparatus for advanced statistics collection
US11019143B2 (en) Adaptive gossip protocol
CN113273142B (zh) 通信系统和通信方法
CN106992874B (zh) 用于通信的方法和网络设备
CN114697252B (zh) 计算机网络方法、软件定义网络控制器及存储介质
CN113261240A (zh) 使用可编程客户机进行多租户隔离
CN110855509B (zh) 一种新型的云化软件定义分组传送网sptn网络架构的配置方法
US9331872B2 (en) Implementing PVLANs in a large-scale distributed virtual switch
CN113261242B (zh) 通信系统和由通信系统实现的方法
CN105850079B (zh) 双宿主部署中的vni至vlan映射冲突的自动解决
CN105162704B (zh) Overlay网络中组播复制的方法及装置
US10103980B1 (en) Methods and apparatus for maintaining an integrated routing and bridging interface
CN113302898A (zh) 将客户机-设备对等互联的虚拟路由控制器
CN113572831B (zh) Kubernetes集群间的通信方法、计算机设备及介质
CN116319529A (zh) 软件定义网络中的辅助复制
US10379890B1 (en) Synchronized cache of an operational state of distributed software system
CN113938405B (zh) 一种数据处理的方法、装置
US8717909B1 (en) Methods and apparatus for route installation acknowledgement and acknowledgement aggregation in BGP
Amamou et al. A trill-based multi-tenant data center network
CN114157668B (zh) 多租户跨集群的组网方法、通信系统和可读存储介质
CN107995031B (zh) 一种sdn网络的建立方法、系统及相关装置
Shpiner et al. SAL: Scaling data centers using smart address learning
US20210119826A1 (en) Layer-2 dedicated line network system and configuration method
EP4395246A1 (en) Data forwarding method and system, electronic device, and storage medium

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