CN106453023B - 一种用于物理设备与虚拟网络的通信方法、设备与系统 - Google Patents

一种用于物理设备与虚拟网络的通信方法、设备与系统 Download PDF

Info

Publication number
CN106453023B
CN106453023B CN201610938952.7A CN201610938952A CN106453023B CN 106453023 B CN106453023 B CN 106453023B CN 201610938952 A CN201610938952 A CN 201610938952A CN 106453023 B CN106453023 B CN 106453023B
Authority
CN
China
Prior art keywords
data packet
nvgre
gateway
physical equipment
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610938952.7A
Other languages
English (en)
Other versions
CN106453023A (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.)
Excellent Polytron Technologies Inc
Original Assignee
Excellent Polytron Technologies Inc
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 Excellent Polytron Technologies Inc filed Critical Excellent Polytron Technologies Inc
Priority to CN201610938952.7A priority Critical patent/CN106453023B/zh
Publication of CN106453023A publication Critical patent/CN106453023A/zh
Application granted granted Critical
Publication of CN106453023B publication Critical patent/CN106453023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Abstract

本发明提供了一种用于物理设备与虚拟网络的通信方法、设备与系统,其中所述方法包括步骤:NVGRE网关通过二层交换机接收来自物理设备的第一请求数据包,第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;NVGRE网关将第一请求数据包进行网络虚拟化通用路由封装,以获得包括第一请求数据包的第一封装数据包;NVGRE网关将第一封装数据包转发至虚拟网络。物理设备基于第二层网络协议与虚拟网关连接,从而提高了连接性能以及用户体验度。

Description

一种用于物理设备与虚拟网络的通信方法、设备与系统
技术领域
本发明涉及网络虚拟化技术,尤其涉及用于物理设备与虚拟网络的通信方法、设备与系统。
背景技术
就如同服务器虚拟化(hypervisor)能为操作系统提供“虚拟机”一样,网络虚拟化将虚拟网络与物理网络基础结构脱耦,从而解决了虚拟机配置的分等级IP地址分配的限制等问题。
然而,如何进行从物理网络到虚拟网络的通信成为了一个新的课题。
现有技术中,微软公司提供了一种Hyper-V网络虚拟化网关(Hyper-V NetworkVirtualization Gateway)用于桥接物理设备与网络虚拟化环境。具体而言,物理设备基于第三层网络协议连接路由器,并通过路由器连接网络虚拟化网关(也称为虚拟网关)。虚拟网关对物理设备发出的数据包进行网络虚拟化通用路由封装(Network Virtualizationusing Generic Routing Encapsulation,NVGRE),封装后的数据包即可用于在虚拟网络中进行传输以及通信。
然而,现有技术由于物理设备基于三层网络协议连接虚拟网关,因此难以将物理设备与虚拟网络中的虚拟机设置于同一子网中,进而对于虚拟机迁移至物理设备带来操作难度。对于用户在虚拟机和物理设备的体验也难以保持完全一致,难以实现虚拟化业务无缝地支持物理设备接入。
发明内容
针对以上现有技术中的问题,本发明的目的在于在网络虚拟化的环境下,提供一种物理设备与虚拟网络的通信方法与系统,能够使得物理设备与虚拟机设置于同一子网中,能够对于用户在虚拟机和物理设备的体验保持完全一致。
根据本发明的第一个方面,提供一种用于物理设备与虚拟网络的通信方法,其特征在于包括步骤:NVGRE网关通过二层交换机接收来自物理设备的第一请求数据包,第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;NVGRE网关将第一请求数据包进行网络虚拟化通用路由封装,以获得包括第一请求数据包的第一封装数据包;NVGRE网关将第一封装数据包转发至虚拟网络。
优选地,在NVGRE网关通过二层交换机接收来自物理设备的第一请求数据包的步骤前,还包括步骤:NVGRE网关通过二层交换机接收来自物理设备的基于ARP广播协议发送的第一广播数据包,第一广播数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;NVGRE网关根据第一广播数据包,向物理设备回复第一应答数据包,第一应答数据包的源MAC地址为NVGRE网关的MAC地址。
优选地,多个物理设备通过VLAN协议进行隔离。
优选地,NVGRE网关将第一请求数据包进行网络虚拟化通用路由封装,以获得包括第一请求数据包的第一封装数据包的步骤包括:NVGRE网关根据VLAN信息获取第一请求数据包对应的二层广播域,在二层广播域中查找第一请求数据包对应的物理设备的MAC地址或IP地址;NVGRE网关将第一请求数据包进行网络虚拟化通用路由封装,以获得第一封装数据包,第一封装数据包的源地址为NVGRE网关的地址,第一封装数据包内的第一请求数据包的源地址为物理设备的MAC地址或IP地址。
优选地,NVGRE网关将第一封装数据包转发至虚拟网络的步骤包括:NVGRE网关将第一封装数据包转发至路由器;路由器将第一封装数据包转发至虚拟机所对应的宿主机;宿主机接收第一封装数据包,剥除第一封装数据包的网络虚拟化通用路由封装以获得第一请求数据包;宿主机将第一请求数据包转发至虚拟机。
优选地,还包括步骤:NVGRE网关接收来自虚拟网络的包括第二请求数据包的第二封装数据包,并查找第二封装数据包需要发往的二层广播域;NVGRE网关在二层广播域中查找第二请求数据包的目标MAC地址或IP地址对应的物理设备;NVGRE网关剥除第二封装数据包的网络虚拟化通用路由封装以获得第二请求数据包;NVGRE网关将第二请求数据包发送至物理设备。
优选地,第二封装数据包通过宿主机接收来自与宿主机对应的虚拟机发出的第二请求数据包后,将第二请求数据包进行网络虚拟化通用路由封装获得。
优选地,NVGRE网关接收来自虚拟网络的包括第二请求数据包的第二封装数据包,并查找第二封装数据包需要发往的二层广播域的步骤之前还包括步骤:宿主机接收来自虚拟机基于ARP广播协议发送的第二广播数据包;宿主机根据OpenFlow流表向虚拟机回复第二应答数据包,第二应答数据包的源MAC地址为物理设备的MAC地址。
优选地,NVGRE网关将第二请求数据包发送至物理设备的步骤包括:NVGRE网关将第二请求数据包发送至二层交换机;二层交换机将第二请求数据包单播转发至物理设备。
根据本发明的第二个方面,提供一种用于物理设备与虚拟网络的通信设备,包括:数据包获取模块,数据包获取模块通过二层交换机接收来自物理设备的第一请求数据包,第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;代答模块,代答模块根据来自物理设备的第一广播数据包,向物理设备回复第一应答数据包,第一应答数据包的源MAC地址为NVGRE网关的MAC地址;封装模块,封装模块将第一请求数据包进行网络虚拟化通用路由封装,以获得包括第一请求数据包的第一封装数据包;数据包发送模块,数据包发送模块将第一封装数据包转发至虚拟网络。
优选地,多个物理设备通过VLAN协议进行隔离。
优选地,数据包获取模块根据VLAN信息获取第一请求数据包对应的二层广播域,在二层广播域中查找第一请求数据包对应的物理设备的MAC地址或IP地址;封装模块将第一请求数据包进行网络虚拟化通用路由封装,以获得第一封装数据包,第一封装数据包的源地址为通信设备的地址,第一封装数据包内的第一请求数据包的源地址为物理设备的MAC地址或IP地址。
根据本发明的第三个方面,提供一种用于物理设备与虚拟网络的通信系统,包括:物理设备,物理设备发出第一请求数据包,第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;NVGRE网关,NVGRE网关接收第一请求数据包,并将第一请求数据包进行网络虚拟化通用路由封装,以获得包括第一请求数据包的第一封装数据包,将第一封装数据包转发至虚拟网络;二层交换机,二层交换机用于将第一请求数据包转发至NVGRE网关。
优选地,多个物理设备通过VLAN协议进行隔离。
优选地,NVGRE网关根据VLAN信息获取第一请求数据包对应的二层广播域,在二层广播域中查找第一请求数据包对应的物理设备的MAC地址或IP地址;NVGRE网关将第一请求数据包进行网络虚拟化通用路由封装,以获得第一封装数据包,第一封装数据包的源地址为NVGRE网关的地址,第一封装数据包内的第一请求数据包的源地址为物理设备的MAC地址或IP地址。
本发明中物理设备通过二层交换机连接NVGRE网关,从而来自物理设备的第一请求数据包的目标IP地址可以直接设置为虚拟网络中的虚拟机的IP地址而非虚拟网关的IP地址。由于物理设备基于第二层网络协议连接虚拟网关,因此可以将物理设备与虚拟机设置于同一子网中,以方便地实现虚拟机迁移到物理设备,这样的设置支持VRRP协议(Virtual Router Redundancy Protocol,虚拟路由冗余协议)实现高可用性。用户在虚拟机和物理设备的体验也可以保持完全一致,其他虚拟化业务也可以无缝地支持物理设备接入。
附图说明
以下结合附图和具体实施例对本发明的技术方案进行详细的说明,以使本发明的特性和优点更为明显。
图1为本发明的一个实施例的用于物理设备与虚拟网络的通信系统的结构示意图;
图2为本发明的一个实施例的用于物理设备与虚拟网络的通信设备的模块示意图;
图3为本发明的一个实施例的物理设备访问虚拟网络的方法流程图;
图4为图3中步骤S105的详细流程图;
图5为图3中步骤S106的详细流程图;
图6为本发明的一个实施例的虚拟机访问物理设备的方法流程图。
具体实施方式
以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。
一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元或是数据,但是这些单元或数据不应当受这些术语限制。使用这些术语仅仅是为了将一个数据与另一个数据进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一请求数据包可以被称为第二请求数据包,并且类似地第二请求数据包可以被称为第一请求数据包。
图1为本发明的一个实施例的用于物理设备与虚拟网络的通信系统的结构示意图。如图1所示,通信系统包括至少一个物理设备21,22、至少一个NVGRE网关1以及至少一个二层交换机3。图1中示例性地列出了两个物理设备21,22,一个NVGRE网关以及一个二层交换机3,在实际使用时,可以根据需求确认通信系统的规模,使用负载均衡技术设置多个物理设备21,22、NVGRE网关1以及二层交换机3。
物理设备21,22通常被用于出租给不同的租户,在本实施例中,多个租户的物理设备21,22通过VLAN协议(Virtual Local Area Network,虚拟局域网协议)进行隔离,从而将不同租户的物理设备21,22分隔在不同的二层广播域中。不同的二层广播域通过二层交换机端口和/或所述物理设备的MAC地址(物理地址)进行划分,来自不同的二层广播域的数据包,通过数据包中的VLAN信息进行标记。在本示例中,物理设备21与物理设备22被不同租户租用,处于不同的二层广播域。
二层交换机3工作在第二层网络协议,即数据链路层。二层交换机3可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
NVGRE网关1是一种网络地址转换组件,作为虚拟网关借助GRE协议(通用路由封装协议)对数据包进行网络虚拟化通用路由封装(NVGRE封装)或剥除封装,从而使得数据包能够在虚拟网络4或是物理网络进行传输。具体的NVGRE封装方法以及剥除封装的方法可以使用现有技术。
图2为本发明的一个实施例的用于物理设备与虚拟网络的通信设备的模块示意图。下面参考图2介绍NVGRE网关1的模块结构。用于物理设备与虚拟网络的通信设备即是NVGRE网关1,NVGRE网关1包括数据包获取模块11、代答模块12、封装模块13以及数据包发送模块14。数据包获取模块11用于接收数据包。代答模块12用于向物理设备21,22发送应答数据包,从而进行ARP(地址解析协议)广播代答。封装模块13用于对收到的来自物理设备21,22的广播数据包进行NVGRE封装或是对来自虚拟网络4的第二封装数据包剥除NVGRE封装。数据包发送模块14用于发送数据包。
NVGRE网关1采用英特尔数据面开发套件(Intel Data Plane Development Kit,Intel DPDK)数据处理框架。Intel DPDK是Intel公司提出的一种高速网络数据包的软件开发套件,Intel DPDK通过旁路Linux系统网络协议栈,直接对网卡进行读写,结合对多核CPU中不同内核的绑定,能够实现1Gbit网络小包流量下的线速收发。在Intel DPDK数据处理框架下具体接收以及发送数据的方法,可以采用现有的Intel DPDK数据处理方法。由于NVGRE网关1采用Intel DPDK,提升数据包的转发能力。
虚拟网络4中包括虚拟机41,虚拟机41运行在宿主机42中,宿主机42通过路由器43与外部链接。物理设备21,22与虚拟网络4的通信主要是指物理设备21,22与虚拟机41之间进行通信。
宿主机42包括虚拟交换机(Open VSwitch,OVS),OVS是一个虚拟交换软件,主要在虚拟机环境下作为一个虚拟交换机使用,用于实现虚拟机和外界网络的通信。宿主机42使用OpenFlow协议。OpenFlow协议是Nick McKeown教授等人在2007年提出的软件定义网络(Software Defined Networking,SDN)中的核心技术,SDN架构主要由OVS和OpenFlow控制器组成,OVS主要由OpenFlow流表(FlowTable)、安全通道和OpenFlow协议三部分构成。其中,OpenFlow流表用来进行数据包的查找和转发。宿主机42通过OVS进行NVGRE封装或是剥除封装,并对虚拟机41发出的ARP广播进行代答。其中具体的OVS进行NVGRE封装或是剥除封装的方法可以采用现有技术中的方法。
下面具体介绍本发明的用于物理设备与虚拟网络的通信方法。
图3为本发明的一个实施例的物理设备访问虚拟网络的方法流程图。结合图1、图2与图3,物理设备21,22访问虚拟网络4的通信方法包括步骤:
S101:物理设备21发送第一广播数据包。
S102:NVGRE网关通过二层交换机接收第一广播数据包,并回复第一应答数据包。
S103:物理设备21发送第一请求数据包。
S104:NVGRE网关接收第一请求数据包。
S105:NVGRE网关1将第一请求数据包进行NVGRE封装,以获得第一封装数据包。
S105:NVGRE网关1将第一封装数据包转发至虚拟网络4。
在物理设备21首次访问虚拟机41时,首先需要基于ARP广播协议发送广播数据包,从而获取应答数据包,并根据应答数据包获取目标MAC地址,进而才能够进行后续请求数据包的单播发送。具体而言,如步骤S101,物理设备21在其所在的二层广播域中基于ARP广播协议发送第一广播数据包。二层交换机3接收第一广播数据包,并将第一广播数据包在该二层广播域中广播。第一广播数据包的源IP地址为物理设备21的IP地址10.10.1.20,源MAC地址为物理设备21的MAC地址。由于本发明中物理设备21基于第二层网络协议与NVGRE网关1连接,因此第一广播数据包的目标IP地址为虚拟机41的IP地址10.10.1.10,区别于基于第三层网络协议与虚拟网关连接的现有技术中将广播数据包目标IP地址设置为虚拟网关的IP地址并通过路由器进行传输。其中,由于物理设备21基于第二层网络协议与虚拟网关连接,从而物理设备21与虚拟机41的IP地址能够设置在同一子网中。
如步骤S102,NVGRE网关1的数据包获取模块11通过二层交换机3接收第一广播数据包,基于第一广播数据包NVGRE网关1的代答模块12向物理设备21发送第一应答数据包,从而进行ARP广播代答。第一应答数据包中的源MAC地址为NVGRE网关1的MAC地址,从而使得物理设备21后续发送的第一请求数据包中的目标MAC地址为NVGRE网关1的MAC地址,进而将流量牵引至NVGRE网关1。
如步骤S103,物理设备21接收第一应答数据包,并根据第一应答数据包中的源MAC地址发送第一请求数据包,第一请求数据包的目标IP地址为虚拟机41的IP地址10.10.1.10,目标MAC地址为NVGRE网关1的MAC地址。
如步骤S104,NVGRE网关1的数据包获取模块11通过二层交换机3接收第一请求数据包。
如步骤S105,NVGRE网关1将第一请求数据包进行NVGRE封装,以获得第一封装数据包。
图4为图3中步骤S105的详细流程图,如图1、图2和图4所示,首先如步骤S1051,NVGRE网关1的数据包获取模块11根据VLAN信息获取第一请求数据包对应的二层广播域。
接着,如步骤S1052,数据包获取模块11在二层广播域中查找第一请求数据包对应的物理设备21的MAC地址或IP地址。
如步骤S1053,NVGRE网关1的封装模块13根据第一请求数据包中的目标IP地址,即虚拟机41的IP地址10.10.1.10,获取虚拟机41所对应的宿主机42的IP地址192.168.1.10。
如步骤S1054,封装模块13将第一请求数据包进行NVGRE封装,以获得包括第一请求数据包的第一封装数据包。第一封装数据包的源IP地址为NVGRE网关1的IP地址192.168.1.20,目标IP地址为宿主机42的IP地址192.168.1.10。第一封装数据包内的第一请求数据包的源地址为物理设备21的MAC地址或IP地址。第一封装数据包能够在虚拟网络4中进行传输。
如步骤S106,NVGRE网关的数据包发送模块14将第一封装数据包转发至虚拟网络4。图5为图3中步骤S106的详细流程图。如图5所示,如步骤S1061,NVGRE网关1的数据包发送模块14将第一封装数据包发送至路由器43。如步骤S1062,路由器43根据第一数据包中目标IP的地址192.168.1.10,将第一封装数据包转发至虚拟机41所对应的宿主机42。如步骤S1063,宿主机42接收第一封装数据包,并通过OVS剥除第一封装数据包的NVGRE封装以获得第一请求数据包。如步骤S1064,宿主机42将第一请求数据包转发至虚拟机41。
图6为本发明的一个实施例的虚拟机访问物理设备的方法流程图。结合图1、图2与图6,当虚拟机41收到来自物理设备21的第一请求数据包,并处理完成需要回复时,虚拟机41访问物理设备21的通信方法包括步骤:
S201:虚拟机41发送第二广播数据包。
S202:宿主机42接收第二广播数据包,并向虚拟机41回复第二应答数据包。
S203:虚拟机41发送第二请求数据包。
S204:宿主机42接收第二请求数据包,将第二请求数据包进行NVGRE封装,以获得第二封装数据包,并向外发出。
S205:NVGRE网关1接收第二封装数据包,并查找第二封装数据包需要发往的二层广播域。
S206:NVGRE网关1在二层广播域中查找第二请求数据包的目标MAC地址或IP地址所对应的物理设备21。
S207:NVGRE网关1剥除第二封装数据包的NVGRE封装,以获得第二请求数据包。
S208:NVGRE网关1将第二请求数据包发送至物理设备21。
具体而言,当虚拟机41首次访问物理设备21时,首先如步骤S201,虚拟机41基于ARP广播协议发送第二广播数据包,其中第二广播数据包的目标MAC地址为需要通信的物理设备21的MAC地址。在本实施例中,通过目标MAC地址定位物理设备21,在其他实施例中,也可以通过目标IP地址定位物理设备21。
如步骤S202,宿主机42接收第二广播数据包,并根据OpenFlow流表向虚拟机41回复第二应答数据包,以进行ARP广播代答。具体而言,宿主机42中包括OpenFlow流表,宿主机42根据OpenFlow流表生成第二应答数据包,其中第二应答数据包中的源MAC地址为物理设备21的MAC地址。使用OpenFlow流表生成第二应答数据包的方式可采用现有的OpenFlow流表方式。宿主机42向虚拟机41回复第二应答数据包,以进行ARP广播代答。
如步骤S203,虚拟机41接收第一应答数据包,并发送第二请求数据包,第二请求数据包中的目标MAC地址为物理设备21的MAC地址。
如步骤S204,宿主机42的OVS将第二请求数据包进行NVGRE封装,以获得第二封装数据包,第二封装数据包的目标IP地址为NVGRE网关1的IP地址192.168.1.20。宿主机42的OVS将第二封装数据包向NVGRE网关1发出。
如步骤S205,NVGRE网关1的数据包获取模块11接收第二封装数据包,并查找第二封装数据包需要发往的二层广播域。NVGER网关1根据第二广播数据中的目标MAC地址,在与NVGER网关1数据连接的控制平面下发的信息中查找目标MAC地址的物理设备21所在的二层广播域。
如步骤S206,NVGRE网关1的数据包获取模块11在二层广播域中查找第二请求数据包的目标MAC地址所对应的物理设备21。在本实施例中,通过目标MAC地址定位物理设备21,在其他实施例中,也可以通过目标IP地址定位物理设备21。
如步骤S207,NVGRE网关1的封装模块13剥除第二封装数据包的NVGRE封装,以获得第二请求数据包,同时在第二请求数据包中加入物理设备21所在的二层广播域的VLAN信息。
如步骤S208,NVGRE网关1的数据包发送模块14将第二请求数据包发送至物理设备21。具体而言,NVGRE网关1的数据包发送模块14将第二请求数据包发送至二层交换机3,二层交换机3将第二请求数据包单播转发至物理设备21。
通过上述对实施例的介绍可以看出,本发明所提供的用于物理设备与虚拟网络的通信方法、设备与系统,至少具有以下优势:
物理设备21,22基于第二层网络协议连接虚拟网关,因此可以将物理设备21,22与虚拟网络4中的虚拟机41设置于同一子网中,以方便地实现虚拟机41迁移到物理设备21,22。
NVGRE网关1和物理设备21,22之间的通信二层网络协议可达,NVGRE网关1和虚拟机41之间的通信也是二层网络协议可达,和虚拟机41所在的宿主机42之间的通信三层网络协议可达,从而实现了物理设备22,23和虚拟网络4之间二层透明直连,提高了连接性能,以目前的通用服务器硬件水平,采用本发明所提供的通信方法与通信系统可以最大提供1.28T64字节小包线速转发能力。
同时,使得用户在虚拟机和物理设备上的体验保持完全一致,便于其他虚拟化业务无缝地支持物理设备接入。
以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制。除上述实施例外,本发明还可以有其它实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明所要求保护的范围之内。

