CN112702252B - 一种报文处理方法、系统及相关设备 - Google Patents
一种报文处理方法、系统及相关设备 Download PDFInfo
- Publication number
- CN112702252B CN112702252B CN201911013839.8A CN201911013839A CN112702252B CN 112702252 B CN112702252 B CN 112702252B CN 201911013839 A CN201911013839 A CN 201911013839A CN 112702252 B CN112702252 B CN 112702252B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- virtual
- identifier
- message
- network
- 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
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000002955 isolation Methods 0.000 abstract description 12
- 239000010410 layer Substances 0.000 description 63
- 238000010586 diagram Methods 0.000 description 11
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 8
- 238000005129 volume perturbation calorimetry Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- BVIDQAVCCRUFGU-UHFFFAOYSA-M methyl sulfate;trimethyl(1-phenothiazin-10-ylpropan-2-yl)azanium Chemical compound COS([O-])(=O)=O.C1=CC=C2N(CC(C)[N+](C)(C)C)C3=CC=CC=C3SC2=C1 BVIDQAVCCRUFGU-UHFFFAOYSA-M 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003068 static effect Effects 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/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文处理方法及系统,该方法应用于物理机,其中,物理机包括虚拟交换机、第一虚拟机和第二虚拟机,第一虚拟机和第二虚拟机分别与虚拟交换机连接,第一虚拟机内设置针对不同租户的第一网络服务和第二网络服务。虚拟交换机接收封装有请求报文的叠加报文,该叠加报文携带解封装标识、租户标识以及虚拟机标识;虚拟交换机在解封装标识为预设值时,根据虚拟机标识将叠加报文发送至虚拟机标识对应的第一虚拟机;第一虚拟机对叠加报文进行解封装以获取请求报文,根据租户标识将请求报文发送至与租户标识对应的第一网络服务。通过使用租户标识来标识虚拟机内部的租户,实现租户之间的隔离,能够增加单个虚拟机支持的租户数量。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种报文处理方法、系统及相关设备。
背景技术
随着云技术的发展,公有云一般都提供虚拟私有云(virtual private cloud,VPC)服务,同时需要提供网关服务。网关在组网时一般采用物理服务架构部署在网络服务区,采用物理服务器提供网关服务的方式存在网关弹性扩容难、资源规划不同意等问题。亚马逊网络服务(amazon web services,AWS)使用网络功能虚拟化(network functionvirtualization,NFV)资源池的方案提供网关集群服务,能够解决网关弹性扩容难的问题。现有公有云厂商一般都提供虚拟支持多网卡的特性,租户区的虚拟机一张虚拟网卡是属于某一个具体的VPC,多张虚拟网卡属于不同的VPC,这样可以实现多租户的能力,不过,公有云厂商提供虚拟机多网卡的特性,都有数量限制,比如:一个虚拟机最多提供十张虚拟网卡,这样一个虚拟机最多提供给十个租户使用,现有技术虚拟机支持的租户数量不足。
发明内容
本申请实施例公开了报文处理方法、系统及相关设备,能够提高单个虚拟机支持的租户数量。
第一方面,本申请实施例提供了一种报文处理方法,应用于物理机,该物理机包括虚拟交换机、第一虚拟机和第二虚拟机,第一虚拟机和第二虚拟机分别与虚拟交换机连接,第一虚拟机内设置有针对不同租户的第一网络服务和第二网络服务,该方法包括:
虚拟交换机接收封装有请求报文的叠加报文,叠加报文携带有解封装标识、租户标识以及虚拟机标识,叠加报文的外层目的地址是所述虚拟交换机的网络地址,所述虚拟机标识用于标识所述第一虚拟机,所述租户标识用于标识所述第一网络服务;虚拟交换机在解封装标识为预设值的情况下,根据虚拟机标识将叠加报文发送至第一虚拟机;第一虚拟机对叠加报文进行解封装以获取请求报文,根据租户标识将请求报文发送至与租户标识对应的第一网络服务。
上述方案中,通过使用租户标识来标识虚拟机内部的租户,实现租户之间的隔离的方法,相对于为虚拟机内每个租户配置一张虚拟网卡,单个虚拟机最多提供十张网卡,即单个虚拟机最多提供给是个租户使用的方式,上述方案能够增加单个虚拟机支持的租户数量。另外,通过虚拟机标识表示物理机内的一个虚拟机,可以避免采用网络协议IP地址标识虚拟机时,占用地址过多的问题。
在一种可能的实施例中,虚拟交换机在解封装标识为预设值的情况下,根据虚拟机标识将叠加报文发送至第一虚拟机,包括:虚拟交换机在解封装标识为预设值的情况下,根据虚拟机标识与虚拟网卡的对应关系,确定虚拟机标识对应的虚拟网卡,其中,上述虚拟网卡设置于第一虚拟机;虚拟交换机将叠加报文发送至第一虚拟机的虚拟网卡。
虚拟交换机接收到叠加报文之后,根据叠加报文中的解封装标识确定对叠加报文进行解封装的位置,在解封装标识为预设值时,确定由虚拟机对叠加报文进行解封装。虚拟交换机然后根据叠加报文中的虚拟机标识确定叠加报文应该发送到的目的虚拟机,然后根据虚拟机标识与虚拟机网卡的对应关系,将叠加报文发送给对应的虚拟网卡。通过解封装标识确定由虚拟机对叠加报文进行解封装,并根据虚拟机标识将叠加报文发送至对应的虚拟机,由叠加报文对应的目的虚拟机对叠加报文进行解封装,减少虚拟交换机进行解封装的报文的数量。
在一种可能的实施例中,上述虚拟机标标识为上述叠加报文中的外层目的地址与虚拟机编号,上述外层目的地址为虚拟交换机的网络地址,通过物理机中虚拟交换机的目的地址与虚拟机编号来标识物理机内的一个虚拟机,能够减少虚拟机占用的网络地址。
在一种可能的实施例中,所述租户标识为虚拟可扩展局域网VXLAN报文中的虚拟网络标识VNI,所述第一网络服务和所述第二网络服务设置有相同的IP地址,所述请求报文的目的IP地址是所述第一网络服务和所述第二网络服务设置的IP地址,所述根据所述租户标识将所述请求报文发送至与所述租户标识对应的第一网络服务,包括:所述第一虚拟机根据所述VNI与虚拟局域网VLAN子接口的对应关系,确定VLAN子接口,所述VLAN子接口对应有VLAN标识;所述第一虚拟机将所述VLAN标识添加至所述请求报文;所述第一虚拟机根据所述VLAN标识与所述请求报文的目的IP地址将所述请求报文发送至所述第一网络服务。
上述方案中,通过VXLAN报文中的VNI标识一个租户,每个VNI与一个VLAN子接口建立对应关系,从而通过VLAN子接口实现虚拟机内部租户的隔离,相对于采用命名空间(namespace)进行租户隔离,能够增加单个虚拟机支持的租户的数量。
在一种可能的实施例中,上述叠加报文为虚拟可扩展局域网VXLAN报文,上述虚拟机标识承载于VXLAN报文的外层用户数据报协议UDP头部的源端口字段中。
在一种可能的实施例中,上述解封装标识承载于VXLAN报文的VXLAN头部的保留字段中。
第二方面,本申请实施例提供一种报文处理系统,该系统设置于物理机内,该系统包括:虚拟交换机、第一虚拟机和第二虚拟机,第一虚拟机和第二虚拟机分别与虚拟交换机连接,第一虚拟机内设置有针对不同租户的第一网络服务和第二网络服务,其中,
虚拟交换机,用于:接收封装有请求报文的叠加报文,叠加报文携带有解封装标识、租户标识以及虚拟机标识,叠加报文的外层目的地址是虚拟交换机的网络地址,虚拟机标识用于标识所述第一虚拟机,租户标识用于标识所述第一网络服务;
在解封装标识为预设值的情况下,根据虚拟机标识将叠加报文发送至第一虚拟机;
第一虚拟机,用于对叠加报文进行解封装以获取请求报文,根据租户标识将请求报文发送至与租户标识对应的第一网络服务。
在一种可能的实施例中,所述虚拟交换机具体用于:在所述解封装标识为预设值的情况下,根据所述虚拟机标识与虚拟网卡的对应关系,确定所述虚拟机标识对应的虚拟网卡,其中,所述虚拟网卡设置于所述第一虚拟机;将所述叠加报文发送至所述第一虚拟机的所述虚拟网卡。
在一种可能的实施例中,所述第一网络服务和所述第二网络服务设置有相同的IP地址,所述请求报文的目的IP地址是所述第一网络服务和所述第二网络服务设置的IP地址,所述第一虚拟机具体用于:根据所述VNI与虚拟局域网VLAN子接口的对应关系,确定所述VNI对应的VLAN子接口,所述VLAN子接口对应有VLAN标识;将所述VLAN标识添加至所述请求报文;根据所述VLAN标识与所述请求报文的目的IP地址将所述请求报文发送至所述第一网络服务。
在一种可能的实施例中,所述叠加报文为虚拟可扩展局域网VXLAN报文,所述虚拟机标识承载于所述VXLAN报文的外层用户数据报协议UDP头部的源端口字段中。
在一种可能的实施例中,所述解封装标识承载于所述VXLAN报文的VXLAN头部的保留字段中。
第三方面,本申请实施例提供一种计算机设备,包括处理器、输入输出设备以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述输入输出设备用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行如第一方面或者第一方面的任意可能实施例中所描述方法。
第四方面,本申请实施例提供一种非瞬态计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或者第一方面的任意可能实施例中所描述方法所述的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种VXLAN报文的示意图。
图2是本申请实施例提供的一种应用场景的架构图。
图3是本申请实施例提供的一种虚拟机内部示意图。
图4是本申请实施例提供的另一种虚拟机内部示意图。
图5是本申请实施例提供的一种报文处理方法的流程示意图。
图6是本申请实施例提供的一种VXLAN报文外层封装示意图。
图7是本申请实施例提供的一种报文处理装置的结构示意图。
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了帮助本领域技术人员更好地理解本申请的技术方案,首先对本申请实施例中所涉及到的一些概念进行介绍。
虚拟私有云(virtual private cloud,VPC)是一套通过云服务器构建的逻辑隔离的、由用户自主配置和管理的虚拟网络环境。用户可以在VPC中自由选择IP地址范围、创建多个子网、自定义安全组以及配置路由表和网关等,方便地管理和配置网络,进行安全、快捷的网络变更。同时,可以通过自定义安全组内与组间云服务器的访问规则以及防火墙等多种安全层,加强对子网中云服务器的访问控制。
虚拟可扩展局域网(virtual extensible local area network,VXLAN)是一种叠加(overlay)网络技术,是采用L2over L4的报文封装模式,将二层报文用三层协议进行封装,实现二层网络在三层范围内进行扩展,满足数据中心大二层虚拟迁移和多租户的需求的技术。
VXLAN报文是采用VXLAN技术将虚拟网络的数据帧添加VXLAN首部后,封装在物理网络中的用户数据报协议(user datagram protocol,UDP)报文中,生成的一个包括外层VXLAN封装与内层原始报文的报文。如图1所示,外层VXLAN封装包括外层以太网头、外层互联网协议(internet protocol,IP)头、外层UDP头和VXLAN头;内层原始报文包括内层以太头、内层IP头以及载荷等。
其中,外层以太网头包括外层目的物理地址(media access control address,MAC)以及外层源MAC地址等;外层IP头包括外层源IP地址、外层目的IP地址以及协议号等;外层UDP头包括外层UDP源端口、外层UDP目的端口、UDP长度以及UDP校验和等;VXLAN头包括24比特(bit)的VXLAN网络标识(VXLAN network identifier,VNI)以及预留字段等,VNI用于标识一个VXLAN段,区分VXLAN网络中的不同租户。内层以太头包括内层目的MAC地址与内层源MAC地址等;内层IP头包括内层源IP地址与内层目的IP地址等。
VXLAN隧道端点(VXLAN tunnel end point,VTEP)是VXLAN的边缘设备,用于VXLAN识别以太网数据帧、基于VXLAN对数据帧进行二层转发、对报文进行封装与解封装等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在服务器中的虚拟交换机,例如,在部署了多台虚拟机的主机中,可以由虚拟机管理程序(hypervisor)中的虚拟交换机(virtualswitch,vSwitch)担当VTEP。其中,上述VXLAN报文中,外层源MAC地址为发送报文的虚拟机所属的VTEP的MAC地址,外层目的MAC地址为报文到达目的VTEP的路径中下一跳设备的MAC地址。外层源IP地址为发送报文的虚拟机所属的VTEP的IP地址,外层目的IP地址为目的虚拟机所属的VTEP的IP地址。
下面结合图2,对本申请实施例应用系统架构进行介绍。VXLAN的一种组网结构为脊-叶(spine-leaf)二层网络拓扑结构,如图2所示,在一个公有云或者私有云的场景中,VXLAN网络包括核心层交换机和接入层交换机,每个接入层交换机为多个物理机中的虚拟机(virtual machine,VM)提供接入服务。租户区的物理服务器均被虚拟化成多台虚拟机,虚拟机通过交换机相互通信。租户区中的虚拟机可以发放多个虚拟私有云(virtualprivate cloud,VPC),图2中以四台物理机,每台物理机包括两个VM为例,图中包括两个VPC,每个VPC包括3个VM,每个VM中包括VM的操作系统(operating system,OS)与租户应用程序(application,app),其中,VPC1包括VM1、VM3与VM5,VPC2包括VM2、VM4与VM6,即物理机1、物理机2和物理机4中的虚拟机为租户使用。而物理机3中发放两个虚拟机VM7和VM8用作网关服务,每个虚拟机中运行多个应用程序proxy,可以同时为上述VPC1和VPC2中的虚拟机提供负载均衡、地址转换等网络服务。
如图3所示,图3中示出了虚拟机的内部示意图。图3中,用作网关服务的虚拟机实现多租户时,虚拟机采用VLAN组网,虚拟机从VTEP地址空间中分配IP地址,例如,物理机3中的虚拟机交换机的VTEP地址10.10.10.11,VM7的VTEP地址为10.10.10.12,VM8的VTEP地址为10.10.10.13。不同租户之间通过命名空间(namespace)进行隔离,例如图3中的ns1和ns2。当用于网关服务的虚拟机对应的hypervisor中的虚拟交换机接收到VXLAN报文后,根据VXLAN报文外层IP头中的目的IP地址,确定该VXLAN报文的目标虚拟机,然后将VXLAN转发给目标虚拟机。目标虚拟机中的虚拟交换机在接收到VXLAN报文之后,将该VXLAN报文进行解封装,去掉VXLAN报文的外层VXLAN封装,得到内层的原始报文,并获取VALAN头中的VNI,根据VNI与namespace之间的对应关系,确定上述原始报文对应的目标网络服务,最后将原始报文发送至目标网络服务。例如,当hypervisor中的虚拟交换机接收到一个VXLAN报文之后,获取到外层目的IP地址为10.10.10.12,虚拟交换机确定该VXLAN报文的目标虚拟机为VM7,然后将该VXLAN报文发送至VM7。VM7中的虚拟交换机将该VXLAN报文进行解封装得到内层原始报文,并获取VALAN头中的VNI,若VNI对应ns1,则将原始报文发送至ns1对应的网络服务。
上述用于网关服务的虚拟机实现多租户的方法中,用于网关服务的物理机中的每个虚拟机都需要配置一个VTEP地址,在云场景中,租户数量众多,需要提供的用于网关服务的虚拟机也会大量增加,每个虚拟机需要配置对应的VTEP地址,会导致VTEP地址占用过多。例如一个公有云厂商一个区域至少有十万服务器,如果按照百分之二的服务器作为网关服务器,则需要两千网关服务器,每个网关服务器中部署十个虚拟机,则需要两万个VTEP地址。另外,上述用于网关服务的虚拟机在实现多租户时,采用namespace来实现多租户的资源隔离,但是采用namespace实现隔离时,一个虚拟机内部使用的namespace数量越多,隔离性能也会越低。
针对上述问题,本申请提供一种报文处理方法,该方法中,通过对虚拟机进行编号,采用虚拟机所属的VTEP的VTEP地址加虚拟机编号的方式来唯一标识网络中的一台虚拟机。如图4所示,物理机1中发放的是租户虚拟机,物理机2中发放的是用作网关服务的网关虚拟机,物理机2中包括虚拟交换机与多个虚拟机,以第一虚拟机与第二虚拟机两个虚拟机为例,上述第一虚拟机与第二虚拟机分别与虚拟交换机连接,采用虚拟交换机作为VTEP节点。虚拟交换机的VTEP地址为10.10.10.11,若第一虚拟机与第二虚拟机的编号分别为01和02,则第一虚拟机的虚拟机标识为10.10.10.11+01,第二虚拟机的虚拟机标识为10.10.10.11+02。在虚拟机内设置有针对不同租户的第一网络服务和第二网络服务,第一网络服务和第二网络服务设置有相同的IP地址,同时采用VLAN子接口的方式实现租户隔离,通过建立虚拟机对应的VLAN子接口与报文中的租户标识之间的对应关系,在虚拟机接收到报文之后,通过租户标识与VLAN子接口之间的对应关系确定报文所述的租户。通过上述VTEP地址与虚拟机编号唯一标识物理机中的一台虚拟机并建立VLAN子接口与租户标识的对应关系之后,本申请实施例提供的报文处理方法如图5所示,该报文处理方法包括:
S102、虚拟交换机接收封装有请求报文的第一叠加报文。
本申请实施例中,虚拟交换机接收的第一叠加报文中携带有解封装标识、租户标识以及虚拟机标识,解封装标识用于指示对叠加报文进行解封装的位置;虚拟机标识用于指示叠加报文需要发往的目标虚拟机,虚拟交换机根据虚拟机标识将接收到的叠加报文或者解封装之后得到的请求报文发送至对应的目标虚拟机;租户标识用于指示叠加报文所属的租户,虚拟机根据租户标识将请求报文发送给对应租户的网络服务。
本申请实施例中,通过采用虚拟交换机的VTEP地址与虚拟机编号的方式来唯一标识物理机内部的虚拟机,一台物理机上既有虚拟机内承载overlay,也有主机承载overlay,因此虚拟交换机在接收到叠加报文之后,需要区分是虚拟机承载overlay还是主机承载overlay。当上述解封装标识为第一预设值时,表示虚拟机承载overlay,虚拟交换机需要将接收到的叠加报文发送给对应虚拟机进行解封装。
当上述解封装标识为第二预设值时,表示主机承载overlay,则虚拟交换机在接收到叠加报文之后,由虚拟交换机对叠加报文进行解封装,然后将解封装之后得到的请求报文进行广播,任意一个虚拟机在接收到请求报文之后,确定请求报文中的目的IP地址是否与该虚拟机内网络服务的IP地址相同,若相同,则保留请求报文并对请求报文做进一步的处理;若不相同,则将请求报文丢弃。其中,第一预设值例如为1,第二预设值例如为0,或者第一预设值为11,第二预设值为00,本申请实施例不做具体限定。
S104、虚拟交换机在解封装标识为第一预设值的情况下,根据虚拟机标识将第一叠加报文发送至第一虚拟机。
虚拟交换机在接收到上述第一叠加报文之后,获取第一叠加报文中解封装标识的值,在解封装标识的值为第一预设值的情况下,虚拟交换机确定为虚拟机承载overlay,需要将该第一叠加报文发送给虚拟交换机连接的一个虚拟机进行解封装。虚拟交换机获取第一叠加报文中的虚拟机标识,例如,虚拟交换机获取到第一叠加报文的外层目的IP地址为10.10.10.11,虚拟机编号为01,则第一叠加报文中的虚拟机标识为10.10.10.11+01。虚拟交换机根据虚拟机标识中的虚拟机编号01,确定该虚拟机编号对应的第一虚拟机VM7,然后将该第一叠加报文发送至第一虚拟机。
本申请实施例中,上述虚拟交换机中维护有虚拟机标识与虚拟网卡的对应关系表,如图4中所示,第一虚拟机VM7的虚拟机标识与虚拟网卡eth0.1对应,第二虚拟机VM8的虚拟机标识与虚拟网卡eth0.2对应。在虚拟机交换机获取到上述虚拟机标识之后,首先根据虚拟机标识与虚拟网卡的对应关系,确定虚拟机标识对应的虚拟机网卡,然后将该叠加报文发送至该虚拟机标识对应的虚拟网卡。
S106、第一虚拟机对第一叠加报文进行解封装以获取请求报文,根据所述租户标识将请求报文发送至与租户标识对应的第一网络服务。
第一虚拟机为多个租户提供网关服务,并且为每一个租户提供不同的网络服务。第一虚拟机接收上述第一叠加报文之后,对第一叠加报文进行解封装获取第一叠加报文中的请求报文,然后获取第一叠加报文中的租户标识,以确定该请求报文属于第一虚拟机内的哪一个租户,进而将该请求报文发送至与该租户标识对应的第一网络服务。
本申请实施例中,用于网关服务的虚拟机内部包括一个内核模块,内核模块内维护有租户标识与VLAN子接口映射关系表,在第一虚拟机获取到第一叠加报文中的租户标识之后,根据租户标识与VLAN子接口的映射关系表,确定与该租户标识对应的VLAN子接口对应的VLAN标识(VLAN identification,VLAN ID),然后将请求报文打上该租户标识对应的VLAN ID,再将请求报文通过VLAN ID对应的子接口发送至第一网络服务。
本申请实施例中,虚拟机内部的各个租户的proxy应用程序会监听在socket上,在proxy建立socket后,socket会向虚拟机的操作系统通告其监听的VLAN子接口,虚拟机的操作系统会建立socket与VLAN子接口之间的对应关系,使proxy应用程序的socket监听在对应的VLAN子接口上,即proxy应用程序的监听方式为监听VLAN子接口与IP的方式。因此,不同租户标识对应的proxy的IP地址即使重叠,但是由于监听方式为监听VLAN子接口与IP地址,不同的租户标识对应不同的VLAN子接口,在将请求报文打上租户标识对应的VLANID之后,即可以实现不同租户的流量隔离,将不同租户的流量准确发送给不同租户对应的网络服务。
在一种可能的实施例中,上述第一叠加报文为VXLAN报文,该第一叠加报文的外层VXLAN封装如图1中所示,上述解封装标识可以承载在VXLAN头的预留字段中。上述VXLAN头包括8个字节,第一字节为VXLAN标志位(VXLAN flags),其中标志位I设置为1,表示一个合法的VXLAN头,其余标志位预留;第二字节至第四字节为预留部分,第五字节至第七字节为VNI,用来表示一个逻辑网络;第八字节同样为预留字段。因此,可以采用VXLAN头的预留字段中的比特位承载解封装标识,例如,采用第一字节中的第3bit位承载解封装标识,当该比特位置1时,表示虚拟机承载overlay,当该比特位置0时,表示主机承载overlay。也可以采用预留的两个比特位承载解封装标识,例如,采用第一字节中的第2bit位与第3bit位承载解封装标识,当这两个比特位为11时,表示虚拟机承载overlay,当这两个比特位为01时,表示主机承载overlay。
上述虚拟机标识中的虚拟机编号可以承载在VXLAN报文中外层UDP头的源端口字段中,具体的,可以承载在外层UDP头的源端口字段的低8bits中。上述虚拟机标识包括虚拟机所连接的虚拟交换机的VTEP地址与虚拟机编号。其中,虚拟交换机的VTEP地址为第一叠加报文的外层目的IP地址,即上述VXLAN报文中外层IP头中的外层目的IP地址,虚拟交换机所在的物理机通过外层目的IP地址将第一叠加报文发送至虚拟交换机,虚拟交换机在接收到第一叠加报文之后,通过外层UDP头的源端口字段中的低8位,确定第一叠加报文属于该虚拟交换机连接的多个虚拟机中的目标虚拟机。
上述租户标识可以是VXLAN头部的VNI字段,每个VNI的值标识一个租户。上述VNI字段包括24bits,因此最多可以支持16兆的VXLAN段,即可以支持16兆个租户,而每个虚拟机内部采用VLAN ID隔离用户,每个虚拟机内部可以支持4096个用户,因此每个VLAN ID可以对应一个VNI,可以采用VNI字段用于区分虚拟机内部的不同租户。
通过实施本申请实施例,在实现网关服务的虚拟机中,采用VTEP地址与虚拟机编号的方式来唯一标识网络中的一个虚拟机,能够减少网关虚拟机占用的VTEP地址,例如,一个公有云厂商一个区域至少有十万个服务器,如果按照百分之二的服务器作为网关服务器,则需要两千个网关服务器,每个网关服务器中部署十个虚拟机,则需要两万个VTEP地址。采用本申请实施例中的方法,每个网关服务器只需要为hypervisor中的虚拟交换机分配一个VTEP地址,从而能够减少大量VTEP地址。在虚拟机内部采用VLAN子接口实现租户的隔离,在虚拟机内部新增一个内核模块,用于记录租户标识与VLAN子接口的映射关系,在虚拟机接收到叠加报文后,通过内核模块对叠加报文进行解封装,然后通过报文中的租户标识以及租户标识与VLAN子接口的映射关系,确定租户标识对应的VLAN ID,然后将请求报文打上对应的VLAN ID后,通过对应的VLAN子接口发送至租户标识对应的网络服务。采用VLAN子接口实现租户的隔离,一个虚拟机内部最多能够支持4096个租户,并且在租户数量增多的同时,隔离性能不会明显降低。
下面以第一叠加报文为VXLAN报文为例,对本申请实施例提供的报文处理方法进行介绍。如图4所示,以物理机中包括一个虚拟交换机和两个网关虚拟机VM7与VM8为例,虚拟交换机的IP地址为10.10.10.11。VM7和VM8配置的虚拟网卡分别是eth0.1和eth0.2,其中,VM7和VM8的虚拟机编号分别为01和02,则VM7的虚拟机标识为10.10.10.11+01,VM8的虚拟机标识为10.10.10.11+02,虚拟交换机内维护有虚拟机标识与虚拟网卡之间的对应关系表,例如虚拟机标识10.10.10.11+01对应虚拟网卡eth0.1,虚拟机标识10.10.10.11+02对应虚拟网卡eth0.2。虚拟机内部包括内核模块以及多个proxy应用程序,每个proxy对应一个socket,每个socket对应一个VLAN子接口,每个VLAN子接口对应一个VNI,每个虚拟机的内核模块中维护有VNI与VLAN子接口的对应关系表,例如VNI值为1000的对应VLAN子接口的VLAN ID为eth0.100,VNI值为1001的对应VLAN子接口的VLAN ID为eth0.200。
若上述虚拟交换机接收到一个第一叠加报文,该第一叠加报文的外层VXLAN封装如图6所示,虚拟交换机在接收到第一叠加报文之后,获取VXLAN头部第一字节中的第2bit位与第3bit位的值为11,则确定为虚拟机承载overlay。进而虚拟交换机获取外层IP头的外层目的IP地址以及外层UDP头中源端口的低八位,得到外层目的IP地址为10.10.10.11,外层UDP头中源端口的低八位的值为01,确定虚拟机标识为10.10.10.11+01。然后虚拟交换机根据上述虚拟机标识与虚拟网卡之间的对应关系表,确定10.10.10.11+01对应的虚拟网卡是eth0.1,则虚拟交换机将第一叠加报文通过发送至VM7的虚拟网卡。
VM7在接收到上述第一叠加报文之后,VM7中的内核模块将对第一叠加报文进行解封装,得到第一叠加报文中的请求报文。然后内核模块获取VXLAN头中的VNI字段的值为1000,根据VNI字段的值以及VNI与VLAN子接口的对应关系表,确定第一叠加报文中的VNI对应的VLAN子接口为eth0.100,然后将请求报文打上该VNI对应的子接口的VLAN ID。由于每个proxy应用程序对应一个socket,每个socket监听在对应的VLAN子接口上,因此将请求报文打上VLAN ID之后,即可通过对应的子接口发送至该VNI表示的租户对应第一网络服务。
在一种可能的实施例中,上述虚拟交换机在接收到第二叠加报文时,在上述解封装标识为11的情况下,获取外层IP头的外层目的IP地址以及外层UDP头中源端口的低八位,得到外层目的IP地址为10.10.10.11,外层UDP头中源端口的低八位的值为02,虚拟机标识为10.10.10.11+02。然后虚拟交换机根据上述虚拟机标识与虚拟网卡的对应关系表,确定10.10.10.11+02对应的虚拟网卡为第二虚拟机的虚拟网卡,然后将该叠加报文发送至第二虚拟机的虚拟网卡VM8的内核模块在接收到第二叠加报文之后,该内核模块对第二叠加报文的处理方法可参照VM7中的内核模块对第二叠加报文的处理方法,在此不再赘述。
在一种可能的实施例中,上述第一网络服务可以是负载均衡服务(load balance,LB),负载均衡服务根据转发策略将访问流量分发给负载较轻的租户虚拟机。具体的,第一网络服务获取负载较轻的目标虚拟机的MAC地址、IP地址、目标虚拟机所属的VTEP的VTEP地址以及第一叠加报文中的VNI,然后根据目标虚拟机的MAC地址、IP地址、VNI以及目标虚拟机所属的VTEP的IP地址将请求报文进行VXLAN封装,生成新的VXLAN报文后发送给目标虚拟机。上述第一网络服务还可以是地址转换服务,在第一虚拟机接收到上述请求报文之后,第一虚拟机的第一网络服务将该请求报文的目的地址进行转换,得到包含目标虚拟机地址的新请求报文,并根据新请求报文中目标虚拟机地址确定目标虚拟机所属的VTEP地址,然后将新请求报文根据目标虚拟机地址以及目标虚拟机所属的VTEP地址,将新请求报文进行封装并发送给目标虚拟机。
在一种可能的实施例中,若上述示例中的VM7和VM8用作弹性负载均衡服务(elastic load balance,ELB),则在虚拟交换机接收第一叠加报文之前,ELB管理者会调运云管理系统的应用程序编程接口(application programming interface,API),发放一个虚拟机集群,用作ELB的转发池。云管理系统在接收到ELB管理者创建网关虚拟机的创建请求之后,从上述转发池中选取一个合适的虚拟机启动,例如启动上述VM7,然后云管理系统会将VM7的位置信息通告给其他物理机上的hypervisor。上述位置信息包括该虚拟机的MAC地址、所属的VTEP的VTEP地址、VNI号以及虚拟机编号等,示例性的,通报报文格式如下:{MAC:48:57:02:44:19:88,VNI:1000,VTEP:10.10.10.11,Number:1}。
租户会通过ELB管理者发放一个LB实例,ELB管理者会间隔预设时长调用云管理系统的API查询上述VM7是否发放完成,在VM7发放完成后,ELB管理者会将上述LB实例与VM7之间进行关联并将该LB实例与VM7的关联关系存储到ELB管理者对应的数据库中。同时将该LB实例的配置信息关联存储到数据库中,上述配置信息包括该实例提供的服务类型、负载均衡转发策略、带宽等信息。另外,ELB管理者会调用云管理系统的API申请一个IP地址,该IP地址用作LB实例的proxy应用程序接收流量。例如申请到的VM7的proxy对应的IP地址为192.168.1.2,ELB管理者会获取该IP地址对应的网络的VNI(如:10000),然后将该IP地址与VNI关联存储在数据库中的配置信息中。同时,云管理系统会将该IP地址与对应的MAC以及虚拟机编号发送给其他物理机。
虚拟机发放完成并运行之后,虚拟机会启动一个脚本去对象存储服务(ObjectStorage Service)中取ELB代理(ELB-agent)的版本包并进行部署,ELB-agent运行后会自动连接ELB管理者并读取数据库中的配置信息,然后根据配置信息配置如图4中所示的虚拟拓扑。具体的,首先在虚拟机本身的网卡上,建立一个或者多个VLAN虚拟子接口,如图中的eth0.100;然后建立VNI与VLAN子接口的映射关系,并将映射关系发送给内核模块存储;再建立proxy应用程序的socket,使socket监听192.168.1.2以及对应的VLAN子接口eth0.100;最后配置回程路由,以使回程报文00能够从eth0.100发送出去。通过上述配置之后,虚拟机能够实现上述实施例中描述的报文处理方法并提供网关服务。
上文中结合图1至图6详细描述了根据本申请实施例所提供的分布式事务提交方法,下面将结合图7至图8,描述根据本申请实施例所提供的报文处理的相关装置与设备。参见图7,图7是本申请实施例提供的一种报文处理系统的结构示意图,该报文处理系统位于物理机内,该系统700包括:虚拟交换机710、第一虚拟机720和第二虚拟机730。其中,虚拟机交换机710、第一虚拟机720和第二虚拟机730的部署以及内部结构示意图可分别参照上述方法实施例中虚拟交换机、VM7和VM8,在此不再赘述。
虚拟交换机710,用于:接收封装有请求报文的叠加报文,该叠加报文携带有解封装标识、租户标识以及虚拟机标识,该叠加报文的外层目的地址是所述虚拟交换机的网络地址,上述虚拟机标识用于标识所述第一虚拟机,上述租户标识用于标识所述第一网络服务;
在一种可能的实施例中,上述叠加报文为VXLAN报文,该叠加报文的外层VXLAN封装如图1中所示,上述解封装标识可以承载在VXLAN头的预留字段中。具体的,解封装标识的承载方式可参照上述方法实施例中的相关阐述,在此不再赘述。
上述虚拟机标识中的虚拟机编号可以承载在VXLAN报文中外层UDP头的源端口字段中,具体的,可以承载在外层UDP头的源端口字段的低8bits中。上述虚拟机标识包括虚拟机所连接的虚拟交换机的VTEP地址与虚拟机编号。其中,虚拟交换机的VTEP地址为第一叠加报文的外层目的IP地址,即上述VXLAN报文中外层IP头中的外层目的IP地址,虚拟交换机所在的物理机通过外层目的IP地址将第一叠加报文发送至虚拟交换机,虚拟交换机在接收到第一叠加报文之后,通过外层UDP头的源端口字段中的低8位,确定第一叠加报文属于该虚拟交换机连接的多个虚拟机中的目标虚拟机。
上述租户标识可以是VXLAN头部的VNI字段,每个VNI的值标识一个租户。上述VNI字段包括24bits,因此最多可以支持16兆的VXLAN段,即可以支持16兆个租户,而每个虚拟机内部采用VLAN ID隔离用户,每个虚拟机内部可以支持4096个用户,因此可以采用VNI字段用于区分虚拟机内部的不同租户。
虚拟交换机710,还用于在所述解封装标识为预设值的情况下,根据所述虚拟机标识确定将叠加报文发送至第虚拟机还是第二虚拟机,在上述虚拟机标识对应的是第一虚拟机的情况下,将所述叠加报文发送至所述第一虚拟机。
虚拟交换机710在接收到叠加报文之后,根据虚拟机标识与虚拟网卡的关系,将叠加报文发送至第一虚拟机。具体的,虚拟交换机710将叠加报文发送至第一虚拟机的过程可参照上述方法实施例S104中的描述,在此不再赘述。
第一虚拟机720,用于对所述叠加报文进行解封装以获取所述请求报文,根据所述租户标识将所述请求报文发送至与所述租户标识对应的所述第一网络服务。第一虚拟机720在接收到叠加报文之后,根据租户标识与VLAN子接口的对应关系,将请求报文发送至第一网络服务。具体的,第一虚拟机720将请求报文发送至第一网络服务的过程可参照上述方法实施例S106中的描述,在此不再赘述。
参见图8,图8是本申请实施例提供的一种计算机设备的结构示意图,该服务器800包括:一个或者多个处理器810、通信接口820以及存储器830,所述处理器810、通信接口820以及存储器830通过总线840相互连接,其中,
所述处理器810中运行有虚拟交换机、第一虚拟机与第二虚拟机,处理器810执行各种操作的具体实现可参照上述方法实施例中以虚拟机交换机与第一虚拟机或第二虚拟机为执行主体执行的具体操作。例如处理器810用于执行上述图5中S104中识别解封装标识、S104中确定根据虚拟机标识与虚拟网卡之间的对应关系,确定该虚拟机标识对应的虚拟网卡以及S106中对叠加报文进行解封装等操作,在此不再赘述。
处理器810可以有多种具体实现形式,例如处理器810可以为中央处理器(centralprocessing unit,CPU)或图像处理器(graphics processing unit,GPU),处理器810还可以是单核处理器或多核处理器。处理器810可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器811也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。
通信接口820可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
本申请实施例中通信接口820具体可用于执行上述S102中接收第一叠加报文等操作,或者执行S104中将第一叠加报文发送给第一虚拟机等操作。在此不再赘述。
存储器830可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器830也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datadate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
存储器830也可用于存储程序代码和数据,以便于处理器810调用存储器830中存储的程序代码执行上述方法实施例中的操作。此外,计算设备800可能包含相比于图8展示的更多或者更少的组件,或者有不同的组件配置方式。
总线840可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线840可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,该服务器800还可以包括输入/输出接口850,输入/输出接口850连接有输入/输出设备,用于接收输入的信息,输出操作结果。
具体地,上述服务器800执行各种操作的具体实现可参照上述方法实施例中存储服务器执行的具体操作,在此不再赘述。
本申请实施例还提供一种非瞬态计算机存储介质,所述计算机存储介质中存储有指令,当其在处理器上运行时,可以实现上述方法实施例中的方法步骤,所述计算机存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例的具体操作,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种报文处理方法,其特征在于,所述方法应用于物理机,所述物理机包括虚拟交换机、第一虚拟机和第二虚拟机,所述第一虚拟机和所述第二虚拟机分别与所述虚拟交换机连接,所述第一虚拟机内设置有针对不同租户的第一网络服务和第二网络服务,所述方法包括:
所述虚拟交换机接收封装有请求报文的叠加报文,所述叠加报文携带有解封装标识、租户标识以及虚拟机标识,所述叠加报文的外层目的地址是所述虚拟交换机的网络地址,所述虚拟机标识用于标识所述第一虚拟机,所述租户标识用于标识所述第一网络服务;
所述虚拟交换机在所述解封装标识为第一预设值的情况下,根据所述虚拟机标识将所述叠加报文发送至所述第一虚拟机;
所述第一虚拟机对所述叠加报文进行解封装以获取所述请求报文,根据所述租户标识和虚拟局域网VLAN子接口的映射关系,将所述请求报文发送至与所述租户标识对应的所述第一网络服务。
2.根据权利要求1所述的方法,其特征在于,所述虚拟交换机在所述解封装标识为预设值的情况下,根据所述虚拟机标识将所述叠加报文发送至所述第一虚拟机,包括:
所述虚拟交换机在所述解封装标识为预设值的情况下,根据所述虚拟机标识与虚拟网卡的对应关系,确定所述虚拟机标识对应的虚拟网卡,其中,所述虚拟网卡设置于所述第一虚拟机;
所述虚拟交换机将所述叠加报文发送至所述第一虚拟机的所述虚拟网卡。
3.根据权利要求1或2所述的方法,其特征在于,所述租户标识为虚拟可扩展局域网VXLAN报文中的虚拟网络标识VNI,所述第一网络服务和所述第二网络服务设置有相同的IP地址,所述请求报文的目的IP地址是所述第一网络服务和所述第二网络服务设置的IP地址,
所述根据所述租户标识将所述请求报文发送至与所述租户标识对应的第一网络服务,包括:
所述第一虚拟机根据所述VNI与虚拟局域网VLAN子接口的对应关系,确定VLAN子接口,其中,所述VLAN子接口对应有VLAN标识;
所述第一虚拟机将所述VLAN标识添加至所述请求报文;
所述第一虚拟机根据所述VLAN标识与所述请求报文的目的IP地址将所述请求报文发送至所述第一网络服务。
4.根据权利要求3所述的方法,其特征在于,所述叠加报文为虚拟可扩展局域网VXLAN报文,所述虚拟机标识承载于所述VXLAN报文的外层用户数据报协议UDP头部的源端口字段中。
5.根据权利要求4所述的方法,其特征在于,所述解封装标识承载于所述VXLAN报文的VXLAN头部的保留字段中。
6.一种报文处理系统,其特征在于,所述系统包括:虚拟交换机、第一虚拟机和第二虚拟机,所述第一虚拟机和所述第二虚拟机分别与所述虚拟交换机连接,所述第一虚拟机内设置有针对不同租户的第一网络服务和第二网络服务,其中,
所述虚拟交换机,用于:接收封装有请求报文的叠加报文,所述叠加报文携带有解封装标识、租户标识以及虚拟机标识,所述叠加报文的外层目的地址是所述虚拟交换机的网络地址,所述虚拟机标识用于标识所述第一虚拟机,所述租户标识用于标识所述第一网络服务;
在所述解封装标识为第一预设值的情况下,根据所述虚拟机标识将所述叠加报文发送至所述第一虚拟机;
所述第一虚拟机,用于对所述叠加报文进行解封装以获取所述请求报文,根据所述租户标识和虚拟局域网VLAN子接口的映射关系,将所述请求报文发送至与所述租户标识对应的所述第一网络服务。
7.根据权利要求6所述的系统,其特征在于,所述虚拟交换机具体用于:
在所述解封装标识为预设值的情况下,根据所述虚拟机标识与虚拟网卡的对应关系,确定所述虚拟机标识对应的虚拟网卡,其中,所述虚拟网卡设置于所述第一虚拟机;
将所述叠加报文发送至所述第一虚拟机的所述虚拟网卡。
8.根据权利要求6或7所述的系统,其特征在于,所述租户标识为虚拟可扩展局域网VXLAN报文中的虚拟网络标识VNI,所述第一网络服务和所述第二网络服务设置有相同的IP地址,所述请求报文的目的IP地址是所述第一网络服务和所述第二网络服务设置的IP地址,所述第一虚拟机具体用于:
根据所述VNI与虚拟局域网VLAN子接口的对应关系,确定所述VNI对应的VLAN子接口,所述VLAN子接口对应有VLAN标识;
将所述VLAN标识添加至所述请求报文;
根据所述VLAN标识与所述请求报文的目的IP地址将所述请求报文发送至所述第一网络服务。
9.根据权利要求8所述的系统,其特征在于,所述叠加报文为虚拟可扩展局域网VXLAN报文,所述虚拟机标识承载于所述VXLAN报文的外层用户数据报协议UDP头部的源端口字段中。
10.根据权利要求9所述的系统,其特征在于,所述解封装标识承载于所述VXLAN报文的VXLAN头部的保留字段中。
11.一种计算机设备,其特征在于,包括处理器、通信接口以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行如权利要求1至5任一项所述的方法。
12.一种非瞬态计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911013839.8A CN112702252B (zh) | 2019-10-23 | 2019-10-23 | 一种报文处理方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911013839.8A CN112702252B (zh) | 2019-10-23 | 2019-10-23 | 一种报文处理方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702252A CN112702252A (zh) | 2021-04-23 |
CN112702252B true CN112702252B (zh) | 2024-02-02 |
Family
ID=75505309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911013839.8A Active CN112702252B (zh) | 2019-10-23 | 2019-10-23 | 一种报文处理方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702252B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542395B (zh) * | 2021-07-13 | 2022-07-12 | 武汉绿色网络信息服务有限责任公司 | 报文处理方法和报文处理系统 |
CN113709018A (zh) * | 2021-08-26 | 2021-11-26 | 江苏省未来网络创新研究院 | 基于Vxlan接入虚拟化网络的方法和系统 |
CN114024898B (zh) * | 2021-11-09 | 2023-06-30 | 湖北天融信网络安全技术有限公司 | 报文传输方法、装置、设备及存储介质 |
CN114285661B (zh) * | 2021-12-28 | 2023-06-30 | 中国银联股份有限公司 | 一种私有网络接入方法、装置、设备及存储介质 |
CN114422283A (zh) * | 2021-12-31 | 2022-04-29 | 中国电信股份有限公司 | 一种租户隔离方法、网络虚拟交换系统及存储介质 |
CN114422218A (zh) * | 2021-12-31 | 2022-04-29 | 中国电信股份有限公司 | 一种租户隔离方法、装置及存储介质 |
CN116489245A (zh) * | 2022-01-17 | 2023-07-25 | 华为技术有限公司 | 一种报文发送方法、报文接收方法、信息发送方法及装置 |
CN114629820B (zh) * | 2022-03-25 | 2023-09-12 | 阿里巴巴(中国)有限公司 | 网络连通性检测方法、装置、设备及介质 |
CN114422456B (zh) * | 2022-03-31 | 2022-08-16 | 阿里云计算有限公司 | 任务处理方法以及装置 |
CN114567523B (zh) * | 2022-04-22 | 2022-09-30 | 阿里巴巴(中国)有限公司 | 一种自定义vlan网络的方法、设备及存储介质 |
CN115150327B (zh) * | 2022-06-29 | 2024-06-14 | 郑州浪潮数据技术有限公司 | 一种接口设置方法、装置、设备及介质 |
WO2024037619A1 (zh) * | 2022-08-18 | 2024-02-22 | 华为云计算技术有限公司 | 一种基于云计算技术的虚拟实例创建方法和云管理平台 |
CN115442184B (zh) * | 2022-08-29 | 2024-01-02 | 天翼云科技有限公司 | 一种接入系统及方法、接入服务器、系统及存储介质 |
CN116055341A (zh) * | 2023-01-06 | 2023-05-02 | 天翼云科技有限公司 | 一种云网络中虚拟机流量的统计方法及系统 |
CN116137585B (zh) * | 2023-04-20 | 2023-07-18 | 武汉绿色网络信息服务有限责任公司 | 报文转发方法、装置、计算机设备及存储介质 |
CN116155890B (zh) * | 2023-04-20 | 2023-08-15 | 杭州优云科技有限公司 | 分布式文件系统的实现方法及装置 |
CN118041859A (zh) * | 2023-12-12 | 2024-05-14 | 天翼云科技有限公司 | 一种vxlan转发表自学习方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935516A (zh) * | 2015-06-17 | 2015-09-23 | 武汉邮电科学研究院 | 基于软件定义网络的通信系统及方法 |
CN105284080A (zh) * | 2014-03-31 | 2016-01-27 | 华为技术有限公司 | 数据中心的虚拟网络管理方法及数据中心系统 |
CN105915427A (zh) * | 2016-03-31 | 2016-08-31 | 华为技术有限公司 | 一种报文发送、接收方法及设备 |
CN106209553A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 报文处理方法、设备及系统 |
CN106354544A (zh) * | 2016-08-24 | 2017-01-25 | 华为技术有限公司 | 虚拟机创建方法、系统以及主机 |
-
2019
- 2019-10-23 CN CN201911013839.8A patent/CN112702252B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105284080A (zh) * | 2014-03-31 | 2016-01-27 | 华为技术有限公司 | 数据中心的虚拟网络管理方法及数据中心系统 |
CN106209553A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 报文处理方法、设备及系统 |
CN104935516A (zh) * | 2015-06-17 | 2015-09-23 | 武汉邮电科学研究院 | 基于软件定义网络的通信系统及方法 |
CN105915427A (zh) * | 2016-03-31 | 2016-08-31 | 华为技术有限公司 | 一种报文发送、接收方法及设备 |
CN106354544A (zh) * | 2016-08-24 | 2017-01-25 | 华为技术有限公司 | 虚拟机创建方法、系统以及主机 |
Also Published As
Publication number | Publication date |
---|---|
CN112702252A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112702252B (zh) | 一种报文处理方法、系统及相关设备 | |
US10778532B2 (en) | Overlay network movement operations | |
US11546288B2 (en) | Techniques for managing software defined networking controller in-band communications in a data center network | |
WO2018137369A1 (zh) | 混合云管理方法、装置和计算设备 | |
CN105591982B (zh) | 一种报文传输的方法和装置 | |
CN105612719B (zh) | 使用封装头部中的元数据的高级网络虚拟化 | |
JP6024474B2 (ja) | マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法 | |
US8725898B1 (en) | Scalable port address translations | |
US9042384B2 (en) | Distributed routing domains in multi-tenant datacenter virtual networks | |
US9432287B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
WO2018032910A1 (zh) | 一种跨网络通信的方法、设备 | |
US20160261496A1 (en) | Packet forwarding in data center network | |
US10530656B2 (en) | Traffic replication in software-defined networking (SDN) environments | |
CN114338606B (zh) | 一种公有云的网络配置方法及相关设备 | |
JP2022541381A (ja) | ハイブリッドクラウド環境における通信方法、ゲートウェイ、並びに管理方法及び装置 | |
US20190166003A1 (en) | Agent-based network scanning in software-defined networking (sdn) environments | |
CN106878136B (zh) | 一种报文转发方法及装置 | |
CN113660164B (zh) | 一种报文转发方法及网络设备 | |
CN110311860B (zh) | Vxlan下多链路负载均衡方法及装置 | |
CN110943901A (zh) | 一种报文转发方法、装置、设备和存储介质 | |
WO2019214612A1 (zh) | 传输报文的方法和装置 | |
CN113132202A (zh) | 一种报文传输方法及相关设备 | |
CN105264837B (zh) | 一种数据报文的传输系统、传输方法和设备 | |
US11936612B2 (en) | Address resolution handling at logical distributed routers | |
CN113542112B (zh) | 一种报文转发方法及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220208 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |