CN116248595A - 一种云内网与物理网通信的方法、装置、设备以及介质 - Google Patents

一种云内网与物理网通信的方法、装置、设备以及介质 Download PDF

Info

Publication number
CN116248595A
CN116248595A CN202310251355.7A CN202310251355A CN116248595A CN 116248595 A CN116248595 A CN 116248595A CN 202310251355 A CN202310251355 A CN 202310251355A CN 116248595 A CN116248595 A CN 116248595A
Authority
CN
China
Prior art keywords
target
virtual machine
data message
virtual
cloud
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.)
Granted
Application number
CN202310251355.7A
Other languages
English (en)
Other versions
CN116248595B (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.)
Anchao Cloud Software Co Ltd
Original Assignee
Anchao Cloud Software 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 Anchao Cloud Software Co Ltd filed Critical Anchao Cloud Software Co Ltd
Priority to CN202310251355.7A priority Critical patent/CN116248595B/zh
Publication of CN116248595A publication Critical patent/CN116248595A/zh
Application granted granted Critical
Publication of CN116248595B publication Critical patent/CN116248595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

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

本申请是关于一种云内网与物理网通信的方法、装置、设备及介质,所述方法包括,所述目标转发面接收所述目标虚拟机发送的第一ARP请求,并将与所述第一ARP请求对应的第一ARP应答信息发送给所述目标虚拟机;所述目标转发面接收所述目标虚拟机主机发送的第一数据报文,并在目标转发表中查找所述第一数据报文对应的下一跳信息;当所述下一跳信息为所述第一虚拟接口时,把所述第一数据报文发送至所述第一虚拟接口,以通过所述目标物理接口将所述第一数据报文发送至目标物理网。以避免使用特定类型的硬件路由器从而避免用户被厂商绑定。

Description