Claims (14)

1.一种用于物理设备与虚拟网络的通信方法,其特征在于,包括步骤:
NVGRE网关通过二层交换机接收来自物理设备的基于ARP广播协议发送的第一广播数据包,所述第一广播数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;
所述NVGRE网关根据所述第一广播数据包,向所述物理设备回复第一应答数据包,所述第一应答数据包的源MAC地址为所述NVGRE网关的MAC地址;
所述NVGRE网关通过二层交换机接收来自所述物理设备的第一请求数据包,所述第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;
所述NVGRE网关将所述第一请求数据包进行网络虚拟化通用路由封装,以获得包括所述第一请求数据包的第一封装数据包;
所述NVGRE网关将第一封装数据包转发至虚拟网络。
2.如权利要求1所述的用于物理设备与虚拟网络的通信方法,其特征在于,
多个所述物理设备通过VLAN协议进行隔离。
3.如权利要求2所述的用于物理设备与虚拟网络的通信方法,其特征在于,
所述NVGRE网关将所述第一请求数据包进行网络虚拟化通用路由封装,以获得包括所述第一请求数据包的第一封装数据包的步骤包括:
所述NVGRE网关根据VLAN信息获取所述第一请求数据包对应的二层广播域,在所述二层广播域中查找所述第一请求数据包对应的所述物理设备的MAC地址或IP地址;
所述NVGRE网关将所述第一请求数据包进行网络虚拟化通用路由封装,以获得第一封装数据包,所述第一封装数据包的源地址为所述NVGRE网关的地址,所述第一封装数据包内的所述第一请求数据包的源地址为所述物理设备的MAC地址或IP地址。
4.如权利要求1所述的用于物理设备与虚拟网络的通信方法,其特征在于,
所述NVGRE网关将第一封装数据包转发至虚拟网络的步骤包括:
所述NVGRE网关将所述第一封装数据包转发至路由器;
所述路由器将所述第一封装数据包转发至所述虚拟机所对应的宿主机;
所述宿主机接收所述第一封装数据包,剥除所述第一封装数据包的网络虚拟化通用路由封装以获得所述第一请求数据包;
所述宿主机将所述第一请求数据包转发至所述虚拟机。
5.如权利要求2所述的用于物理设备与虚拟网络的通信方法,其特征在于还包括步骤:
所述NVGRE网关接收来自虚拟网络的包括第二请求数据包的第二封装数据包,并查找所述第二封装数据包需要发往的二层广播域;
所述NVGRE网关在所述二层广播域中查找所述第二请求数据包的目标MAC地址或IP地址对应的所述物理设备;
所述NVGRE网关剥除所述第二封装数据包的网络虚拟化通用路由封装以获得所述第二请求数据包;
所述NVGRE网关将所述第二请求数据包发送至所述物理设备。
6.如权利要求5所述的用于物理设备与虚拟网络的通信方法,其特征在于,
所述第二封装数据包通过宿主机接收来自与所述宿主机对应的虚拟机发出的所述第二请求数据包后,将所述第二请求数据包进行网络虚拟化通用路由封装获得。
7.如权利要求5所述的用于物理设备与虚拟网络的通信方法,其特征在于,
所述NVGRE网关接收来自虚拟网络的包括第二请求数据包的第二封装数据包,并查找第二封装数据包需要发往的二层广播域的步骤之前还包括步骤:
宿主机接收来自所述虚拟机基于ARP广播协议发送的第二广播数据包;
所述宿主机根据OpenFlow流表向所述虚拟机回复第二应答数据包,所述第二应答数据包的源MAC地址为所述物理设备的MAC地址。
8.如权利要求5所述的用于物理设备与虚拟网络的通信方法,其特征在于,
所述NVGRE网关将所述第二请求数据包发送至所述物理设备的步骤包括:
所述NVGRE网关将所述第二请求数据包发送至所述二层交换机;
所述二层交换机将所述第二请求数据包单播转发至所述物理设备。
9.一种用于物理设备与虚拟网络的通信设备,所述通信设备部署在NVGRE网关中,其特征在于包括:
数据包获取模块,所述数据包获取模块通过二层交换机接收来自物理设备的第一请求数据包,所述第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;
代答模块,所述代答模块根据来自所述物理设备的第一广播数据包,向所述物理设备回复第一应答数据包,所述第一应答数据包的源MAC地址为所述NVGRE网关的MAC地址,其中,所述代答模块通过所述二层交换机接收来自所述物理设备的基于ARP广播协议发送的所述第一广播数据包,所述第一广播数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;
封装模块,所述封装模块将所述第一请求数据包进行网络虚拟化通用路由封装,以获得包括所述第一请求数据包的第一封装数据包;
数据包发送模块,所述数据包发送模块将第一封装数据包转发至虚拟网络。
10.如权利要求9所述的用于物理设备与虚拟网络的通信设备,其特征在于,
多个所述物理设备通过VLAN协议进行隔离。
11.如权利要求10所述的用于物理设备与虚拟网络的通信设备,其特征在于,
所述数据包获取模块根据VLAN信息获取所述第一请求数据包对应的二层广播域,在所述二层广播域中查找所述第一请求数据包对应的所述物理设备的MAC地址或IP地址;
所述封装模块将所述第一请求数据包进行网络虚拟化通用路由封装,以获得第一封装数据包,所述第一封装数据包的源地址为所述通信设备的地址,所述第一封装数据包内的所述第一请求数据包的源地址为所述物理设备的MAC地址或IP地址。
12.一种用于物理设备与虚拟网络的通信系统,其特征在于包括:
物理设备,所述物理设备发出第一请求数据包,所述第一请求数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;
NVGRE网关,所述NVGRE网关接收所述第一请求数据包,并将所述第一请求数据包进行网络虚拟化通用路由封装,以获得包括所述第一请求数据包的第一封装数据包,将所述第一封装数据包转发至虚拟网络;
二层交换机,所述二层交换机用于将所述第一请求数据包转发至所述NVGRE网关;
其中,所述NVGRE网关通过所述二层交换机接收来自物理设备的基于ARP广播协议发送的第一广播数据包,所述第一广播数据包的目标IP地址为虚拟网络中的虚拟机的IP地址;
所述NVGRE网关根据所述第一广播数据包,向所述物理设备回复第一应答数据包,所述第一应答数据包的源MAC地址为所述NVGRE网关的MAC地址。
13.如权利要求12所述的用于物理设备与虚拟网络的通信系统,其特征在于,
多个所述物理设备通过VLAN协议进行隔离。
14.如权利要求13所述的用于物理设备与虚拟网络的通信系统,其特征在于,
所述NVGRE网关根据VLAN信息获取所述第一请求数据包对应的二层广播域,在所述二层广播域中查找所述第一请求数据包对应的所述物理设备的MAC地址或IP地址;
所述NVGRE网关将所述第一请求数据包进行网络虚拟化通用路由封装,以获得第一封装数据包,所述第一封装数据包的源地址为所述NVGRE网关的地址,所述第一封装数据包内的所述第一请求数据包的源地址为所述物理设备的MAC地址或IP地址。
CN201610938952.7A 2016-11-01 2016-11-01 一种用于物理设备与虚拟网络的通信方法、设备与系统 Active CN106453023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610938952.7A CN106453023B (zh) 2016-11-01 2016-11-01 一种用于物理设备与虚拟网络的通信方法、设备与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610938952.7A CN106453023B (zh) 2016-11-01 2016-11-01 一种用于物理设备与虚拟网络的通信方法、设备与系统

