CN108566445B - 一种报文传输方法及装置 - Google Patents
一种报文传输方法及装置 Download PDFInfo
- Publication number
- CN108566445B CN108566445B CN201810213986.9A CN201810213986A CN108566445B CN 108566445 B CN108566445 B CN 108566445B CN 201810213986 A CN201810213986 A CN 201810213986A CN 108566445 B CN108566445 B CN 108566445B
- Authority
- CN
- China
- Prior art keywords
- address
- target
- virtual machine
- message
- private
- 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 78
- 230000005540 biological transmission Effects 0.000 title claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims abstract description 118
- 238000004891 communication Methods 0.000 claims description 66
- 238000013519 translation Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 19
- 238000002955 isolation Methods 0.000 abstract description 23
- 230000006870 function Effects 0.000 description 20
- 238000013507 mapping Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种报文传输方法及装置,用以避免在实现租户隔离时出现资源占用率高和规格受限的问题。目标网络节点根据针对目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定目标虚拟机的私有IP地址对应的目标转换IP地址,将所述目标虚拟机待传输的IP报文中的所述目标虚拟机的私有IP地址转换成所述目标转换IP地址,然后将处理后的IP报文发送给网关设备;所述网关设备确定所述目标虚拟机的私有IP地址对应的目标公网IP地址,将接收到的IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,发送给公网中的设备。这样,可以通过不同租户的不同虚拟机的唯一的转换IP地址,实现租户隔离。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法及装置。
背景技术
云计算是一种动态易扩展的通过互联网提供虚拟化资源的计算方式,在云计算环境中,支持多个租户使用统一的资源。为了保证租户数据的安全性,需要对租户进行隔离,使租户内部的虚拟机可以相互通信,而租户之间的虚拟机相互隔离,即租户隔离。
目前,实现租户隔离的方法,通常有如下两种:
第一种方法:通过协议栈的命名空间(namespace)进行租户隔离。令每个租户对应的虚拟机所在的虚拟网络对应一个namespace,由namespace隔离保证不同的虚拟网络的会话状态隔离,从而实现租户隔离。但是,这种方法中namespace资源占用率高,会影响系统性能。
第二种方法:通过内核的连接跟踪域地址(conntrack zone id)进行租户隔离。每个租户对应的虚拟机所在的虚拟网络对应一个zone id,而不同的zone id对应不同的会话状态表,不会相互影响,从而可以实现租户隔离。但是,conntrack zone只有16个比特,规格较小,不能满足租户的需求。
综上,现在亟需一种新的方法,在能够实现租户隔离的同时,也可以避免上述方法出现的弊端。
发明内容
本申请提供一种报文传输方法及装置,用以避免在实现租户隔离时出现资源占用率高和规格受限的问题。
第一方面,本申请提供了一种报文传输方法,应用于包括网关设备和网络节点的通信网络;所述网络节点部署有多个虚拟机,每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,该方法包括:
目标网络节点获取针对每个租户设置的每个虚拟机的私有互联网协议IP地址对应的转换IP地址;在确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址后,在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;然后将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到第二IP报文,将所述第二IP报文发送给所述网关设备;所述网关设备获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;并根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;然后根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;进而将所述第二IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到第三IP报文,将所述第三IP报文发送给公网中的设备。其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;所述目标网络节点为所述网络节点中的任一个。
相对于现有技术中由于不同租户的虚拟机可能有相同的私有IP地址,在将虚拟机的私有IP地址转换成公网IP地址后,一个租户可能会将与自己的虚拟机具有相同私有IP地址的其他租户的虚拟机的IP报文认为是自己的,会导致不同租户的虚拟机的报文互相影响而传输错误,通过上述方法,不同租户的不同虚拟机的私有IP地址对应一个唯一的转换IP地址,可以在报文传输过程中利用该转换IP地址进行虚拟机的私有IP地址与公网IP地址之间的转换,来实现与虚拟机与公网中的设备的传输,这样可以使得不同租户的报文分别传输时不互相影响,从而实现了租户隔离。同时,在这种方法中,无需为每个租户对应的虚拟网络分配namespace,可以避免资源占用率的问题;并且每个虚拟机都可以分配到一个转换IP地址,从而可以解决规格受限的问题,可以满足租户需求。
在一个可能的设计中,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。这样可以使得任一个转换IP地址都是独一无二的,进而可以实现租户隔离。
在一种可能的设计中,所述目标网络节点中部署有虚拟路由器(virtual router,vrouter),所述目标网络节点中的所述vrouter将所述第一IP报文的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址。
在一个可能的设计中,所述目标网络节点将所述处理后的第一IP报文发送给所述网关设备之前,可以为所述处理后的第一IP报文封装虚拟局域网标签(vlan tag);或者为所述处理后的第一IP报文封装可扩展虚拟局域网头部(vxlan header)。在一种可能的设计中,所述目标网络节点中部署有虚拟交换机(vswitch),所述目标网络节点中的所述vswitch执行上述封装操作。
在一个可能的设计中,所述网关设备接收到所述第二IP报文时,需要先去掉IP报文中的vlan tag或者vxlan header。
在一个可能的设计中,所述目标网络节点通过物理设备将所述第二IP报文转发给所述网关设备。这样可以使得所述第二IP报文成功传输至所述网关设备。
在一个可能的设计中,所述网关设备接收到目的地址为所述目标公网IP地址的第四IP报文后,确定所述目标公网IP地址对应的所述目标转换IP地址;将所述第四IP报文中的所述目标公网IP地址替换为所述目标转换IP地址,得到第五IP报文,并将所述第五IP报文发送给所述目标网络节点;然后所述目标网络节点确定对应所述目标转换IP地址的所述目标虚拟机的私有IP地址;将所述第五IP报文中的所述目标转换IP地址替换为所述目标虚拟机的私有IP地址,得到第六IP报文,并将所述第六IP报文发送给所述目标虚拟机。
通过上述方法,所述目标网络节点上的所述目标虚拟机可以成功接收到公网中的设备回复的报文。并且在报文传输过程中,由于采用了所述目标虚拟机的私有IP地址对应的唯一的转换IP地址进行了地址替换,这样可以使不同租户的不同虚拟机接收报文时不互相影响,从而可以实现租户隔离。
在一个可能的设计中,所述目标网络节点中存储有映射关系表,具体的所述映射关系表中可以是租户的标识、虚拟机的标识(可选的,虚拟机的标识可以用虚拟机的端口标识表示)、虚拟机的私有IP地址、转换IP地址的映射关系,所述映射关系表表明了针对每个租户设置的虚拟机的私有IP地址对应的转换IP地址,所述目标网络节点可以通过所述映射关系表获取针对每个租户设置的虚拟机的私有IP地址对应的转换IP地址。在一个可能的设计中,所述目标网络节点中存储的所述映射关系可以是预先配置好的,也可以是通过外部的控制设备创建后发送给所述目标网络节点的。
通过上述方法,所述目标网络节点可以成功获取到针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址。
第二方面,本申请还提供了一种网络节点,该网络节点具有实现上述方法实例中目标网络节点的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述网络节点的结构中包括获取单元、处理单元和发送单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在一个可能的设计中,所述网络节点的结构中包括通信接口和处理器,可选的还包括存储器,所述通信接口用于收发报文,以及用于与通信网络中的其他设备进行通信交互,所述处理器被配置为支持所述网络节点执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述网络节点必要的程序指令和数据。
第三方面,本申请还提供了一种网关设备,该网关设备具有实现上述方法实例中网关设备的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述网关设备的结构中包括接收单元、获取单元、处理单元和发送单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在一个可能的设计中,所述网关设备的结构中包括通信接口和处理器,可选的还包括存储器,所述通信接口用于收发报文,以及用于与通信网络中的其他设备进行通信交互,所述处理器被配置为支持所述网关设备执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述网关设备必要的程序指令和数据。
第四方面,本申请还提供了一种通信网络,所述通信网络中包括上述设计中提及的网络节点和网关设备。
第五方面,本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令在被所述计算机调用时用于使所述计算机执行上述任一种方法。
第六方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一种方法。
第七方面,本申请还提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的程序指令,以实现上述任一种方法。
附图说明
图1A为本申请提供的一种通信网络的架构示意图;
图1B为本申请提供的另一种通信网络的架构示意图;
图2为本申请提供的一种报文传输方法的流程图;
图3为本申请提供的一种映射关系的示意图;
图4为本申请提供的一种网络节点的结构示意图;
图5为本申请提供的一种网关设备的结构示意图;
图6为本申请提供的一种网络节点的结构图;
图7为本申请提供的一种网关设备的结构图。
具体实施方式
下面将结合附图对本申请作进一步地详细描述。
本申请实施例提供一种报文传输方法及装置,用以避免在实现租户隔离时出现资源占用率高和规格受限的问题。其中,本申请所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、网络节点,是可以部署租户的虚拟机的设备。所述网络节点可以部署多个虚拟机,每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户。所述网络节点可以但不限于为物理主机、服务器等。
2)、网关设备,用于实现局域网与公网的连接。所述网关设备可以为网络地址转换(network address translation,NAT)网关。
3)、本申请实施例中的“多个”,是指两个或两个以上。
4)、在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了更加清晰地描述本申请实施例的技术方案,下面结合附图,对本申请实施例提供的业务数据获取方法及装置进行详细说明。
图1A示出了本申请实施例提供的报文传输方法适用的可能的一种通信网络的架构,所述通信网络的架构中包括网关设备和网络节点。其中:
所述网络节点部署有多个虚拟机,例如图1A中所示的虚拟机(virtual machine,VM)1、VM 2和VM 3。每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,例如所述VM 1归属于租户1,所述VM 2归属于租户2,所述VM 3归属于租户3;又例如,所述VM 1归属于租户1,所述VM 2归属于租户2,所述VM 3归属于租户1。
所述网络节点上部署的任一个虚拟机在需要向公网中的设备传输互联网协议(internet protocol,IP)报文时,需要所述网关设备将所述报文处理成可以传输到公网中的设备中的报文,具体可以为在所述网关设备上实现将所述IP报文的源地址转换成公网IP地址,以使所述网关设备将最终的IP报文传输至公网中的设备,从而实现所述虚拟机对公网资源的访问。其中,公网可以是互联网。
图1B示出了本申请实施例提供的报文传输方法适用的可能的另一种通信网络的架构,所述通信网络的架构中包括网关设备和多个网络节点。其中:
所述多个网络节点可以为图1B所示的网络节点1、网络节点2和网络节点3。所述多个网络节点部署有多个虚拟机,其中每个网络节点可以部署有至少一个虚拟机。例如图1B所示的,所述网络节点1部署有VM 4,所述网络节点2部署有VM 5和VM 6,所述网络节点3部署有VM 7、VM 8和VM 9。每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,不同租户的虚拟机可以部署于相同的网络节点上,也可以部署于不同的网络节点上。例如,所述VM 4归属于租户4,所述VM 5和所述VM 6归属于租户5,所述VM 7、所述VM 8和所述VM 9归属于租户6;又例如,所述VM 4、所述VM 5和所述VM 7归属于租户4,所述VM 6和所述VM 7归属于租户5,所述VM 7归属于租户6。当然,归属于所述多个租户的所述多个虚拟机在所述网络节点上的部署还可以为除上述两个例子以外的其它方式,此处不再一一列举。
同样的所述网关设备的作用与图1A所示的通信网络中的网关设备的作用完全相同,重复之处此处不再赘述。
本申请实施例提供的一种报文传输方法,适用于如图1A、图1B所示的通信网络。参阅图2所示,该方法的具体流程包括:
步骤201、目标网络节点获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址。
其中,所述目标网络节点为通信网络中的网络节点中的任一个。由于每个网络节点的功能时相同的,因此本申请实施例仅以所述目标网络节点为例对报文传输方法进行具体说明。
每个虚拟机的私有IP地址为该虚拟机所归属的租户对应的虚拟网络下的一个IP地址。具体的,每个租户的虚拟机被创建时,会给该虚拟机创建一个虚拟网卡,该虚拟网卡接入虚拟私有云(virtual private cloud,VPC)下的一个子网(即所述租户对应的一个虚拟网络),此时该虚拟机的私有IP地址即为所述子网下的一个IP地址。
由于不同租户的虚拟机的私有IP地址可能相同,同一租户的虚拟机的私有IP地址不相同,因此,需要针对每个租户设置该租户的虚拟机的私有IP地址对应的转换地址。
在一种可选的实施方式中,通信网络中预先配置了独立于任一租户对应的虚拟网络的内部网络,每个虚拟机的私有IP地址对应的转换IP地址是配置的该网络下的一个IP地址。其中,可选的配置的该网络可以是虚拟局域网(virtual local area network,VLAN)、可扩展虚拟局域网(virtual extensible local area network,VXLAN)、公网等等。例如配置的该网络下的一个子网可以为运营商私网100.64.0.0/10,或者公网私用的11.11.0.0/10等。在一种可选的实施方式中,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
具体的,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同。这样可以使得任一个租户的任一个虚拟机可以有一个独一无二的IP地址,从而可以使得后续通过各自对应的转换IP地址进行报文传输,从而可以实现租户隔离。
在一种可选的实施方式中,所述目标网络节点中存储有映射关系表,具体的所述映射关系表中可以是租户的标识、虚拟机的标识(可选的,虚拟机的标识可以用虚拟机的端口标识表示)、虚拟机的私有IP地址、转换IP地址的映射关系,所述映射关系表表明了针对每个租户设置的虚拟机的私有IP地址对应的转换IP地址,所述目标网络节点可以通过所述映射关系表获取针对每个租户设置的虚拟机的私有IP地址对应的转换IP地址。在一种可选的实施方式中,所述目标网络节点中存储的所述映射关系可以是预先配置好的,也可以是通过外部的控制设备创建后发送给所述目标网络节点的。
在一种可选的实施方式中,所述目标网络节点通过步骤201获取的内容,可以是如图2中的步骤200a所示的,所述控制设备先创建针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,然后再发送给所述目标网络节点。
步骤202、所述目标网络节点确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址。
其中,所述目标虚拟机为所述目标网络节点上的任一个虚拟机。
步骤203、所述目标网络节点在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址。
在一种可选的实施方式中,所述目标网络节点可以先确定所述目标虚拟机的标识,通过虚拟机与租户之间的标识对应关系,确定所述目标虚拟机的标识对应的租户,确定的该租户即为所述目标虚拟机归属的所述目标租户。
进一步的,所述目标网络节点可以直接根据上述步骤201获取的针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,进而确定所述目标虚拟机的私有IP地址对应的目标转换IP地址。可选的,具体可以为:所述目标网络节点在上述步骤201中涉及的所述目标网络节点中存储的映射关系表中,先确定所述目标租户相关的映射关系,进而查找到所述目标租户的标识、所述目标虚拟机的标识、所述目标虚拟机的私有IP地址共同对应的转换IP地址,查找到的该转换IP地址即为所述目标转换IP地址。
步骤204、所述目标网络节点将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到第二IP报文,所述第二报文即为处理后的第一IP报文。
具体的,步骤204中所述目标网络节点执行的操作为NAT转换操作,通过所述步骤可以使得需要传输的IP报文是以独一无二的IP地址(即所述目标转换IP地址)传输,而不会与其他租户的虚拟机需要传输的报文混淆,从而可以实现租户隔离。
在一种可选的实施方式中,所述目标网络节点中部署有虚拟路由器(virtualrouter,vrouter),所述目标网络节点中的所述vrouter将所述第一IP报文的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址。
步骤205、所述目标网络节点将所述第二IP报文发送给所述网关设备。
在一种可选的实施方式中,所述目标网络节点将所述第二IP报文发送给所述网关设备之前,还执行以下操作:
所述目标网络节点为所述第二报文封装虚拟局域网标签(vlan tag);具体的,当所述目标网络节点和所述网关设备之间通过VLAN通信时,所述目标网络节点执行该操作;
或者所述目标网络节点为所述第二IP报文封装可扩展虚拟局域网头部(vxlanheader);具体的,当所述目标网络节点和所述网关设备之间通过VXLAN通信时,所述目标网络节点执行该操作。
在一种可选的实施方式中,所述目标网络节点中部署有虚拟交换机(vswitch),所述目标网络节点中的所述vswitch执行上述步骤205。可选的,所述vswitch将所述第二报文封装vlan tag或者vxlan header后,发送给所述网关设备。
由于具体实现时,所述目标网络节点和所述网关设备之间通过物理设备(例如物理路由器等)进行通信,因此,在一种可选的实施方式中,所述目标网络节点可以通过所述物理设备将所述第二IP报文转发给所述网关设备。
在一种可选的实施方式中,所述网关设备接收到所述第二IP报文时,需要先去掉IP报文中的vlan tag或者vxlan header,才能进行后续的步骤。
步骤206、所述网关设备获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址。
其中,针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,与上述步骤201中涉及的针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址相同,可以相互参见,重复之处此处不再赘述。其中,针对不同租户设置的每个虚拟机的私有IP地址对应的公网IP地址不同,而针对同一租户设置的不同虚拟机的私有IP地址对应的公网IP地址可以相同,也可以不同。
在一种可选的实施方式中,所述网关设备上可以存储有如图3所示的映射关系,由此,所述网关设备可以根据图3所示的映射关系实现步骤206。其中可选的,图3所示的映射关系可以为预先配置在所述网关设备中的,也可以是通过外部的控制设备创建后发送给所述网关设备的。
在一种可选的实施方式中,所述网关设备通过步骤206获取的内容,可以是如图2中的步骤200b所示的,所述控制设备先创建针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址,然后再发送给所述网关设备的。
步骤207、所述网关设备根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户。
具体的,所述目标转换地址为所述第二IP报文中的源地址,所述网关设备可以根据图3所示的映射关系,通过所述目标转换地址确定对应所述目标转换地址的目标虚拟机,进而确定所述目标虚拟机所属的所述目标租户。
步骤208、所述网关设备根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址。
具体的,所述网关设备同样可以通过图3所示的映射关系确定针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,从中确定所述目标虚拟机的私有IP地址对应的所述目标公网IP地址。
步骤209、所述网关设备将所述第二IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到第三报文,所述第三报文即为处理后的第二IP报文。
其中,通过上述步骤207和208可以得知所述目标虚拟机的私有IP地址对应的所述目标转换IP地址,以及所述目标虚拟机的私有IP地址对应的所述目标公网IP地址,从而可以确定所述目标转换IP地址与所述目标公网IP地址对应,进而所述网关设备可以执行步骤209。具体的,所述网关设备将所述第二IP报文中的所述目标转换IP地址替换为所述目标公网IP地址这一操作为NAT转换操作。
步骤210、所述网关设备将所述第三IP报文发送给公网中的设备。
在一种可选的实施方式中,所述目标网络节点中的所述目标虚拟机将IP报文传输给所述公网中的设备后,还会接收到所述公网中的设备回复的IP报文,所述公网中的设备回复IP报文给所述目标网络节点中的所述目标虚拟机的具体过程如下:
所述网关设备接收所述公网中的设备发送的第四报文,所述第四报文的目的地址为所述目标公网IP地址;
所述网关设备确定所述目标公网IP地址对应的所述目标转换IP地址;其中,由于实际中所述公网中的设备发送的IP报文中携带所述目标虚拟机的端口标识,所述网关设备可以根据所述目标虚拟机的端口标识识别到与所述目标公网IP地址对应的所述目标虚拟机,然后准确地确定所述目标公网IP地址;
所述网关设备将所述第四IP报文中的所述公网IP地址替换为所述目标转换IP地址,得到第五IP报文,将所述第五IP报文发送给所述目标网络节点;此时,所述第五IP报文的目的地址为所述目标转换IP地址;
所述目标网络节点确定对应所述目标转换IP地址的所述目标虚拟机的私有IP地址;其中,所述目标网络节点可以根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标转换IP地址对应的目标虚拟机所述的目标租户,进而根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标转换IP地址对应的所述目标虚拟机的私有IP地址;
所述目标网络节点将所述第五IP报文中的所述目标转换IP地址替换为所述目标虚拟机的私有IP地址,得到第六IP报文;
所述目标网络节点将所述第六IP报文发送所述目标虚拟机。
采用本申请实施例提供的报文传输方法,通过针对每个租户设置每个虚拟机的私有IP地址对应的转换IP地址,以使目标网络节点根据针对目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定目标虚拟机的私有IP地址对应的目标转换IP地址,从而实现将所述目标虚拟机待传输的第一IP报文中的所述目标虚拟机的私有IP地址转换成所述目标转换IP地址,然后将所述处理后的IP报文(第二IP报文)发送给网关设备;后续所述网关设备再进一步确定所述目标虚拟机的私有IP地址对应的目标公网IP地址,将所述第二IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,再发送给公网中的设备。现有技术中的报文传输时,由于不同租户的虚拟机可能有相同的私有IP地址,在将虚拟机的私有IP地址转换成公网IP地址后,一个租户可能会将与自己的虚拟机具有相同私有IP地址的其他租户的虚拟机的IP报文认为是自己的,会导致不同租户的虚拟机的报文互相影响而传输错误。而在该方法中,由于不同租户的不同虚拟机有一个唯一的转换IP地址,可以在报文传输过程中利用该转换IP地址进行虚拟机的私有IP地址与公网IP地址之间的转换来实现与虚拟机与公网设备的传输,这样可以使得不同租户的报文分别传输时不互相影响,从而实现了租户隔离。同时,在这种方法中,无需为每个租户对应的虚拟网络分配namespace,可以避免资源占用率的问题;并且每个虚拟机都可以分配到一个转换IP地址,从而可以解决规格受限的问题,可以满足租户需求。
基于以上实施例,对一个网络节点上的一个虚拟机与一个公网上的设备之间通过NAT网关进行报文传输的一个具体示例进行详细说明:
例如,网络节点上的VM 1的私有IP地址为172.168.10.10,对应的转换IP地址为100.64.10.100;所述VM 1的私有IP地址对应的公网IP地址为43.23.20.23;与所述VM 1进行报文传输的公网中的设备的IP地址为8.8.8.8。所述网络节点上部署有vrouter和vswitch。
此时,VM 1发送的第一IP报文的源地址是172.168.10.10,目的地址是8.8.8.8,具体流程如下:
所述VM 1将所述第一IP报文传输至所述网络节点上的vrouter,所述vrouter将所述第一IP报文中的源地址172.168.10.10替换为100.64.10.100,目的地址还是8.8.8.8保持不变,得到第二报文;然后所述vrouter将所述第二报文传输至所述网络节点上的vswitch,如果当前网络为vxlan,vswitch会将所述第二IP报文封装一个vxlan header,如果当前网络是vlan,vswitch会将所述第二IP报文封装一个vlan tag;所述vswitch将封装好的IP报文(记为第三报文)发送给物理设备,所述物理设备将所述第三IP报文转发给NAT网关;所述NAT网关接收到所述第三IP报文后,先去掉vxlan header或者vlan tag,然后将所述第三IP报文中的源地址100.64.10.100替换为43.23.20.23,得到第四IP报文,此时所述第四IP报文的源地址是43.23.20.23,目的地址还是8.8.8.8;所述NAT网关将所述第四IP报文发送给公网上IP地址为8.8.8.8的设备。这样就完成了VM 1到公网上的设备的报文传输。
进一步的,公网上的IP地址为8.8.8.8的设备在给VM 1回复第五IP报文时,所述第五IP报文的源地址是8.8.8.8,目的地址是43.23.20.23,具体流程如下:
所述公网上的设备将所述第五IP报文发送给所述NAT网关;所述NAT网关将所述第五IP报文中目的地址43.23.20.23替换为100.64.10.100,并封装vxlan header或者vlantag,得到第七IP报文,此时所述第七IP报文的目的地址为100.64.10.100,源地址保持不变;所述NAT网关将所述第七IP报文发送给所述物理设备,所述物理设备把所述第七IP报文转发给所述网络节点上的所述vrouter;所述vrouter接收到所述第七IP报文后,将所述第七IP报文中的目的IP地址100.64.10.100替换为VM1的私有IP地址172.168.10.10,源地址保持不变,得到第八IP报文;所述vrouter将所述第八IP报文发送给所述网络节点上的所述vswitch;所述vswitch将所述第八IP报文发送给所述VM 1。这样所述VM 1就接收到了公网上的设备回复的IP报文。
上述示例中,通过一个转换IP地址就可以实现虚拟机的私有IP地址与公网IP地址之间的转换,以使实现虚拟机与公网上的设备之间的报文传输,而过程不会对其它租户的虚拟机与公网上的设备进行通信造成影响,可以很好地实现租户隔离。
基于以上实施例,本申请实施例还提供了一种网络节点,该网络节点应用于如图1A或图1B所示的通信网络中的任一个网络节点,用于实现如图2所示的报文传输方法。参阅图4所示,该网络节点400包括:获取单元401、处理单元402和发送单元403,其中:
所述获取单元401,用于获取针对每个租户设置的每个虚拟机的私有互联网协议IP地址对应的转换IP地址,其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;在一种可选的实施方式中,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
所述处理器402,用于确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址;以及在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;然后将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到处理后的第一IP报文;
所述发送单元403,用于将所述处理后的第一IP报文发送给所述网关设备。
在一种可选的实施方式中,所述处理单元402,在所述发送单元403将所述处理后的第一IP报文发送给所述网关设备之前,为所述处理后的第一IP报文封装虚拟局域网标签vlan tag;或者为所述处理后的第一IP报文封装可扩展虚拟局域网头部vxlan header。
在一种可选的实施方式中,所述发送单元403将所述处理后的第一IP报文发送给所述网关设备,具体可以为:通过物理设备将所述处理后的第一IP报文转发给所述网关设备。
在一种可选的实施方式中,所述网络节点400还包括接收单元,所述接收单元用于接收所述网关设备发送的第二IP报文,所述第二IP报文的目的地址为所述目的转换IP地址;所述处理单元402还用于:确定对应所述目标转换IP地址的所述目标虚拟机的私有IP地址;以及将所述第二IP报文中的所述目标转换IP地址替换为所述目标虚拟机的私有IP地址,得到处理后的第二IP报文;所述发送单元403还用于:将所述处理后的第二IP报文发送给所述目标虚拟机。
采用本申请实施例提供的网络节点,获取针对每个租户设置的每个虚拟机的IP地址对应的转换IP地址;确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址;在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到处理后的第一IP报文;将所述处理后的第一IP报文发送给所述网关设备。这样可以通过每个虚拟机的私有IP地址与对应的唯一的转换IP地址之间的转换,使得传输的IP报文之间互不影响,从而实现租户隔离。
基于以上实施例,本申请实施例还提供了一种网关设备,该网关设备应用于如图1A或图1B所示的通信网络中的网关设备,用于实现如图2所示的报文传输方法。参阅图5所示,该网关设备500包括:接收单元501、获取单元502、处理单元503和发送单元504,其中:
所述接收单元501,用于接收目标网络节点发送的第一IP报文,所述第一IP报文的源地址为目标转换IP地址;所述目标网络节点为所述通信网络中的网络节点中的任一个;
所述获取单元502,用于获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;在一种可选的实施方式中,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同;
所述处理单元503,用于根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;将所述第一IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到处理后的第一IP报文;
所述发送单元504,用于将所述处理后的第一IP报文发送给公网中的设备。
在一种可选的实施方式中,所述接收单元501在接收所述目标网络节点发送的所述第一IP报文时,具体可以为:接收所述目标网络节点通过物理设备转发的所述第一IP报文。
在一种可选的实施方式中,所述接收单元501还用于接收目的地址为所述目标公网IP地址的第二IP报文;所述处理单元503还用于确定所述目标公网IP地址对应的所述目标转换IP地址;以及所述第二IP报文中的所述目标公网IP地址替换为所述目标转换IP地址,得到处理后的第二IP报文;所述发送单元504还用于将所述处理后的第二IP报文发送给所述目标网络节点。这样可以将公网回复给所述目标网络节点中所述目标虚拟机的报文传输给所述目标网络节点。
采用本申请实施例提供的网关设备,接收目标网络节点发送的第一IP报文,所述第一IP报文的源地址为目标转换IP地址;获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;将所述第一IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到处理后的第一IP报文;将所述处理后的第一IP报文发送给公网中的设备。这样,所述网关设备可以根据每个虚拟机的私有IP地址对应的唯一的转换IP地址与公网IP地址进行转换,,使得传输的IP报文之间互不影响,从而实现租户隔离。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种网络节点,所述网络节点应用于如图1A或图1B所示的通信网络中的网络节点中的任一个,用于实现如图2所示的报文传输方法。参阅图6所示,所述网络节点600包括:通信接口601和处理器602,其中:
所述处理器602可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
所述通信接口601和所述处理器602之间相互连接。可选的,所述通信接口601和所述处理器602通过总线604相互连接;所述总线604可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述网络节点600在实现如图2所示的报文传输方法时:
所述通信接口601,用于接收和发送报文;
所述处理器602,用于获取针对每个租户设置的每个虚拟机的私有互联网协议IP地址对应的转换IP地址,其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址;在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到处理后的第一IP报文;控制所述通信接口601将所述处理后的第一IP报文发送给所述网关设备。
在一种可选的实施方式中,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
在一种可选的实施方式中,所述处理器602,在控制所述通信接口601将所述处理后的第一IP报文发送给所述网关设备之前,为所述处理后的第一IP报文封装虚拟局域网标签vlan tag;或者为所述处理后的第一IP报文封装可扩展虚拟局域网头部vxlan header。
在一种可选的实施方式中,所述处理器602控制所述通信接口601将所述处理后的第一IP报文发送给所述网关设备时,具体可以为:控制所述通信接口601通过物理设备将所述处理后的第一IP报文转发给所述网关设备。
在一种可选的实施方式中,所述处理器602还用于控制所述通信接口601接收所述网关设备发送的第二IP报文,所述第二IP报文的目的地址为所述目的转换IP地址;确定对应所述目标转换IP地址的所述目标虚拟机的私有IP地址;将所述第二IP报文中的所述目标转换IP地址替换为所述目标虚拟机的私有IP地址,得到处理后的第二IP报文;控制所述通信接口601将所述处理后的第二IP报文发送给所述目标虚拟机。
在一种可选的实施方式中,所述网络节点600还可以包括存储器603,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。所述存储器603可能包括RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述处理器602执行所述存储器603所存放的应用程序,实现上述功能,从而实现如图2所示的报文传输方法。
采用本申请实施例提供的网络节点,获取针对每个租户设置的每个虚拟机的IP地址对应的转换IP地址;确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址;在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到处理后的第一IP报文;将所述处理后的第一IP报文发送给所述网关设备。这样可以通过每个虚拟机的私有IP地址与对应的唯一的转换IP地址之间的转换,使得传输的IP报文之间互不影响,从而实现租户隔离。
基于以上实施例,本申请实施例还提供了一种网关设备,所述网关设备应用于如图1A或图1B所示的通信网络中的网关设备,用于实现如图2所示的报文传输方法。参阅图7所示,所述网关设备700包括:通信接口701和处理器702,其中:
所述处理器702可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
所述通信接口701和所述处理器702之间相互连接。可选的,所述通信接口701和所述处理器702通过总线704相互连接;所述总线704可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述网关设备700在实现如图2所示的报文传输方法时:
所述通信接口701,用于接收和发送报文;
所述处理器702,用于控制所述通信接口701接收目标网络节点发送的第一IP报文,所述第一IP报文的源地址为目标转换IP地址;获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;将所述第一IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到处理后的第一IP报文;控制所述通信接口601将所述处理后的第一IP报文发送给公网中的设备。其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;所述目标网络节点为所述网络节点中的任一个。
在一种可选的实施方式中,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
在一种可选的实施方式中,所述处理器702控制所述通信接口701接收所述目标网络节点发送的第一IP报文时,具体可以为:控制所述通信接口701接收所述目标网络节点通过物理设备转发的所述第一IP报文。
在一种可选的实施方式中,所述处理器702,还用于控制所述通信接口701接收目的地址为所述目标公网IP地址的第二IP报文;确定所述目标公网IP地址对应的所述目标转换IP地址;将所述第二IP报文中的所述目标公网IP地址替换为所述目标转换IP地址,得到处理后的第二IP报文;控制所述通信接口701将所述处理后的第二IP报文发送给所述目标网络节点。
在一种可选的实施方式中,所述网关设备700还可以包括存储器703,用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。所述存储器703可能包括RAM,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述处理器702执行所述存储器703所存放的应用程序,实现上述功能,从而实现如图2所示的报文传输方法。
采用本申请实施例提供的网关设备,接收目标网络节点发送的第一IP报文,所述第一IP报文的源地址为目标转换IP地址;获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;将所述第一IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到处理后的第一IP报文;将所述处理后的第一IP报文发送给公网中的设备。这样,所述网关设备可以根据每个虚拟机的私有IP地址对应的唯一的转换IP地址与公网IP地址进行转换,,使得传输的IP报文之间互不影响,从而实现租户隔离。
综上所述,通过本申请实施例提供一种报文传输方法及装置,通过针对每个租户设置每个虚拟机的私有IP地址对应的转换IP地址,以使目标网络节点根据针对目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定目标虚拟机的私有IP地址对应的目标转换IP地址,从而实现将所述目标虚拟机待传输的第一IP报文中的所述目标虚拟机的私有IP地址转换成所述目标转换IP地址,然后将所述处理后的IP报文(第二IP报文)发送给网关设备;后续所述网关设备再进一步确定所述目标虚拟机的私有IP地址对应的目标公网IP地址,将所述第二IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,再发送给公网中的设备。在该方法中,由于不同租户的不同虚拟机有一个唯一的转换IP地址,可以在报文传输过程中利用该转换IP地址进行虚拟机的私有IP地址与公网IP地址之间的转换来实现与虚拟机与公网中的设备的传输,这样可以使得不同租户的报文分别传输时不互相影响,从而实现了租户隔离。同时,在这种方法中,无需为每个租户对应的虚拟网络分配namespace,可以避免资源占用率的问题;并且每个虚拟机都可以分配到一个转换IP地址,从而可以解决规格受限的问题,可以满足租户需求。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (19)
1.一种报文传输方法,其特征在于,应用于包括网关设备和网络节点的通信网络;所述网络节点部署有多个虚拟机,每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,所述方法包括:
目标网络节点获取针对每个租户设置的每个虚拟机的私有互联网协议IP地址对应的转换IP地址,其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;所述目标网络节点为所述网络节点中的任一个;
所述目标网络节点确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址;
所述目标网络节点在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;
所述目标网络节点将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到处理后的第一IP报文;
所述目标网络节点将所述处理后的第一IP报文发送给所述网关设备。
2.如权利要求1所述的方法,其特征在于,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
3.如权利要求1或2所述的方法,其特征在于,所述目标网络节点将所述处理后的第一IP报文发送给所述网关设备之前,所述方法还包括:
所述目标网络节点为所述处理后的第一IP报文封装虚拟局域网标签vlan tag;或者
所述目标网络节点为所述处理后的第一IP报文封装可扩展虚拟局域网头部vxlanheader。
4.如权利要求1-2任一项所述的方法,其特征在于,所述目标网络节点将所述处理后的第一IP报文发送给所述网关设备,包括:
所述目标网络节点通过物理设备将所述处理后的第一IP报文转发给所述网关设备。
5.如权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
所述目标网络节点接收所述网关设备发送的第二IP报文,所述第二IP报文的目的地址为所述目的转换IP地址;
所述目标网络节点确定对应所述目标转换IP地址的所述目标虚拟机的私有IP地址;
所述目标网络节点将所述第二IP报文中的所述目标转换IP地址替换为所述目标虚拟机的私有IP地址,得到处理后的第二IP报文;
所述目标网络节点将所述处理后的第二IP报文发送给所述目标虚拟机。
6.一种报文传输方法,其特征在于,应用于包括网关设备和网络节点的通信网络;所述网络节点部署有多个虚拟机,每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,所述方法包括:
所述网关设备接收目标网络节点发送的第一IP报文,所述第一IP报文的源地址为目标转换IP地址;所述目标网络节点为所述网络节点中的任一个;
所述网关设备获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;
所述网关设备根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;
所述网关设备根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;
所述网关设备将所述第一IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到处理后的第一IP报文;
所述网关设备将所述处理后的第一IP报文发送给公网中的设备。
7.如权利要求6所述的方法,其特征在于,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
8.如权利要求6或7所述的方法,其特征在于,所述网关设备接收所述目标网络节点发送的第一IP报文,包括:
所述网关设备接收所述目标网络节点通过物理设备转发的所述第一IP报文。
9.如权利要求6-7任一项所述的方法,其特征在于,所述方法还包括:
所述网关设备接收目的地址为所述目标公网IP地址的第二IP报文;
所述网关设备确定所述目标公网IP地址对应的所述目标转换IP地址;
所述网关设备将所述第二IP报文中的所述目标公网IP地址替换为所述目标转换IP地址,得到处理后的第二IP报文;
所述网关设备将所述处理后的第二IP报文发送给所述目标网络节点。
10.一种网络节点,其特征在于,应用于包括网关设备和网络节点的通信网络;所述网络节点部署有多个虚拟机,每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,所述网络节点包括:
通信接口,用于接收和发送报文;
处理器,用于执行以下操作:
获取针对每个租户设置的每个虚拟机的私有互联网协议IP地址对应的转换IP地址,其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;所述网络节点为所述通信网络中的网络节点中的任一个;
确定目标虚拟机待传输的第一IP报文,所述第一IP报文的源地址为所述目标虚拟机的私有IP地址;
在所述多个租户中,确定所述目标虚拟机所归属的目标租户,并根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定所述目标虚拟机的私有IP地址对应的目标转换IP地址;
将所述第一IP报文中的所述目标虚拟机的私有IP地址替换为所述目标转换IP地址,得到处理后的第一IP报文;
控制所述通信接口将所述处理后的第一IP报文发送给所述网关设备。
11.如权利要求10所述的网络节点,其特征在于,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
12.如权利要求10或11所述的网络节点,其特征在于,所述处理器,在控制所述通信接口将所述处理后的第一IP报文发送给所述网关设备之前,还用于:
为所述处理后的第一IP报文封装虚拟局域网标签vlan tag;或者
为所述处理后的第一IP报文封装可扩展虚拟局域网头部vxlan header。
13.如权利要求10-11任一项所述的网络节点,其特征在于,所述处理器控制所述通信接口将所述处理后的第一IP报文发送给所述网关设备时,具体用于:
控制所述通信接口通过物理设备将所述处理后的第一IP报文转发给所述网关设备。
14.如权利要求10-11任一项所述的网络节点,其特征在于,所述处理器,还用于:
控制所述通信接口接收所述网关设备发送的第二IP报文,所述第二IP报文的目的地址为所述目的转换IP地址;
确定对应所述目标转换IP地址的所述目标虚拟机的私有IP地址;
将所述第二IP报文中的所述目标转换IP地址替换为所述目标虚拟机的私有IP地址,得到处理后的第二IP报文;
控制所述通信接口将所述处理后的第二IP报文发送给所述目标虚拟机。
15.一种网关设备,其特征在于,应用于包括网关设备和网络节点的通信网络;所述网络节点部署有多个虚拟机,每个虚拟机归属于一个租户,所述多个虚拟机归属于多个租户,所述网关设备包括:
通信接口,用于接收和发送报文;
处理器,用于执行以下操作:
控制所述通信接口接收目标网络节点发送的第一IP报文,所述第一IP报文的源地址为目标转换IP地址;所述目标网络节点为所述网络节点中的任一个;
获取针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,以及获取针对每个租户设置的每个虚拟机的私有IP地址对应的公网IP地址;其中,针对不同租户设置的虚拟机的私有IP地址对应的转换IP地址不同,且针对同一租户设置的不同虚拟机的私有IP地址对应的转换IP地址不同;
根据针对每个租户设置的每个虚拟机的私有IP地址对应的转换IP地址,确定对应所述目标转换地址的目标虚拟机所归属的目标租户;
根据针对所述目标租户设置的每个虚拟机的私有IP地址对应的公网IP地址,确定所述目标虚拟机的私有IP地址对应的目标公网IP地址;
将所述第一IP报文中的所述目标转换IP地址替换为所述目标公网IP地址,得到处理后的第一IP报文;
控制所述通信接口将所述处理后的第一IP报文发送给公网中的设备。
16.如权利要求15所述的网关设备,其特征在于,每个虚拟机的私有IP地址对应的转换IP地址所在的网段与该虚拟机的私有IP地址所在的网段不同。
17.如权利要求15或16所述的网关设备,其特征在于,所述处理器控制所述通信接口接收所述目标网络节点发送的第一IP报文时,具体用于:
控制所述通信接口接收所述目标网络节点通过物理设备转发的所述第一IP报文。
18.如权利要求15-16任一项所述的网关设备,其特征在于,所述处理器,还用于:
控制所述通信接口接收目的地址为所述目标公网IP地址的第二IP报文;
确定所述目标公网IP地址对应的所述目标转换IP地址;
将所述第二IP报文中的所述目标公网IP地址替换为所述目标转换IP地址,得到处理后的第二IP报文;
控制所述通信接口将所述处理后的第二IP报文发送给所述目标网络节点。
19.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机可执行程序,所述计算机可执行程序在被所述计算机调用时用于使所述计算机执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810213986.9A CN108566445B (zh) | 2018-03-15 | 2018-03-15 | 一种报文传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810213986.9A CN108566445B (zh) | 2018-03-15 | 2018-03-15 | 一种报文传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108566445A CN108566445A (zh) | 2018-09-21 |
CN108566445B true CN108566445B (zh) | 2020-12-08 |
Family
ID=63531740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810213986.9A Active CN108566445B (zh) | 2018-03-15 | 2018-03-15 | 一种报文传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108566445B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294319B (zh) * | 2018-12-07 | 2022-05-27 | 网宿科技股份有限公司 | 网络隔离的方法、装置,网络设备和可读存储介质 |
CN111294316B (zh) * | 2018-12-07 | 2022-07-01 | 网宿科技股份有限公司 | 基于用户态协议栈虚拟路由器的网络隔离方法和装置 |
CN111294268B (zh) * | 2018-12-07 | 2021-06-08 | 华为技术有限公司 | 避免ip地址冲突的方法及装置 |
CN111371666B (zh) * | 2018-12-26 | 2021-12-31 | 华为技术有限公司 | 一种处理报文的方法、设备及系统 |
CN111010329B (zh) * | 2019-03-20 | 2021-09-21 | 新华三技术有限公司 | 一种报文传输方法及装置 |
CN110545205B (zh) * | 2019-09-03 | 2021-11-30 | 北京首都在线科技股份有限公司 | 基于Paas网络的租户数据处理方法及处理装置 |
CN113709200B (zh) * | 2020-05-21 | 2023-11-28 | 阿里巴巴集团控股有限公司 | 一种建立通信连接的方法及装置 |
CN114679370B (zh) * | 2021-05-20 | 2024-01-12 | 腾讯云计算(北京)有限责任公司 | 一种服务器托管方法、装置、系统及存储介质 |
CN114157632B (zh) * | 2021-10-12 | 2023-11-21 | 北京华耀科技有限公司 | 网络隔离方法、装置、设备和存储介质 |
CN115514692A (zh) * | 2022-09-20 | 2022-12-23 | 深信服科技股份有限公司 | 一种资源池内网络交互方法、系统、存储介质和终端 |
CN116170406B (zh) * | 2023-01-18 | 2024-10-11 | 阿里云计算有限公司 | 用于实现虚拟机与公网通信的系统和方法 |
CN116567109A (zh) * | 2023-05-31 | 2023-08-08 | 曙光云计算集团有限公司 | 一种报文传输方法、装置、电子设备及存储介质 |
CN117014371B (zh) * | 2023-07-05 | 2024-10-18 | 曙光云计算集团股份有限公司 | 网络流量的处理方法、装置、电子设备及存储介质 |
CN117176720A (zh) * | 2023-09-26 | 2023-12-05 | 曙光云计算集团有限公司 | 一种租户隔离管理方法、装置、设备以及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562639A (zh) * | 2009-05-14 | 2009-10-21 | 深圳华为通信技术有限公司 | 信息同步方法、装置和系统 |
US7814541B1 (en) * | 2006-05-19 | 2010-10-12 | Array Networks, Inc. | Virtual routing for virtual local area networks having overlapping IP addresses |
CN102204191A (zh) * | 2011-05-31 | 2011-09-28 | 华为技术有限公司 | 一种报文转发方法和网间路由装置 |
CN102215273A (zh) * | 2010-04-12 | 2011-10-12 | 杭州华三通信技术有限公司 | 一种为内网用户提供外网接入的方法和装置 |
CN102780602A (zh) * | 2012-07-31 | 2012-11-14 | 深圳市共进电子股份有限公司 | 一种数据传输方法及装置 |
CN103167006A (zh) * | 2011-12-19 | 2013-06-19 | 中国电信股份有限公司 | 虚拟机提供Web服务的方法、虚拟机监控器与系统 |
CN104639497A (zh) * | 2013-11-06 | 2015-05-20 | 华为技术有限公司 | 远程访问配置方法、远程访问方法、装置和系统 |
CN105978957A (zh) * | 2016-04-28 | 2016-09-28 | 汉柏科技有限公司 | 一种适于云数据中心多租户的公网ip共享方法及装置 |
-
2018
- 2018-03-15 CN CN201810213986.9A patent/CN108566445B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814541B1 (en) * | 2006-05-19 | 2010-10-12 | Array Networks, Inc. | Virtual routing for virtual local area networks having overlapping IP addresses |
CN101562639A (zh) * | 2009-05-14 | 2009-10-21 | 深圳华为通信技术有限公司 | 信息同步方法、装置和系统 |
CN102215273A (zh) * | 2010-04-12 | 2011-10-12 | 杭州华三通信技术有限公司 | 一种为内网用户提供外网接入的方法和装置 |
CN102204191A (zh) * | 2011-05-31 | 2011-09-28 | 华为技术有限公司 | 一种报文转发方法和网间路由装置 |
CN103167006A (zh) * | 2011-12-19 | 2013-06-19 | 中国电信股份有限公司 | 虚拟机提供Web服务的方法、虚拟机监控器与系统 |
CN102780602A (zh) * | 2012-07-31 | 2012-11-14 | 深圳市共进电子股份有限公司 | 一种数据传输方法及装置 |
CN104639497A (zh) * | 2013-11-06 | 2015-05-20 | 华为技术有限公司 | 远程访问配置方法、远程访问方法、装置和系统 |
CN105978957A (zh) * | 2016-04-28 | 2016-09-28 | 汉柏科技有限公司 | 一种适于云数据中心多租户的公网ip共享方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108566445A (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566445B (zh) | 一种报文传输方法及装置 | |
US10541836B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
CN113132201B (zh) | 一种vpc之间的通信方法及装置 | |
CN110999265B (zh) | 管理云计算服务端点和虚拟机之间的网络连接性 | |
CN108347493B (zh) | 混合云管理方法、装置和计算设备 | |
CN111866064B (zh) | 一种负载均衡的方法、装置和系统 | |
CN107872542B (zh) | 一种数据传输的方法及网络设备 | |
CN108293022B (zh) | 一种报文传输的方法、装置和系统 | |
US9825900B2 (en) | Overlay tunnel information exchange protocol | |
CN103200069B (zh) | 一种报文处理的方法和设备 | |
US9813258B2 (en) | Data center networks | |
CN106533890B (zh) | 一种报文处理方法、装置及系统 | |
WO2016055027A1 (en) | Table entry in software defined network | |
CN114338606B (zh) | 一种公有云的网络配置方法及相关设备 | |
US11956100B1 (en) | System for scaling network address translation (NAT) and firewall functions | |
CN105591982A (zh) | 一种报文传输的方法和装置 | |
CN110213148B (zh) | 一种数据传输的方法、系统及装置 | |
CN105264837B (zh) | 一种数据报文的传输系统、传输方法和设备 | |
US9344364B2 (en) | Data center networks | |
WO2016206562A1 (zh) | 一种配置用户设备转发表的方法、装置及系统 | |
CN114679370B (zh) | 一种服务器托管方法、装置、系统及存储介质 | |
US9819594B2 (en) | Information processing system and controlling method and controlling device for the same | |
CN104717313B (zh) | mDNS网关地址配置方法与装置 | |
CN118631609A (zh) | 一种基于隧道技术的报文处理方法以及装置 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220217 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. |