一种云内网与物理网通信的方法、装置、设备以及介质
技术领域
本申请涉及云计算技术领域,具体涉及一种云内网与物理网通信的方法、装置、设备以及介质。
背景技术
随着云计算技术的发展与应用,众多企业使用多云、混合云以及云网络与物理网络混合的架构来支持公司的业务发展。其中,Tungsten Fabric云网络环境作为一种开源网络虚拟化解决方案,给企业提供了一种多云网络管理的实施方案,已成为众多企业的选择。
Tungsten Fabric云网络环境将控制面与转发面分离,并利用虚拟路由器(vRouter)在转发面实现云内主机之间的数据交互。但在云内虚拟机与云外物理网通信时,通常需要通过硬件路由器与Tungsten Fabric云网络环境中控制面的软件定义网络(Software-defined Networking,SDN)控制器构建边界网关协议(Border GatewayProtocol,BGP)连接。再利用BGP连接,将云外物理网关的IP等信息以默认路由的方式通告给SDN控制器,进而使SDN控制器将云外物理网关的IP等信息下发给转发面以实现云内虚拟机与云外物理网之间的通信。
上述方案往往需要特定类型的硬件路由器与SDN控制器搭建BGP连接,使得使用Tungsten Fabric云网络环境的用户常常会被厂商绑定。
发明内容
本申请提供了一种云内网与物理网通信的方法、装置、设备及介质,在实现云内虚拟机与云外物理网络通信的同时,避免使用特定类型的硬件路由器从而避免用户被厂商绑定,该技术方案如下。
一方面,提供了云内网与物理网通信的方法,云内网中包括目标转发面以及目标虚拟机;目标转发面的第一虚拟接口与目标物理网卡上的目标物理接口关联;目标虚拟机与目标转发面通过第二虚拟接口连接;
所述方法包括:
目标转发面接收目标虚拟机发送的第一ARP请求,并将与第一ARP请求对应的第一ARP应答信息发送给目标虚拟机;
目标转发面接收目标虚拟机主机发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息;第一数据报文为目标虚拟机在接收到第一ARP应答信息后发送的数据报文;
当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口,以通过目标物理接口将第一数据报文发送至目标物理网。
可选的,云内网包括目标云内子网,目标云内子网包括第一虚拟机以及第一虚拟接口,目标转发面与目标云内子网相对应,所述方法还包括:
目标转发面接收目标物理网发送的第二ARP请求,并将与第二ARP请求对应的第二ARP应答信息发送给目标物理网;
目标转发面接收目标物理网发送的第二数据报文,并检查第二数据报文中是否包括目标云内子网的标签信息;第二数据报文为目标物理网在接收到第二ARP应答信息后通过目标物理接口发送的数据报文;
在第二数据报文中包括目标云内子网的标签信息时,目标转发面在目标转发表中查找第二数据报文对应的下一跳信息;
当第二数据报文对应的下一跳信息为第一虚拟机对应的虚拟接口时,把第二数据报文发送至第一虚拟机对应的虚拟接口,以通过第一虚拟机对应的虚拟接口将第二数据报文发送至第一虚拟机。
可选的,云内网包括与目标转发面通信连接的控制面,在目标转发表中查找第一数据报文对应的下一跳信息之前,所述方法还包括:
目标转发面通过第一虚拟接口接收第三ARP应答信息,并根据第三ARP应答信息,构建目标转发表;
第三ARP应答信息为目标物理网的物理网关在接收到控制面根据目标云内子网的IP地址以及MAC地址向物理网关发送DAD请求或ACD请求后,向目标物理网卡发送的包括目标云内子网的标签信息的ARP应答信息,或目标物理网中的物理机在接收到目标云内子网中的虚拟机发出的ARP请求后,向目标云内子网中的虚拟机发送的包括目标云内子网的标签信息的ARP应答信息。
可选的,目标转发表包括二层转发表和三层转发表,根据第三ARP应答信息,构建目标转发表包括:
目标转发面提取第三ARP请求中的第一IP地址以及第一MAC地址;
把第一MAC地址安装到二层转发表中,并构建第一MAC地址对应的下一跳信息;
把第一IP地址安装到三层转发表中,并构建第一IP地址对应的下一跳信息。
可选的,把第一MAC地址安装到二层转发表中,并构建第一MAC地址对应的下一跳信息包括:
当第一MAC地址为物理网的网关MAC地址或云内子网的公网网关MAC地址时,将第一MAC地址对应的下一跳信息确定为三层查找;
当第一MAC地址为物理机的MAC地址时,将第一MAC地址对应的下一跳信息确定为第一虚拟接口;
当第一MAC地址为广播地址时,将第一MAC地址对应的下一跳信息确定为目标云内子网的所有虚拟接口;
当第一MAC地址为虚拟机的MAC地址时,将第一MAC地址对应的下一跳信息确定为虚拟机对应的虚拟接口。
可选的,把第一IP地址安装到三层转发表中,并构建第一IP地址对应的下一跳信息包括:
当第一IP地址为物理网的网关IP地址或云内子网的公网网关IP地址时,将第一IP地址对应的下一跳信息确定为第一虚拟接口;
当第一IP地址为物理机的IP地址时,将第一IP地址对应的下一跳信息确定为第一虚拟接口;
当第一IP地址为虚拟机的IP地址时,将第一IP地址对应的下一跳信息确定为虚拟机对应的虚拟接口。
可选的,云内网包括云内私网以及目标云内子网,云内私网包括绑定目标浮动IP的第二虚拟机以及私网网关,目标云内子网包括目标浮动IP,所述方法还包括:
目标转发面接收第二虚拟机发送的请求私网网关的VRRPMAC地址的第四ARP请求,并将与第四ARP请求对应的第四ARP应答信息发送给第二虚拟机;
目标转发面接收第二虚拟机主机发送的第三数据报文,并将第三数据报文中第二虚拟机的IP地址转化为目标浮动IP,得到转化后第三数据报文;第三数据报文为第二虚拟机在接收到第四ARP应答信息后发送的数据报文;
在目标转发表中查找转化后第三数据报文对应的下一跳信息;
当下一跳信息为第一虚拟接口时,把转化后第三数据报文发送至第一虚拟接口,以通过目标物理接口将第三数据报文发送至目标物理网。
可选的,目标云内子网包括第一计算节点以及第二计算节点,第一计算节点与第二计算节点通过隧道通信连接;第一计算节点包括目标虚拟机以及第一虚拟接口;第二计算节点包括目标云内虚拟机以及第三虚拟接口,目标云内虚拟机与目标转发面通过第三虚拟接口连接;
所述方法还包括:
目标转发面接收目标虚拟机发送的第五ARP请求,并将与第五ARP请求对应的第五ARP应答信息发送给目标虚拟机;
目标转发面接收目标虚拟机主机发送的第四数据报文,并在目标转发表中查找第四数据报文对应的下一跳信息;第四数据报文为目标虚拟机在接收到第五ARP应答信息后发送的数据报文;
当第四数据报文对应的下一跳信息为第三虚拟接口时,把第四数据报文通过隧道发送至第三虚拟接口,以使第四数据报文发送至目标云内虚拟机。
又一方面,提供了一种云内网与物理网通信的装置,云内网中包括目标转发面以及目标虚拟机;目标转发面的第一虚拟接口与目标物理网卡上的目标物理接口关联;目标虚拟机与目标转发面通过第二虚拟接口连接;
所述装置包括:
第一发送模块,用于目标转发面接收目标虚拟机发送的第一ARP请求,并将与第一ARP请求对应的第一ARP应答信息发送给目标虚拟机;
查找模块,用于目标转发面接收目标虚拟机主机发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息;第一数据报文为目标虚拟机在接收到第一ARP应答信息后发送的数据报文;
第二发送模块,用于当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口,以通过目标物理接口将第一数据报文发送至目标物理网。
再一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的云内网与物理网通信的方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的云内网与物理网通信的方法。
再一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质中读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述云内网与物理网通信的方法。
本申请提供的技术方案可以包括以下有益效果:
在云内网与物理网通信时,目标转发面接收目标虚拟机在接收到第一ARP应答信息后通过第二虚拟接口向目标转发面发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息;当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口。由于云内网中目标转发面上的第一虚拟接口与目标物理网卡上的目标物理接口关联,使得通过第一虚拟接口的数据报文能够通过目标物理接口到达物理网卡,进而进入物理网。所以将第一数据报文发送至第一虚拟接口后,第一数据报文就可以通过目标物理接口进入目标物理网,实现云内虚拟机与物理网的通信。利用目标转发面与目标物理网卡相关联,并通过目标转发面中的目标转发表来查找第一数据报文对应的下一跳信息,实现云内网与物理网通信时,第一数据报文的路由行为,能够模拟硬件路由器的功能,可以避免使用特定类型的硬件路由器从而避免用户被厂商绑定。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种云内网与物理网通信系统的结构示意图。
图2是根据一示例性实施例示出的一种云内网与物理网通信的方法的方法流程图。
图3是根据一示例性实施例示出的一种云内网与物理网通信的方法的方法流程图。
图4是根据一示例性实施例示出的一种云内网与物理网通信的方法的方法流程图。
图5是根据一示例性实施例示出的一种云内网与物理网通信的方法的方法流程图。
图6是根据一示例性实施例示出的一种云内网与物理网通信的装置的结构方框图。
图7示出了本申请一示例性实施例示出的计算机设备的结构框图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,在本申请的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
本申请实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
为了便于对本申请说明书的理解,首先对本申请涉及到的术语进行介绍:
虚拟局域网(Virtual Local Area Network,VLAN):是一种建构于局域网交换技术的网络管理的技术,可以将一个物理的局域网在逻辑上划分成多个独立广播域。
重复地址检测(Duplicate Address Detection,DAD):控制面在配置地址时,进行地址重复性检测,以确认在链路上某地址的唯一性的过程。
地址冲突检测(Address Conflict Detection,ACD):针对局域网地址冲突问题以及免费ARP解决方案的缺陷提出的一个新的机制,是对DAD的升级机制,能够避免网段内物理机的cache污染。
虚拟路由转发实例(Virtual Routing and Forwarding,VRF):一种计算机网络中使用的允许在一个路由器上存在有多个VRF表,这些VRF表是和路由器上的一个或多个子接口相对应的,用于存放这些子接口所属虚拟专用网(VPN)的路由信息,VRF之间是相互隔离的。
地址解析协议(Address Resolution Protocol,ARP):能够通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信顺利的协议。
默认路由:是一种特殊的静态路由,指的是当路由表中与数据包的目的地址之间没有匹配的表项时路由器能够做出的选择,如果没有默认路由,那么目的地址在路由表中没有匹配表项的数据包将被丢弃。
二层转发表(Bridge表):一种利用MAC地址转发的表。
三层转发表(Inet/Inet6表):一种利用IP地址转发的表。
转发面:也称数据面,决定对流入接口的数据报文进行何种处理,如依据报文中的目的IP地址及其他属性参数,根据路由表选择适当的路由路径进行转发。
控制面:控制整个网络的拓扑以及数据流向。
源网络地址转换(Source Network Address Translation,SNAT):将IP数据报文的源地址转换成另外一个地址。
图1是根据一示例性实施例示出的一种云内网与物理网通信系统的结构示意图。云内网中包含转发面111、控制面112以及目标云内子网,目标云内子网包括第一虚拟转发实例VRF1、虚拟接口port1、虚拟接口tap1以及虚拟机VM1,第一虚拟转发实例VRF1包含转发表A;物理网包括物理接口121以及物理网关122;物理接口121设置在物理网卡上且与虚拟接口port1关联,物理接口121与物理网关122通信连接,控制面112与转发面111通信连接。
其中,转发面111对目标云内子网中的数据报文进行处理,虚拟接口port1设置在第一虚拟转发实例VRF1上,以使第一虚拟转发实例VRF1中的数据报文可以通过虚拟接口port1进入到物理网卡;虚拟机VM1通过虚拟接口tap1与第一虚拟转发实例VRF1连接。目标云内子网是云内网中的一个VLAN;虚拟接口tap1可以是任意一种与虚拟机连接的提供数据收发功能的虚拟网络设备,例如,tap设备;虚拟接口port1可以是任意一种与转发面连接的提供数据收发功能的虚拟网络设备。转发表A包括二层转发表和三层转发表。
在目标云内子网中的虚拟机VM1访问物理网关122时,虚拟机VM1会通过虚拟接口tap1向转发面111发送请求物理网关122的MAC地址的ARP请求;转发面111接收到虚拟机VM1发送的ARP请求时,会将与该ARP请求对应的ARP应答信息发送给虚拟机VM1。虚拟机VM1在接收到转发面发送的ARP应答信息时,会通过虚拟接口tap1将需要转发给物理网关122的数据报文发送到第一转发实例VRF1中,转发面111就接收到虚拟机VM1发送的数据报文,转发面111会在第一转发实例VRF1中的转发表A中查找该数据报文对应的下一跳信息,在下一跳信息为虚拟接口port1时,转发面111会将数据报文发送到虚拟接口port1,以通过物理接口121将数据报文发送至物理网卡,进而通过物理网卡使数据报文进入到物理网关122。
可选的,物理网包括设置在物理网卡上的物理接口123以及至少一个物理机124,物理接口121、物理接口123、物理机124以及物理网关122之间通信连接;目标云内子网包括计算节点1以及计算节点2,计算节点1包括第一虚拟转发实例VRF1、虚拟接口port1、虚拟接口tap1以及虚拟机VM1;计算节点2包括第二虚拟转发实例VRF2、虚拟接口port2、虚拟接口tap2以及虚拟机VM2,第二虚拟转发实例VRF2包含转发表B;计算节点1与计算节点2的内部均部署有转发面111,以使转发面111能够对计算节点1和计算节点2中的数据报文进行处理;计算节点1包括内网物理接口inter1,计算节点2包括内网物理接口inter2。
其中,目标云内子网是云内网中的一个VLAN,虚拟接口port2设置在第二虚拟转发实例VRF2上并与物理接口123关联,以使第二虚拟转发实例VRF2中的数据报文可以通过虚拟接口port2进入到物理网卡;虚拟机VM2通过虚拟接口tap2与第二虚拟转发实例VRF2连接;内网物理接口inter1与内网物理接口inter2通过隧道tunnel连接,以实现计算节点1与计算节点2中的数据交互。转发表B包括二层转发表和三层转发表。虚拟机VM1为计算节点1中的任意一个虚拟机,虚拟机VM2为计算节点2在的任意一个虚拟机。
另外,虚拟接口port1可以包括第一VLAN标签信息,虚拟接口port2可以包括第二VLAN标签信息。转发面111在把数据报文发送至虚拟接口port1或虚拟接口port2时,可以把虚拟接口port1或虚拟接口port2中包括的VLAN标签信息安装在数据报文上,以通过物理接口121或物理接口123将带有第一VLAN标签信息或第二VLAN标签信息的数据报文发送至物理网关122或物理机124。VLAN标签信息是以太网数据帧中加入的VLANTag字段。
可选的,物理网的物理网卡为物理网专用的物理网卡,不同于云内网中的业务网卡。
图2是根据一示例性实施例示出的一种云内网与物理网通信的方法的流程图。该方法由转发面执行,该转发面可以是如图1所示的转发面111。如图2所示,该云内网与物理网通信的方法可以包括如下步骤:
步骤201,目标转发面接收目标虚拟机发送的第一ARP请求,并将与第一ARP请求对应的第一ARP应答信息发送给目标虚拟机。
其中,云内网中包括目标转发面以及目标虚拟机,目标转发面的第一虚拟接口与目标物理网卡上的目标物理接口关联,目标虚拟机与目标转发面通过第二虚拟接口连接;目标转发面内存储有ARP缓存表项,第一ARP请求为目标虚拟机请求物理网中目标网络设备的MAC地址的ARP请求;第一虚拟接口可以是图1中的虚拟接口port1或虚拟接口port2,第二虚拟接口可以是图1中的虚拟接口tap1或虚拟接口tap2,目标虚拟机可以是图1中的虚拟机VM1或虚拟机VM2。
本申请实例以第一虚拟接口为图1中的虚拟接口port1,目标虚拟机为图1中的虚拟机VM1,目标转发面为图1中的转发面111为例,目标虚拟机要访问物理网中的目标网络设备(目标网络设备可以是物理网中任意一台可以回复ARP请求并可以与云内网中的虚拟机进行数据交互的网络设备,例如,物理网中的物理网关或物理机)时,会向目标转发面发送请求目标网络设备的MAC地址的第一ARP请求,目标转发面就接收到第一ARP请求并根据ARP缓存表项,代答第一ARP请求。具体的,目标转发面接收到第一ARP请求时会在ARP缓存表项中查找与第一ARP请求相对应的MAC地址;当查找到与第一ARP请求相对应的MAC地址时,目标转发面将包括与第一ARP请求相对应的MAC地址的ARP应答信息确定为与第一ARP请求对应的第一ARP应答信息,并将第一ARP应答信息发送给目标虚拟机。可以理解的是,第一ARP应答信息包括目标虚拟机的IP地址和MAC地址以及目标网络设备的IP地址和MAC地址。
步骤202,目标转发面接收目标虚拟机主机发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息。
其中,目标转发表包括二层转发表和三层转发表,二层转发表为MAC地址对应的下一跳信息转发表,三层转发表为IP地址对应的下一跳信息转发表;第一数据报文为目标虚拟机在接收到第一ARP应答信息后发送的数据报文,第一数据报文包括第一ARP应答信息中目标网络设备的IP地址以及目标网络设备的MAC地址。二层转发表中的下一跳信息包括第一虚拟接口、第二虚拟接口以及三层查找;三层转发表中的下一跳信息包括第一虚拟接口、第二虚拟接口以及默认路由。
目标虚拟机在接收到目标转发面发送的第一ARP应答信息后,会通过第二虚拟接口把要发送给目标物理设备的第一数据报文发送给目标转发面,目标转发面就接收到第一数据报文,并在目标转发表中查找目标网络设备的MAC地址对应的下一跳信息。具体的,目标转发面优先在二层转发表中查找目标网络设备的MAC地址的下一跳信息:当二层转发表中目标网络设备的MAC地址的下一跳信息为第一虚拟接口或第二虚拟接口时,将二层转发表中目标网络设备的MAC地址的下一跳信息作为第一数据报文的下一跳信息;当二层转发表中目标网络设备的MAC地址的下一跳信息为三层查找时,目标转发面转而在三层转发表中查找目标网络设备的IP地址的下一跳信息,将在三层转发表中查找到的下一跳信息作为第一数据报文的下一跳信息。
步骤203,当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口,以通过目标物理接口将第一数据报文发送至目标物理网。
在步骤202中查找到的第一数据报文对应的下一跳信息为第一虚拟接口时,目标转发面将第一数据报文发送至第一虚拟接口,第一数据报文就通过与第一虚拟接口关联的目标物理接口进入到目标物理网卡中,进而进入到目标物理网中的目标网络设备中。目标物理网可以是图1中的物理网。
可选的,当第一数据报文对应的下一跳信息为默认路由时,目标转发面将第一数据报文发送至第一虚拟接口,以通过目标物理接口将第一数据报文发送至目标物理网。
综上所述,在云内网与物理网通信时,目标转发面接收目标虚拟机在接收到该第一ARP应答信息后通过第二虚拟接口向目标转发面发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息;当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口。由于云内网中目标转发面上的第一虚拟接口与目标物理网卡上的目标物理接口关联,使得通过第一虚拟接口的数据报文能够通过目标物理接口到达物理网卡,进而进入物理网。所以将第一数据报文发送至第一虚拟接口后,第一数据报文就可以通过目标物理接口进入目标物理网,实现云内虚拟机与物理网的通信。利用目标转发面与目标物理网卡相关联,并通过目标转发面中的目标转发表来查找第一数据报文对应的下一跳信息,实现云内网与物理网通信时,第一数据报文的路由行为,能够模拟硬件路由器的功能,可以避免使用特定类型的硬件路由器从而避免用户被厂商绑定。
图3是根据一示例性实施例示出的一种云内网与物理网通信的方法的流程图。该方法由转发面执行,该转发面可以是如图1所示的转发面111。如图3所示,该云内网与物理网通信的方法还可以包括如下步骤:
步骤301,目标转发面接收目标虚拟机发送的第一ARP请求,并将与第一ARP请求对应的第一ARP应答信息发送给目标虚拟机。
本申请实施例中的步骤301与上述实施例中的步骤201类似,在此不做赘述。
步骤302,目标转发面通过第一虚拟接口接收第三ARP应答信息,并根据第三ARP应答信息,构建目标转发表。
其中,云内网包括目标云内子网,目标云内子网包括第一虚拟接口以及目标转发表,目标转发面与目标云内子网相对应,云内网包括与目标转发面通信连接的控制面,控制面可以是图1所示的控制面112,第三ARP应答信息为目标物理网的物理网关在接收到控制面根据目标云内子网的IP地址以及MAC地址向物理网关发送DAD请求或ACD请求后,向目标物理网卡发送的包括目标云内子网的标签信息的ARP应答信息,或目标物理网中的物理机在接收到目标云内子网中的虚拟机发出的ARP请求后,向目标云内子网中的虚拟机发送的目标云内子网的标签信息的ARP应答信息。
本申请实施例依旧以目标转发面为图1中的转发面111为例,控制面会定时根据目标云内子网的IP地址以及MAC地址向目标物理中的物理网关发送DAD请求或ACD请求;物理网关在接收该DAD请求或ACD请求后会定向发送ARP应答信息至目标物理网卡。ARP应答信息会通过目标物理网卡的目标物理接口到达第一虚拟接口,在物理网关向目标物理网卡发送的ARP应答信息包括目标云内子网的标签信息时,第一虚拟接口就会允许ARP应答信息会通过,进而目标转发面就通过第一虚拟接口接收到包括目标云内子网的标签信息的ARP应答信息也即第三ARP应答信息。进而依据第三ARP应答信息构建目标转发表。
或者,目标物理网中的物理机在接收到目标云内子网中的虚拟机发出的ARP请求后,会通过目标物理网卡向目标云内子网中的虚拟机发送包括目标云内子网的标签信息的ARP应答信息。该ARP应答信息在通过目标物理网卡的目标物理接口到达第一虚拟接口后,由于其包括目标云内子网的标签信息,第一虚拟接口就会允许该ARP应答信息会通过,进而目标转发面就通过第一虚拟接口接收到第三ARP应答信息。进而依据第三ARP应答信息构建目标转发表。
目标转发面根据第三ARP应答信息,构建目标转发表可以包括如下步骤:
目标转发面提取第三ARP请求中的第一IP地址以及第一MAC地址。
其中,第三ARP应答信息包括目标云内子网的IP地址、目标云内子网的MAC地址、目标物理网中网络设备的IP地址以及目标物理网中网络设备的MAC地址。目标云内子网的IP地址以及MAC地址可以是目标云内子网中至少一个网络设备(例如,目标云内子网中的公共网关或虚拟机)的IP地址以及MAC地址;目标转发表包括二层转发表和三层转发表。
目标转发面在接收到第三ARP应答信息后就可以从第三ARP应答信息中提取出至少一个IP地址也即第一IP地址以及至少一个MAC地址也即第一MAC地址。
把第一MAC地址安装到二层转发表中,并构建第一MAC地址对应的下一跳信息。
目标转发面会将第一MAC地址都安装到目标云内子网中的VRF下的二层转发表中,并确定第一MAC地址对应的下一跳信息。具体的,当第一MAC地址为物理网的网关MAC地址或云内子网的公网网关MAC地址时,目标转发面将第一MAC地址对应的下一跳信息确定为三层查找;当第一MAC地址为物理机的MAC地址时,目标转发面将第一MAC地址对应的下一跳信息确定为第一虚拟接口;当第一MAC地址为广播地址(也即全F地址)时,目标转发面将第一MAC地址对应的下一跳信息确定为目标云内子网的所有虚拟接口;当第一MAC地址为虚拟机的MAC地址时,目标转发面将第一MAC地址对应的下一跳信息确定为虚拟机对应的虚拟接口,具体如表1所示的二层转发表。虚拟机对应的虚拟接口为虚拟机与目标云内子网中VRF进行数据交互的接口,例如,当虚拟机为图1所示的虚拟机VM1,目标云内子网中VRF为第一虚拟转发实例VRF1时,虚拟机VM1对应的虚拟接口为虚拟接口tap1。
可选的,云内网包括与目标转发面通信连接的控制面,目标云内子网包括第一计算节点以及第二计算节点,第一计算节点与第二计算节点通过隧道通信连接;第一计算节点包括目标虚拟机、第一虚拟接口、第二虚拟接口以及第一内网物理接口;第二计算节点包括目标云内虚拟机、第三虚拟接口以及第二内网物理接口;目标云内虚拟机通过第三虚拟接口与目标转发面连接;第一内网物理接口与第二内网物理接口通过隧道连接以实现目标云内子网中第一计算节点与第二计算节点之间的通信连接。目标云内虚拟机为第二计算节点中的任意一个虚拟机,第一虚拟机为第一计算节点中的任意一个虚拟机。第一计算节点可以为图1中的计算节点1,第一计算节点可以为图1中的计算节点2,第三虚拟接口可以为图1中的虚拟接口tap2。
可以理解的是,当目标虚拟机访问目标云内虚拟机时,目标转发面依旧会根据接收到的目标虚拟机发送的数据报文,在目标转发表中查找目标云内虚拟机的MAC地址对应的下一跳信息;进而将目标虚拟机发送的数据报文通过隧道发送至第三虚拟接口,以使目标虚拟机发送的数据报文进入目标云内虚拟机。但需要说明的是,由于云内网中各个虚拟机信息均由控制面控制,目标转发面不必再根据接收的APR应答信息构建目标转发表,转而根据控制面下发的包括云内网中各个虚拟机的MAC地址以及IP地址的虚机信息,构建目标转发表。
具体的,目标转发面提取控制面下发的虚机信息中的第二MAC地址以及第二IP地址;把第二MAC地址安装到二层转发表中,并构建第二MAC地址的下一跳信息,具体的,当第二MAC地址为目标虚拟机的MAC地址时,将第二虚拟接口确定为第二MAC地址的下一跳信息;当第二MAC地址为目标云内虚拟机的MAC地址时,将tunnel第三虚拟接口确定为第二MAC地址的下一跳信息,以表示目标转发面需要通过隧道tunnel将数据报文发送到第三虚拟接口。把第二IP地址安装到三层转发表中,并构建第二IP地址对应的下一跳信息,具体的,当第二IP地址为目标虚拟机的IP地址时,将第二虚拟接口确定为第二IP地址的下一跳信息;当第二IP地址为目标云内虚拟机的IP地址时,将tunnel第三虚拟接口确定为第二IP地址的下一跳信息,以表示目标转发面需要通过隧道tunnel将数据报文发送到第三虚拟接口。具体如表1和表2所示。
表1二层转发表
Figure BDA0004127963560000161
把第一IP地址安装到三层转发表中,并构建第一IP地址对应的下一跳信息。
目标转发面会将第一IP地址都安装到目标云内子网中的VRF下的三层转发表中,并确定第一IP地址对应的下一跳信息。具体的,当第一IP地址为物理网的网关IP地址或云内子网的公网网关IP地址时,目标转发面将第一IP地址对应的下一跳信息确定为第一虚拟接口;当第一IP地址为物理机的IP地址时,目标转发面将第一IP地址对应的下一跳信息确定为第一虚拟接口;当第一IP地址为虚拟机的IP地址时,目标转发面将第一IP地址对应的下一跳信息确定为虚拟机对应的虚拟接口,具体如表2所示的三层转发表。
可选的,目标转发面还会在三层转发表中构建下一跳信息为第一虚拟接口的默认路由,默认路由的地址可以为0.0.0.0。
可选的,云内网包括云内私网以及与目标转发面通信连接的控制面,云内私网包括绑定目标浮动IP的第二虚拟机,目标云内子网包括目标浮动IP,在目标转发表中查找第一数据报文对应的下一跳信息之前,云内网与物理网通信的方法还包括:
目标转发面接收控制面下发的表项信息;根据表项信息,构建目标转发表。
其中,表项信息为控制面在接收到第二虚拟机绑定目标浮动IP的请求后,向目标转发面发送的第二虚拟机与目标浮动IP之间的绑定关系的信息。目标云内子网包括至少一个浮动IP,目标浮动IP为第二虚拟机绑定的某一个浮动IP;表项信息包括目标浮动IP以及云内私网中私网网关的MAC地址(需要说明的是,在Tungsten Fabric云网络环境下,私网网关的MAC地址通常为VRRP MAC。);目标转发面根据表项信息,查找出目标浮动IP对应的云内子网为目标云内子网后,构建目标转发表。具体步骤与上述实施例中目标转发面根据虚机信息,构建目标转发表相类似,只不过目标转发面在表项信息中提取的IP地址为目标浮动IP时,目标转发面会将第二虚拟机对应的虚拟接口确定为目标浮动IP下一跳信息;目标转发面在表项信息中提取的MAC地址为VRRP MAC时,目标转发面在二层转发表中会将三层查找确定为VRRP MAC的下一跳信息,第二虚拟机对应的虚拟接口为与第二虚拟机连接的提供数据收发功能的虚拟网络设备,例如,tap设备。具体如表1和表2所示。
表2三层转发表
Figure BDA0004127963560000171
Figure BDA0004127963560000181
步骤303,目标转发面接收目标虚拟机主机发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息。
步骤304,当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口,以通过目标物理接口将第一数据报文发送至目标物理网。
本申请实施例中的步骤303至步骤304与上述实施例中的步骤202至步骤203类似,在此不做赘述。
可选的,当目标转发面在ARP缓存表项中没到查找到与第一ARP请求相对应的MAC地址时,目标转发面会将包括全F地址的第一ARP请求发送到第一虚拟接口中,以使第一ARP请求进入目标物理网卡中,进而进入到目标物理网关。目标物理网关在接收到包括全F地址的第一ARP请求后,会以广播的方式将第一ARP请求发送给目标物理网的所有网络设备,以接收目标网络设备返回的第一ARP应答信息,并将第一ARP应答信息发送至目标物理网卡。目标转发面就会通过第一虚拟接口接收目标网络设备从目标物理接口返回的第一ARP应答信息,将第一ARP信息发送给目标虚拟机。同时,目标转发面会提取第一ARP应答信息中的IP地址以及MAC地址;根据第一ARP应答信息中的IP地址以及MAC地址构建目标转发表。
示例性的,结合图1,在一种应用场景中,计算节点1中的虚拟机VM1访问物理网,首先虚拟机VM1向转发面111发送请求物理网关122的MAC地址的ARP请求,转发面111会依据虚拟机VM1发送的ARP请求中物理网关122的IP地址,在存储的ARP缓存表项中查找物理网关122的IP地址对应的MAC地址并将其封装为ARP应答信息发送给虚拟机VM1以实现对虚拟机VM1发送的ARP请求的代答行为。
虚拟机VM1在接收到ARP应答信息后,通过虚拟接口tap1将要发送给物理网关122的数据以及物理网关122的IP地址和物理网关122的MAC地址整合为数据报文发送给第一虚拟转发实例VRF1,数据报文就进入转发面111;进而转发面111根据物理网关122的MAC地址在转发表A中的二层转发表中查找到物理网关122的MAC地址对应的下一跳信息为三层查找;转发面111转而根据物理网关122的IP地址到转发表A中的三层转发表查找到物理网关122的IP地址对应的下一跳信息为第一虚拟接口,进而转发面111就将虚拟接口port1中包括的第一VLAN标签信息安装在数据报文上,并把包括第一VLAN标签信息的数据报文发送到虚拟接口port1,以通过物理接口121将包括第一VLAN标签信息的数据报文发送至物理网卡,进而通过物理网卡使包括第一VLAN标签信息的数据报文进入到物理网关122,以使包括第一VLAN标签信息的数据报文进而到物理网。
需要说明的是,当转发面111根据物理网关122的IP地址到转发表A中的三层转发表没有查找到物理网关122的IP地址对应的具体路由条目,也即没有查找到物理网关122的IP地址对应的下一跳信息时,会将默认路由对应的下一跳信息作为数据报文对应的下一跳信息,进而转发面将虚拟接口port1中包括的第一VLAN标签信息安装在数据报文上,并把包括第一VLAN标签信息的数据报文发送到虚拟接口port1。
示例性的,结合图1,在另一种应用场景中,虚拟机VM1访问物理网中同网段的物理机124,由于物理机124与虚拟机VM1同网段,因此此次访问转发面111不需要根据IP地址查找转发表A中的三层转发表。首先虚拟机VM1向转发面111发送请求物理机124的MAC地址的ARP请求,该ARP请求通过虚拟接口port1被安装上第一VLAN标签信息进入到物理接口121进而进入到物理网;物理网中的物理机124响应该ARP请求,并将该ARP请求对应的包括第一VLAN标签信息的ARP应答信息发送到物理网卡,包括该ARP应答信息通过物理接口121到达虚拟接口port1,由于该ARP应答信息包括第一VLAN标签信息,虚拟接口port1允许该ARP应答信息通过进入第一虚拟转发实例VRF1,进而虚拟机VM1以及转发面111都接收到该ARP应答信息。
转发面111根据该ARP应答信息中的IP地址以及MAC地址构建转发表A,虚拟机VM1通过虚拟接口tap1将要发送给物理机124的数据以及物理机124的IP地址和物理机124的MAC地址整合为数据报文发送给第一虚拟转发实例VRF1,数据报文就进入转发面111;转发面111会根据数据报文中物理机124的MAC地址在转发表A的二层转发表中查找物理机124的MAC地址对应的下一跳信息为虚拟接口port1,进而转发面111就将虚拟接口port1中包括的第一VLAN标签信息安装在数据报文上,并把包括第一VLAN标签信息的数据报文发送到虚拟接口port1,以通过物理接口121将包括第一VLAN标签信息的数据报文发送至物理网卡,进而通过物理网卡使包括第一VLAN标签信息的数据报文进入到物理机124。
综上所述,目标转发面根据ARP应答信息中的IP地址以及MAC地址,构建出下一跳信息为第一虚拟接口、三层查找或目标云内子网中的虚拟机对应的虚拟接口的目标转发表,实现了目标转发面通过目标转发表直接查找出数据报文对应的下一跳信息,不必再依赖控制面查找数据报文的路由信息。并且由于目标转发表中物理网中的网关及物理机的IP地址和MAC地址对应的下一跳信息都是第一虚拟接口,实现了云内网与物理网通信时的第一数据报文通过第一虚拟接口后进入到目标物理网卡转而进入到物理网,不再通过云内网中的业务网卡使第一数据报文进入到物理网,避免了云内网与物理网通信时公用云内网的业务网卡,提高了物理网的性能。
图4是根据一示例性实施例示出的一种云内网与物理网通信的方法的流程图。该方法由转发面执行,该转发面可以是如图1所示的转发面111。如图4所示,该云内网与物理网通信的方法还可以包括如下步骤:
步骤401,目标转发面接收目标物理网发送的第二ARP请求,并将与第二ARP请求对应的第二ARP应答信息发送给目标物理网。
其中,云内网包括目标云内子网,目标云内子网包括第一虚拟机以及第一虚拟接口,目标转发面与目标云内子网相对应;第一虚拟机可以是目标云内子网中任意一台虚拟机,目标物理网可以是图1所示的物理网。
目标物理网中的与第一虚拟机同网段的目标物理机或目标物理网关在接收到第一虚拟机通过第一虚拟接口发送的带有目标云内子网的标签信息的数据报文后,会将带有目标云内子网的标签信息的应答该数据报文的第二数据报文回复给第一虚拟机,此时需要目标物理中的与第一虚拟机同网段的目标物理机或目标物理网关访问第一虚拟机。目标物理网可以是图1中的物理网,目标物理网关可以是图1中的物理网关122。
目标物理中的与第一虚拟机同网段的目标物理机或目标物理网关访问第一虚拟机时,目标物理机或目标物理网关会将请求第一虚拟机的MAC地址的第二ARP请求发送给目标转发面;目标转发面会检查第二ARP请求中是否包括目标云内子网的标签信息,当第二ARP请求中包括目标云内子网的标签信息时,目标转发面就使第一虚拟接口允许第二ARP请求通过,进而目标转发面接收到第二ARP请求并在ARP缓存表项中查找与第二ARP请求相对应的MAC地址;当查找到与第二ARP请求相对应的MAC地址时,目标转发面将包括与第二ARP请求相对应的MAC地址的ARP应答信息确定为与第二ARP请求对应的第二ARP应答信息,并将第二ARP应答信息发送给第一虚拟接口,以使第二ARP应答信息通过第一虚拟接口关联的目标物理接口进入目标物理网卡,进而进入到与第一虚拟机同网段的目标物理机或目标物理网关。可以理解的是,第二ARP应答信息包括第一虚拟机的IP地址和MAC地址。
可选的,当目标转发面在ARP缓存表项中没到查找到与第二ARP请求相对应的MAC地址时,目标转发面通过广播的方式将第二ARP请求发送目标云内子网中的所有虚拟接口中,以接收第一虚拟机返回的第二ARP应答信息。
步骤402,目标转发面接收目标物理网发送的第二数据报文,并检查第二数据报文中是否包括目标云内子网的标签信息。
其中,第二数据报文为目标物理网中与第一虚拟机同网段的目标物理机或目标物理网关在接收到第二ARP应答信息后通过目标物理接口发送的数据报文,第二数据报文包括目标云内子网的标签信息、第一虚拟机的IP地址以及MAC地址。
与第一虚拟机同网段的目标物理机或目标物理网关在接收到第二ARP应答信息后,会将第二数据报文发送给目标物理接口,第二数据报文就到达第一虚拟接口,进而进入目标转发面。目标转发面会检查第二数据报文中是否包括目标云内子网的标签信息。当第二数据报文中包括目标云内子网的标签信息时,目标转发面就使第一虚拟接口允许第二数据报文通过,否则第二数据报文无法通过第一虚拟接口。
步骤403,在第二数据报文中包括目标云内子网的标签信息时,目标转发面在目标转发表中查找第二数据报文对应的下一跳信息。
在第二数据报文中包括目标云内子网的标签信息时,目标转发面会并在目标转发表中查找第一虚拟机的MAC地址对应的下一跳信息。具体的,目标转发面在二层转发表中查找第一虚拟机的MAC地址的下一跳信息。当二层转发表中第一虚拟机的MAC地址的下一跳信息为第一虚拟机对应的虚拟接口时,将第一虚拟机的MAC地址的下一跳信息确定为第二数据报文对应的下一跳信息。
步骤404,当第二数据报文对应的下一跳信息为第一虚拟机对应的虚拟接口时,把第二数据报文发送至第一虚拟机对应的虚拟接口,以通过第一虚拟机对应的虚拟接口将第二数据报文发送至第一虚拟机。
在步骤403中查找到的第二据报文对应的下一跳信息为第一虚拟机对应的虚拟接口时,目标转发面就将第二数据报文发送给第一虚拟机对应的虚拟接口,以使第二数据报文进入到第一虚拟机中。
示例性的,结合图1,在另一种应用场景中,第一虚拟机为虚拟机VM1,目标物理网为物理网。在物理网中与虚拟机VM1同网段的物理机124接收到虚拟机VM1发送的带有第一VLAN标签信息的数据报文后,物理机124会向虚拟机VM1返回带有第一VLAN标签信息的应答数据报文,也即同网段物理机124访问虚拟机VM1,此次访问物理机124不需要将应答数据报文发送给同网段的物理网关。在物理机124向虚拟机VM1返回应答数据报文之前,物理机124会通过物理网卡向转发面111发送请求虚拟机VM1是MAC地址的第二ARP请求。第二ARP请求通过物理接口121到达虚拟接口port1,进而进入转发面111。转发面111在检查到第二ARP请求中包括第一VLAN标签信息后,允许第二ARP请求通过虚拟接口port1,进而转发面111会根据第二ARP中虚拟机VM1的IP地址,在存储的ARP缓存表项中查找虚拟机VM1的IP地址对应的MAC地址并将其封装为第二ARP应答信息发送给物理机124,以实现对物理机124,发送的ARP请求的代答行为。
物理机124在接收到第二ARP应答信息后,通过物理网卡将应答数据报文通过物理接口121发送给虚拟机VM1,应答数据报文就到达虚拟接口port1;转发面111在检查到应答数据报文中包括第一VLAN标签信息后,允许应答数据报文通过虚拟接口port1进入第一虚拟转发实例VRF1,转发面111根据虚拟机VM1的MAC地址在转发表A中的二层转发表中查找到虚拟机VM1的MAC地址对应的下一跳信息为虚拟接口tap1,进而转发面111就将应答数据报文通过虚拟接口tap1发送给虚拟机VM1。
示例性的,结合图1,在另一种应用场景中,云内网包括云内私网,云内私网中包括绑定目标云内子网中目标浮动IP的第二虚拟机,物理网中物理机124访问绑定目标浮动IP的第二虚拟机时,图1中未示出第二虚拟机,首先物理机124会通过物理网卡向转发面111发送请求目标浮动IP的MAC地址的第二ARP请求。第二ARP请求通过物理接口121到达虚拟接口port1,进而进入转发面111。转发面111在检查到第二ARP请求中包括第一VLAN标签信息后,允许第二ARP请求通过虚拟接口port1,进而转发面111会根据第二ARP请求中目标浮动IP,在存储的ARP缓存表项中查找目标浮动IP对应的MAC地址并将其封装为第二ARP应答信息发送给物理机124,以实现转发面111对物理网关122发送的ARP请求的代答行为。
物理机124在接收到第二ARP应答信息后,将要返回给第二虚拟机应答数据报文发送给物理接口121,应答数据报文就到达虚拟接口port1;转发面111在检查到应答数据报文中包括第一VLAN标签信息后,允许应答数据报文通过虚拟接口port1进入第一虚拟转发实例VRF1,转发面111将数据报文中的目标浮动IP转化为第二虚拟机的IP地址,得到转化后的数据报文。
进而转发面111根据第二虚拟机的MAC地址在转发表A中的二层转发表中查找到据第二虚拟机的MAC地址对应的下一跳信息为与第二虚拟机对应的虚拟接口;转发面111就将转化后的数据报文通过该虚拟接口发送至第二虚拟机。
综上所述,目标转发面接收目标物理网在接收到第二ARP应答请求信息后向目标物理口发送的具有目标云内子网标签信息的第二数据报文,并将在目标转发表中查找第二数据报文对应的下一跳信息,当第二数据报文对应的下一跳信息为第一虚拟机对应的虚拟接口时,把第二数据报文发送至第一虚拟机对应的虚拟接口,以通过第一虚拟机对应的虚拟接口将第二数据报文发送至第一虚拟机。由于云内网中目标转发面上的第一虚拟接口与目标物理网卡上的目标物理接口关联,使得通过目标物理接口的数据报文能够通过第一虚拟接口到达目标转发面,进而进入云内网。所以将第二数据报文发送至目标物理接口后,第二数据报文就可以通过第一虚拟接口进入云内网进而进入到第一虚拟机,实现物理网与云内虚拟机的通信。利用目标转发面与目标物理网卡相关联,并通过目标转发面中的目标转发表来查找第二数据报文对应的下一跳信息,实现物理网与云内网通信时,第二数据报文的路由行为,能够模拟硬件路由器的功能,可以避免使用特定类型的硬件路由器从而避免用户被厂商绑定。
图5是根据一示例性实施例示出的一种云内网与物理网通信的方法的流程图。该方法由转发面执行,该转发面可以是如图1所示的转发面111。如图5所示,该云内网与物理网通信的方法还可以包括如下步骤:
步骤501,目标转发面接收第二虚拟机发送的请求私网网关的MAC地址的第四ARP请求,并将与第四ARP请求对应的第四ARP应答信息发送给第二虚拟机。
其中,云内网包括云内私网以及目标云内子网,云内私网包括绑定目标浮动IP的第二虚拟机以及私网网关,目标云内子网包括目标浮动IP,第二虚拟机为云内私网中的任意一个虚拟机。
当云内私网中的虚拟机想要访问物理网中的目标网络设备时,云内私网中的虚拟机需要绑定云内网中可以访问物理网的云内子网中的浮动IP,以借助可以访问物理网的云内子网访问物理网。本申请实施例中能够访问物理网的云内子网即为目标云内子网。第二虚拟机会向目标转发面发送请求云内私网中私网网关的VRRP MAC地址的第四ARP请求,目标转发面会依据存储的ARP缓存表项中与私网网关的IP地址代答第四ARP请求,第二虚拟机就接收到第四ARP应答信息。
步骤502,目标转发面接收第二虚拟机主机发送的第三数据报文,并将第三数据报文中第二虚拟机的IP地址转化为目标浮动IP,得到转化后第三数据报文。
其中,第三数据报文为第二虚拟机在接收到第四ARP应答信息后向目标转发面发送的数据报文。第二虚拟机在接收到第四ARP应答信息后,会将要发送给物理网中目标网络设备的第三数据报文发送给目标转发面,第三数据报文包括第二虚拟主机的IP地址、云内私网中私网网关的VRRPMAC地址以及目标浮动IP。
目标转发面在接收到数据报文后,会将通过SNAT将第三数据报文中第二虚拟机的IP地址转化为目标浮动IP,得到转化后第三数据报文。
步骤503,在目标转发表中查找转化后第三数据报文对应的下一跳信息。
目标转发面会查找转化后第三数据报文中的目标浮动IP对应的云内子网中的虚拟转发实例,查找到目标浮动IP对应的虚拟转发实例为目标云内子网中的VRF后,目标转发面会在目标云内子网中的VRF里的目标转发表中的二层转发表中,查找到云内私网中私网网关的VRRP MAC地址对应的下一跳信息为三层查找,转而根据目标浮动IP在目标转发表中的三层转发表中查找下一跳信息。
步骤504,当下一跳信息为第一虚拟接口时,把转化后第三数据报文发送至第一虚拟接口,以通过目标物理接口将第三数据报文发送至目标物理网。
当目标转发面在目标转发表中的三层转发表查找的下一跳信息为第一虚拟机接口时,目标转发面就将第三数据报文发送到第一虚拟接口,以通过目标物理接口第三数据报文发送至物理网卡,进而通过物理网卡使包括第三数据报文进入到物理网中的目标网络设备
示例性的,结合图1,在另一种应用场景中,目标云内子网包括至少一个浮动IP,云内网包括云内私网。当云内私网中的虚拟机想要访问物理网中的目标网络设备时,云内私网中的虚拟机需要绑定目标云内子网中的一个浮动IP,以借助目标云内子网再访问物理网。
当绑定了目标云内子网中目标浮动IP的第二虚拟机(第二虚拟机图1中未示出)访问物理网时,首先第二虚拟机会向转发面111发送请求云内私网中私网网关的VRRP MAC地址的ARP请求,转发面111会依据存储的ARP缓存表项中与私网网关的IP地址代答该ARP请求,第二虚拟机就接收到ARP应答信息。第二虚拟机在接收到ARP应答信息后,会将要发送给物理网中目标网络设备的第三数据报文发送给转发面111。
转发面111在接收到数据报文后,会根据目标浮动IP的配置做SNAT将数据报文中第二虚拟机的IP地址转化为目标浮动IP,并查找到目标浮动IP对应虚拟转发实例为目标云内子网的第一虚拟转发实例VRF1。进而转发面111在目标云内子网中的第一虚拟转发实例VRF1中的二层转发表中,查找到云内私网中私网网关的VRRP MAC地址对应的下一跳信息为三层查找,转而在三层转发表中查找到默认路由,默认路由的下一跳信息为虚拟接口port1。转发面111就将虚拟接口port1中包括的第一VLAN标签信息安装在数据报文上,并把包括第一VLAN标签信息的数据报文发送到虚拟接口port1,以通过物理接口121将包括第一VLAN标签信息的数据报文发送至物理网卡,进而通过物理网卡使包括第一VLAN标签信息的数据报文进入到物理网。
可选的,为了减小目标物理网卡的负载进而提高物理网的性能,该云内网与物理网通信的方法还可以包括如下步骤:
目标转发面接收目标虚拟机发送的第五ARP请求,并将与第五ARP请求对应的第五ARP应答信息发送给目标虚拟机。
其中,目标云内子网包括第一计算节点以及第二计算节点,第一计算节点与第二计算节点通过隧道通信连接;第一计算节点包括目标虚拟机以及第一虚拟接口;第二计算节点包括目标云内虚拟机以及第三虚拟接口,目标云内虚拟机与目标转发面通过第三虚拟接口连接。目标转发面部署在第一计算节点和第二计算节点上,目标云内虚拟机通过第三虚拟接口与目标转发面连接。在目标虚拟机访问目标云内虚拟机时,目标虚拟机会向目标转发面发送请求目标虚拟机的MAC地址的第五ARP请求,目标转发面接收到第五ARP请求后会根据目标转发面的ARP缓存表项,代答第五ARP请求,将第五ARP应答信息发送给目标虚拟机。
目标转发面接收目标虚拟机主机发送的第四数据报文,并在目标转发表中查找第四数据报文对应的下一跳信息。
其中,第四数据报文为目标虚拟机在接收到第五ARP应答信息后发送的数据报文,第四数据报文包括目标云内虚拟机的MAC地址以及目标云内虚拟机的IP地址。目标虚拟机在接收到目标转发面发送的第五ARP应答信息后,会通过第二虚拟接口把要发送给目标云内虚拟机的第四数据报文发送给目标转发面,目标转发面就接收到第四数据报文,并依据第四数据报文中的MAC地址在目标转发表中的二层转发表中查找目标云内虚拟机的MAC地址对应的下一跳信息;当二层转发表中目标云内虚拟机的MAC地址的下一跳信息为第三虚拟接口时,将二层转发表中目标云内虚拟机的MAC地址的下一跳信息作为第四数据报文对应的下一跳信息。
当第四数据报文对应的下一跳信息为第三虚拟接口时,把第四数据报文通过隧道发送至第三虚拟接口,以使第四数据报文发送至目标云内虚拟机。
当目标转发面查找到的第四数据报文对应的下一跳信息为第三虚拟接口时,目标转发面将第四数据报文通过隧道发送至第三虚拟接口,第四数据报文就通过第三虚拟接口进入到目标云内虚拟机中。将目标云内子网中的目标虚拟机与第一云内子网中的目标云内虚拟机之间的数据报文通过隧道发送,避免目标云内子网中的目标虚拟机与第一云内子网中的目标云内虚拟机之间的数据报文通过第一虚拟接口发送,进而使得目标云内子网中的目标虚拟机与第一云内子网中的目标云内虚拟机之间的数据报文不必通过目标物理网卡发送,减小目标物理网卡的负载进而提高物理网的性能。
综上所述,本申请实施例通过目标转发面接收第二虚拟机发送的请求私网网关的MAC地址的第四ARP请求并向第二虚拟机发送第四ARP应答信息,进而接收第二虚拟机主机发送的第三数据报文,并将第三数据报文中第二虚拟机的IP地址转化为目标浮动IP,得到转化后第三数据报文;在目标转发表中查找转化后第三数据报文对应的下一跳信息,以实现当所述下一跳信息为第一虚拟接口时,把转化后第三数据报文发送至第一虚拟接口,以通过目标物理接口将第三数据报文发送至目标物理网。使云内网中绑定目标浮动IP的第二虚拟机不通过特定的硬件路由器就可以与物理网的进行通信,可以用户被厂商绑定。
需要指出的是,上述图2至图5示出的实施例以互联网协议第4版(InternetProtocol version 4,IPv4)为例,以同样方式非创造性修改后(将ARP协议替换为ICMPv6NS/NA)可以适用于互联网协议第6版(InternetProtocol version 6,IPv6)。
图6是根据一示例性实施例示出的一种云内网与物理网通信的装置的结构方框图。云内网中包括目标转发面以及目标虚拟机;目标转发面的第一虚拟接口与目标物理网卡上的目标物理接口关联;目标虚拟机与目标转发面通过第二虚拟接口连接,该云内网与物理网通信的装置包括:
第一发送模块601,用于目标转发面接收目标虚拟机发送的第一ARP请求,并将与第一ARP请求对应的第一ARP应答信息发送给目标虚拟机;
查找模块602,用于目标转发面接收目标虚拟机主机发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息;第一数据报文为目标虚拟机在接收到第一ARP应答信息后发送的数据报文;
第二发送模块603,用于当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口,以通过目标物理接口将第一数据报文发送至目标物理网。
在一种可能的实现方式中,云内网包括目标云内子网,目标云内子网包括第一虚拟机以及第一虚拟接口,目标转发面与目标云内子网相对应,所述装置还包括:
第一发送模块,还用于目标转发面接收目标物理网发送的第二ARP请求,并将与第二ARP请求对应的第二ARP应答信息发送给目标物理网;
检查模块,用于目标转发面接收目标物理网发送的第二数据报文,并检查第二数据报文中是否包括目标云内子网的标签信息;第二数据报文为目标物理网在接收到第二ARP应答信息后通过目标物理接口发送的数据报文;
查找模块,还用于在第二数据报文中包括目标云内子网的标签信息时,目标转发面在目标转发表中查找第二数据报文对应的下一跳信息;
第二发送模块,还用于当第二数据报文对应的下一跳信息为第一虚拟机对应的虚拟接口时,把第二数据报文发送至第一虚拟机对应的虚拟接口,以通过第一虚拟机对应的虚拟接口将第二数据报文发送至第一虚拟机。
在一种可能的实现方式中,云内网包括与目标转发面通信连接的控制面,在目标转发表中查找第一数据报文对应的下一跳信息之前,所述装置还包括:
构建模块,目标转发面通过第一虚拟接口接收第三ARP应答信息,并根据第三ARP应答信息,构建目标转发表;
第三ARP应答信息为目标物理网的物理网关在接收到控制面根据目标云内子网的IP地址以及MAC地址向物理网关发送DAD请求或ACD请求后,向目标物理网卡发送的包括目标云内子网的标签信息的ARP应答信息,或目标物理网中的物理机在接收到目标云内子网中的虚拟机发出的ARP请求后,向目标云内子网中的虚拟机发送的包括目标云内子网的标签信息的ARP应答信息。。
在一种可能的实现方式中,目标转发表包括二层转发表和三层转发表,所述构建模块,还用于,目标转发面提取第三ARP请求中的第一IP地址以及第一MAC地址;
把第一MAC地址安装到二层转发表中,并构建第一MAC地址对应的下一跳信息;
把第一IP地址安装到三层转发表中,并构建第一IP地址对应的下一跳信息。
在一种可能的实现方式中,所述构建模块,还用于,当第一MAC地址为物理网的网关MAC地址或云内子网的公网网关MAC地址时,将第一MAC地址对应的下一跳信息确定为三层查找;
当第一MAC地址为物理机的MAC地址时,将第一MAC地址对应的下一跳信息确定为第一虚拟接口;
当第一MAC地址为广播地址时,将第一MAC地址对应的下一跳信息确定为目标云内子网的所有虚拟接口;
当第一MAC地址为虚拟机的MAC地址时,将第一MAC地址对应的下一跳信息确定为虚拟机对应的虚拟接口。
在一种可能的实现方式中,所述构建模块,还用于,当第一IP地址为物理网的网关IP地址或云内子网的公网网关IP地址时,将第一IP地址对应的下一跳信息确定为第一虚拟接口;
当第一IP地址为物理机的IP地址时,将第一IP地址对应的下一跳信息确定为第一虚拟接口;
当第一IP地址为虚拟机的IP地址时,将第一IP地址对应的下一跳信息确定为虚拟机对应的虚拟接口。
在一种可能的实现方式中,云内网包括云内私网以及目标云内子网,云内私网包括绑定目标浮动IP的第二虚拟机以及私网网关,目标云内子网包括目标浮动IP,所述装置还包括:
第一发送模块,还用于,目标转发面接收第二虚拟机发送的请求私网网关的VRRPMAC地址的第四ARP请求,并将与第四ARP请求对应的第四ARP应答信息发送给第二虚拟机;
转化模块,用于目标转发面接收第二虚拟机主机发送的第三数据报文,并将第三数据报文中第二虚拟机的IP地址转化为目标浮动IP,得到转化后第三数据报文;第三数据报文为第二虚拟机在接收到第四ARP应答信息后发送的数据报文;
查找模块,还用于在目标转发表中查找转化后第三数据报文对应的下一跳信息;
第二发送模块,还用于当下一跳信息为第一虚拟接口时,把转化后第三数据报文发送至第一虚拟接口,以通过目标物理接口将第三数据报文发送至目标物理网。
在一种可能的实现方式中,目标云内子网包括第一计算节点以及第二计算节点,第一计算节点与第二计算节点通过隧道通信连接;第一计算节点包括目标虚拟机以及第一虚拟接口;第二计算节点包括目标云内虚拟机以及第三虚拟接口,目标云内虚拟机与目标转发面通过第三虚拟接口连接;所述装置还包括:
第一发送模块,还用于目标转发面接收目标虚拟机发送的第五ARP请求,并将与第五ARP请求对应的第五ARP应答信息发送给目标虚拟机;
查找模块,还用于目标转发面接收目标虚拟机主机发送的第四数据报文,并在目标转发表中查找第四数据报文对应的下一跳信息;第四数据报文为目标虚拟机在接收到第五ARP应答信息后发送的数据报文;
第二发送模块,还用于当第四数据报文对应的下一跳信息为第三虚拟接口时,把第四数据报文通过隧道发送至第三虚拟接口,以使第四数据报文发送至目标云内虚拟机。
综上所述,在云内网与物理网通信时,目标转发面接收目标虚拟机在接收到第一ARP应答信息后通过第二虚拟接口向目标转发面发送的第一数据报文,并在目标转发表中查找第一数据报文对应的下一跳信息;当下一跳信息为第一虚拟接口时,把第一数据报文发送至第一虚拟接口。由于云内网中目标转发面上的第一虚拟接口与目标物理网卡上的目标物理接口关联,使得通过第一虚拟接口的数据报文能够通过目标物理接口到达物理网卡,进而进入物理网。所以将第一数据报文发送至第一虚拟接口后,第一数据报文就可以通过目标物理接口进入目标物理网,实现云内虚拟机与物理网的通信。利用目标转发面与目标物理网卡相关联,并通过目标转发面中的目标转发表来查找第一数据报文对应的下一跳信息,实现云内网与物理网通信时,第一数据报文的路由行为,能够模拟硬件路由器的功能,可以避免使用特定类型的硬件路由器从而避免用户被厂商绑定。
图7示出了本申请一示例性实施例示出的计算机设备700的结构框图。该计算机设备可以实现为本申请上述方案中的服务器。所述计算机设备700包括中央处理单元(Central Processing Unit,CPU)701、包括随机存取存储器(Random Access Memory,RAM)702和只读存储器(Read-Only Memory,ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述计算机设备700还包括用于存储操作系统709、应用程序710和其他程序模块711的大容量存储设备706。
所述大容量存储设备706通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备706及其相关联的计算机可读介质为计算机设备700提供非易失性存储。也就是说,所述大容量存储设备706可以包括诸如硬盘或者只读光盘(Compact DiscRead-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(DigitalVersatileDisc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备706可以统称为存储器。
根据本公开的各种实施例,所述计算机设备700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备700可以通过连接在所述系统总线705上的网络接口单元707连接到网络708,或者说,也可以使用网络接口单元707来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条计算机程序,所述至少一条计算机程序存储于存储器中,中央处理单元701通过执行该至少一条计算机程序来实现上述各个实施例所示的方法中的全部或部分步骤。
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图3任一实施例所示方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (11)

1.一种云内网与物理网通信的方法,其特征在于,云内网中包括目标转发面以及目标虚拟机;所述目标转发面的第一虚拟接口与目标物理网卡上的目标物理接口关联;所述目标虚拟机与所述目标转发面通过第二虚拟接口连接;
所述方法包括:
所述目标转发面接收所述目标虚拟机发送的第一ARP请求,并将与所述第一ARP请求对应的第一ARP应答信息发送给所述目标虚拟机;
所述目标转发面接收所述目标虚拟机主机发送的第一数据报文,并在目标转发表中查找所述第一数据报文对应的下一跳信息;所述第一数据报文为所述目标虚拟机在接收到所述第一ARP应答信息后发送的数据报文;
当所述下一跳信息为所述第一虚拟接口时,把所述第一数据报文发送至所述第一虚拟接口,以通过所述目标物理接口将所述第一数据报文发送至目标物理网。
2.根据权利要求1所述的方法,其特征在于,所述云内网包括目标云内子网,所述目标云内子网包括第一虚拟机以及所述第一虚拟接口,所述目标转发面与所述目标云内子网相对应,所述方法还包括:
所述目标转发面接收所述目标物理网发送的第二ARP请求,并将与所述第二ARP请求对应的第二ARP应答信息发送给所述目标物理网;
所述目标转发面接收所述目标物理网发送的第二数据报文,并检查所述第二数据报文中是否包括所述目标云内子网的标签信息;所述第二数据报文为所述目标物理网在接收到所述第二ARP应答信息后通过所述目标物理接口发送的数据报文;
在所述第二数据报文中包括所述目标云内子网的标签信息时,所述目标转发面在目标转发表中查找所述第二数据报文对应的下一跳信息;
当第二数据报文对应的下一跳信息为所述第一虚拟机对应的虚拟接口时,把所述第二数据报文发送至所述第一虚拟机对应的虚拟接口,以通过所述第一虚拟机对应的虚拟接口将所述第二数据报文发送至所述第一虚拟机。
3.根据权利要求2所述的方法,其特征在于,所述云内网包括与所述目标转发面通信连接的控制面,在目标转发表中查找第一数据报文对应的下一跳信息之前,所述方法还包括:
所述目标转发面通过所述第一虚拟接口接收第三ARP应答信息,并根据所述第三ARP应答信息,构建所述目标转发表;
所述第三ARP应答信息为所述目标物理网的物理网关在接收到所述控制面根据目标云内子网的IP地址以及MAC地址向所述物理网关发送DAD请求或ACD请求后,向所述目标物理网卡发送的包括目标云内子网的标签信息的ARP应答信息,或所述目标物理网中的物理机在接收到所述目标云内子网中的虚拟机发出的ARP请求后,向所述目标云内子网中的虚拟机发送的包括目标云内子网的标签信息的ARP应答信息。
4.根据权利要求3所述的方法,其特征在于,所述目标转发表包括二层转发表和三层转发表,所述根据所述第三ARP应答信息,构建所述目标转发表包括:
所述目标转发面提取所述第三ARP请求中的第一IP地址以及第一MAC地址;
把所述第一MAC地址安装到所述二层转发表中,并构建所述第一MAC地址对应的下一跳信息;
把所述第一IP地址安装到所述三层转发表中,并构建所述第一IP地址对应的下一跳信息。
5.根据权利要求4所述的方法,其特征在于,所述把所述第一MAC地址安装到所述二层转发表中,并构建所述第一MAC地址对应的下一跳信息包括:
当所述第一MAC地址为物理网的网关MAC地址或云内子网的公网网关MAC地址时,将所述第一MAC地址对应的下一跳信息确定为三层查找;
当所述第一MAC地址为物理机的MAC地址时,将所述第一MAC地址对应的下一跳信息确定为所述第一虚拟接口;
当所述第一MAC地址为广播地址时,将所述第一MAC地址对应的下一跳信息确定为目标云内子网的所有虚拟接口;
当所述第一MAC地址为虚拟机的MAC地址时,将所述第一MAC地址对应的下一跳信息确定为所述虚拟机对应的虚拟接口。
6.根据权利要求4所述的方法,其特征在于,把所述第一IP地址安装到所述三层转发表中,并构建所述第一IP地址对应的下一跳信息包括:
当所述第一IP地址为物理网的网关IP地址或云内子网的公网网关IP地址时,将所述第一IP地址对应的下一跳信息确定为第一虚拟接口;
当所述第一IP地址为物理机的IP地址时,将所述第一IP地址对应的下一跳信息确定为所述第一虚拟接口;
当所述第一IP地址为虚拟机的IP地址时,将所述第一IP地址对应的下一跳信息确定为所述虚拟机对应的虚拟接口。
7.根据权利要求1所述的方法,其特征在于,所述云内网包括云内私网以及目标云内子网,所述云内私网包括绑定目标浮动IP的第二虚拟机以及私网网关,所述目标云内子网包括所述目标浮动IP,所述方法还包括:
所述目标转发面接收所述第二虚拟机发送的请求所述私网网关的VRRP MAC地址的第四ARP请求,并将与所述第四ARP请求对应的第四ARP应答信息发送给所述第二虚拟机;
所述目标转发面接收所述第二虚拟机主机发送的第三数据报文,并将所述第三数据报文中所述第二虚拟机的IP地址转化为所述目标浮动IP,得到转化后第三数据报文;所述第三数据报文为所述第二虚拟机在接收到所述第四ARP应答信息后发送的数据报文;
在所述目标转发表中查找所述转化后第三数据报文对应的下一跳信息;
当所述下一跳信息为所述第一虚拟接口时,把所述转化后第三数据报文发送至所述第一虚拟接口,以通过所述目标物理接口将所述第三数据报文发送至目标物理网。
8.根据权利要求1所述的方法,其特征在于,所述目标云内子网包括第一计算节点以及第二计算节点,所述第一计算节点与所述第二计算节点通过隧道通信连接;所述第一计算节点包括目标虚拟机以及所述第一虚拟接口;所述第二计算节点包括目标云内虚拟机以及第三虚拟接口,所述目标云内虚拟机与所述目标转发面通过所述第三虚拟接口连接;
所述方法还包括:
所述目标转发面接收所述目标虚拟机发送的第五ARP请求,并将与所述第五ARP请求对应的第五ARP应答信息发送给所述目标虚拟机;
所述目标转发面接收所述目标虚拟机主机发送的第四数据报文,并在目标转发表中查找所述第四数据报文对应的下一跳信息;所述第四数据报文为所述目标虚拟机在接收到所述第五ARP应答信息后发送的数据报文;
当第四数据报文对应的下一跳信息为所述第三虚拟接口时,把所述第四数据报文通过所述隧道发送至所述第三虚拟接口,以使所述第四数据报文发送至所述目标云内虚拟机。
9.一种云内网与物理网通信的装置,其特征在于,云内网中包括目标转发面以及目标虚拟机;所述目标转发面的第一虚拟接口与目标物理网卡上的目标物理接口关联;所述目标虚拟机与所述目标转发面通过第二虚拟接口连接;
所述装置包括:
第一发送模块,用于所述目标转发面接收所述目标虚拟机发送的第一ARP请求,并将与所述第一ARP请求对应的第一ARP应答信息发送给所述目标虚拟机;
查找模块,用于所述目标转发面接收所述目标虚拟机主机发送的第一数据报文,并在目标转发表中查找所述第一数据报文对应的下一跳信息;所述第一数据报文为所述目标虚拟机在接收到所述第一ARP应答信息后发送的数据报文;
第二发送模块,用于当所述下一跳信息为所述第一虚拟接口时,把所述第一数据报文发送至所述第一虚拟接口,以通过所述目标物理接口将所述第一数据报文发送至目标物理网。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至8任一所述的云内网与物理网通信的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至8任一所述的云内网与物理网通信的方法。
CN202310251355.7A 2023-03-15 2023-03-15 一种云内网与物理网通信的方法、装置、设备以及介质 Active CN116248595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310251355.7A CN116248595B (zh) 2023-03-15 2023-03-15 一种云内网与物理网通信的方法、装置、设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310251355.7A CN116248595B (zh) 2023-03-15 2023-03-15 一种云内网与物理网通信的方法、装置、设备以及介质

Publications (2)

Publication Number Publication Date
CN116248595A true CN116248595A (zh) 2023-06-09
CN116248595B CN116248595B (zh) 2024-02-02

Family

ID=86635784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310251355.7A Active CN116248595B (zh) 2023-03-15 2023-03-15 一种云内网与物理网通信的方法、装置、设备以及介质

Country Status (1)

Country Link
CN (1) CN116248595B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118774A (zh) * 2023-10-23 2023-11-24 杭州优云科技有限公司 二层网络下云计算网关的接入方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050054148A (ko) * 2003-12-04 2005-06-10 한국전자통신연구원 라우터에서 가상근거리통신망에 설정된 포워딩정보 처리방법
WO2009021458A1 (fr) * 2007-08-14 2009-02-19 Huawei Technologies Co., Ltd. Procédé, appareil et système de connexion d'un réseau de couche 2 à un réseau de couche 3
CN101599901A (zh) * 2009-07-15 2009-12-09 杭州华三通信技术有限公司 远程接入mpls vpn的方法、系统和网关
CN105227422A (zh) * 2015-09-01 2016-01-06 浙江宇视科技有限公司 一种基于聚合网口的视频数据传输方法和装置
CN106059994A (zh) * 2016-04-29 2016-10-26 华为技术有限公司 一种数据传输方法及网络设备
WO2018171529A1 (zh) * 2017-03-20 2018-09-27 中兴通讯股份有限公司 一种实现双控制平面的方法、装置、计算机存储介质
CN108696437A (zh) * 2018-06-22 2018-10-23 新华三技术有限公司 一种流量转发方法及装置
WO2021169514A1 (zh) * 2020-02-24 2021-09-02 华为技术有限公司 一种虚拟机vm的迁移方法及装置
CN114726773A (zh) * 2022-03-23 2022-07-08 阿里云计算有限公司 云网络系统、报文转发方法、芯片及云网关设备
CN115604103A (zh) * 2022-10-09 2023-01-13 中国工商银行股份有限公司(Cn) 云计算系统的配置方法、装置、存储介质以及电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050054148A (ko) * 2003-12-04 2005-06-10 한국전자통신연구원 라우터에서 가상근거리통신망에 설정된 포워딩정보 처리방법
WO2009021458A1 (fr) * 2007-08-14 2009-02-19 Huawei Technologies Co., Ltd. Procédé, appareil et système de connexion d'un réseau de couche 2 à un réseau de couche 3
CN101599901A (zh) * 2009-07-15 2009-12-09 杭州华三通信技术有限公司 远程接入mpls vpn的方法、系统和网关
CN105227422A (zh) * 2015-09-01 2016-01-06 浙江宇视科技有限公司 一种基于聚合网口的视频数据传输方法和装置
CN106059994A (zh) * 2016-04-29 2016-10-26 华为技术有限公司 一种数据传输方法及网络设备
WO2018171529A1 (zh) * 2017-03-20 2018-09-27 中兴通讯股份有限公司 一种实现双控制平面的方法、装置、计算机存储介质
CN108632122A (zh) * 2017-03-20 2018-10-09 中兴通讯股份有限公司 一种实现双控制平面的方法、装置
CN108696437A (zh) * 2018-06-22 2018-10-23 新华三技术有限公司 一种流量转发方法及装置
WO2021169514A1 (zh) * 2020-02-24 2021-09-02 华为技术有限公司 一种虚拟机vm的迁移方法及装置
CN114726773A (zh) * 2022-03-23 2022-07-08 阿里云计算有限公司 云网络系统、报文转发方法、芯片及云网关设备
CN115604103A (zh) * 2022-10-09 2023-01-13 中国工商银行股份有限公司(Cn) 云计算系统的配置方法、装置、存储介质以及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卢泽新;张晓哲;马世聪;王宝生;: "面向多网络体制并存的开放式可重构路由器体系结构设计与实践", 通信学报, no. 03 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118774A (zh) * 2023-10-23 2023-11-24 杭州优云科技有限公司 二层网络下云计算网关的接入方法及装置
CN117118774B (zh) * 2023-10-23 2024-02-27 杭州优云科技有限公司 二层网络下云计算网关的接入方法及装置

Also Published As

Publication number Publication date
CN116248595B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN112673596B (zh) 逻辑网关处的服务插入方法、设备和系统
EP3984181B1 (en) L3 underlay routing in a cloud environment using hybrid distributed logical router
EP3694145B1 (en) Method and device for sending messages
US20090063706A1 (en) Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
US11509581B2 (en) Flow-based local egress in a multisite datacenter
US10574570B2 (en) Communication processing method and apparatus
US10848457B2 (en) Method and system for cross-zone network traffic between different zones using virtual network identifiers and virtual layer-2 broadcast domains
US11757766B2 (en) Reflection route for link local packet processing
JP2022541381A (ja) ハイブリッドクラウド環境における通信方法、ゲートウェイ、並びに管理方法及び装置
US10855733B2 (en) Method and system for inspecting unicast network traffic between end points residing within a same zone
US20150200910A1 (en) Control apparatus and transfer control method
CN116248595B (zh) 一种云内网与物理网通信的方法、装置、设备以及介质
US10764234B2 (en) Method and system for host discovery and tracking in a network using associations between hosts and tunnel end points
US11516176B2 (en) Network management apparatus, network management system, and non-transitory computer-readable storage medium
JP2007081877A (ja) ネットワークシステム及びデータ転送方法
US10924397B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
US20210352004A1 (en) Multi-vrf and multi-service insertion on edge gateway virtual machines
US11283637B2 (en) Multicast routing in a logical router having separated north/south and east/west packet handlers
JP6162831B2 (ja) パケット通信システム、sdn制御装置、パケット通信方法、及びプログラム
US10749789B2 (en) Method and system for inspecting broadcast network traffic between end points residing within a same zone
US20240031283A1 (en) Communication method and apparatus
CN117278395A (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