Publications (2)

Publication Number Publication Date
CN106453023A CN106453023A (zh) 2017-02-22
CN106453023B true CN106453023B (zh) 2019-06-07

Family

ID=58177846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610938952.7A Active CN106453023B (zh) 2016-11-01 2016-11-01 一种用于物理设备与虚拟网络的通信方法、设备与系统

Country Status (1)

Country Link
CN (1) CN106453023B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189559A (zh) * 2018-09-12 2019-01-11 郑州云海信息技术有限公司 一种虚拟机安全通信方法、装置、设备及存储介质
CN111182016B (zh) * 2018-11-12 2022-12-27 中移(杭州)信息技术有限公司 一种PPPoE拨号报文传输方法及装置
CN109547350B (zh) * 2018-11-29 2021-10-08 迈普通信技术股份有限公司 一种路由学习方法及网关设备
CN111327545B (zh) * 2018-12-14 2021-10-15 北京金山云网络技术有限公司 数据发送方法、装置、网络系统及交换机
CN109660443B (zh) * 2018-12-26 2021-12-31 江苏省未来网络创新研究院 基于sdn的物理设备与虚拟网络通信方法和系统
CN110147344B (zh) * 2019-05-21 2022-02-11 优刻得科技股份有限公司 在多个物理机之间通信的方法、装置、存储介质和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757005B2 (en) * 2003-06-12 2010-07-13 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
CN102457439A (zh) * 2011-12-07 2012-05-16 中标软件有限公司 一种云计算系统的虚拟交换系统及其虚拟交换方法
CN104601472A (zh) * 2015-02-04 2015-05-06 盛科网络(苏州)有限公司 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN104660479A (zh) * 2015-02-13 2015-05-27 南京华讯方舟通信设备有限公司 一种组网方法以及网络系统
CN104704778A (zh) * 2012-08-14 2015-06-10 Vm维尔股份有限公司 用于虚拟和物理网络集成的方法和系统
CN105978828A (zh) * 2016-05-16 2016-09-28 锐捷网络股份有限公司 一种实现虚拟机报文转发的方法和交换机

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757005B2 (en) * 2003-06-12 2010-07-13 International Business Machines Corporation MAC layer bridging of network frames between isolated and external networks
CN102457439A (zh) * 2011-12-07 2012-05-16 中标软件有限公司 一种云计算系统的虚拟交换系统及其虚拟交换方法
CN104704778A (zh) * 2012-08-14 2015-06-10 Vm维尔股份有限公司 用于虚拟和物理网络集成的方法和系统
CN104601472A (zh) * 2015-02-04 2015-05-06 盛科网络(苏州)有限公司 在芯片中实现vxlan网关分布式路由的方法及报文处理系统
CN104660479A (zh) * 2015-02-13 2015-05-27 南京华讯方舟通信设备有限公司 一种组网方法以及网络系统
CN105978828A (zh) * 2016-05-16 2016-09-28 锐捷网络股份有限公司 一种实现虚拟机报文转发的方法和交换机

Also Published As

Publication number Publication date
CN106453023A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106453023B (zh) 一种用于物理设备与虚拟网络的通信方法、设备与系统
CN111885075B (zh) 容器通信方法、装置、网络设备及存储介质
CN104780088B (zh) 一种业务报文的传输方法和设备
CN103200069B (zh) 一种报文处理的方法和设备
CN103259727B (zh) 一种报文转发方法及设备
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
CN106998286B (zh) 一种vxlan报文转发方法及装置
CN103491010B (zh) 在虚拟网络中发送报文的方法、装置和系统
CN105519080B (zh) 用于在网络层2对等方之间交换ip分组的方法和装置
US9426060B2 (en) Software defined network (SDN) switch clusters having layer-3 distributed router functionality
CN104170331B (zh) 用于vxlan的l3网关
KR101912073B1 (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
CN104168223B (zh) 用于确定分组优先级的方法和系统
CN103477588B (zh) 刀片服务器中刀片间网络业务的分类和管理方法和系统
CN105284080B (zh) 数据中心的虚拟网络管理方法及数据中心系统
CN109660443A (zh) 基于sdn的物理设备与虚拟网络通信方法和系统
CN109716717A (zh) 从软件定义的网络控制器管理虚拟端口信道交换机对等体
US10530656B2 (en) Traffic replication in software-defined networking (SDN) environments
CN116235482A (zh) 虚拟层2网络
CN104813288B (zh) 用于在启用openflow的云计算中使用mpls时分离租户特定数据的装置和方法
JP2022546802A (ja) 仮想プライベートクラウドの通信および構成方法ならびに関連する装置
CN104335532A (zh) 使用单独管理将vlan标记的分组路由到虚拟转发实例的远端地址
CN108200225A (zh) 不对称网络地址封装
CN116762060A (zh) 虚拟化的云环境中层2网络的互联网组管理协议(igmp)
CN106209648A (zh) 跨虚拟可扩展局域网的组播数据报文转发方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 200433 Room 201, 10 B, 619 Longchang Road, Yangpu District, Shanghai.

Applicant after: Excellent Polytron Technologies Inc

Address before: 200433 room 1207-10, 6 Wade Road, Yangpu District, Shanghai.

Applicant before: SHANGHAI UCLOUD INFORMATION TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant