CN105264837B - 一种数据报文的传输系统、传输方法和设备 - Google Patents
一种数据报文的传输系统、传输方法和设备 Download PDFInfo
- Publication number
- CN105264837B CN105264837B CN201380002395.2A CN201380002395A CN105264837B CN 105264837 B CN105264837 B CN 105264837B CN 201380002395 A CN201380002395 A CN 201380002395A CN 105264837 B CN105264837 B CN 105264837B
- Authority
- CN
- China
- Prior art keywords
- interface
- virtual
- information
- physical port
- data message
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种数据报文的传输系统、传输方法和设备,使得虚拟机能够接收并处理流经某一物理端口的所有数据报文,或流经某一物理端口的包含特定VLAN标识的所有数据报文,扩大了虚拟机处理的数据报文的范围,虚拟机的功能将被最大化地使用,有效地优化了虚拟化效果,实现了以前无法实现的功能。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据报文的传输系统、传输方法和设备。
背景技术
虚拟化技术是指在一个物理主机上创建出多个虚拟机(VM),所述物理主机也可称之为宿主机(Host)。为每个虚拟机分配硬盘、内存、中央处理器(CPU)等资源,以及为每个虚拟机安装操作系统(Operating System,OS)的技术,不同的虚拟机可以安装不同的操作系统。
由于虚拟机可以有独立的资源以及操作系统,因此,不同的虚拟机之间可以是相互独立的。创建的虚拟机可供使用者使用,租用虚拟机的使用者可称之为租户,一个租户可租用一个或多个虚拟机。
随着通信业(CT)技术和信息业(IT)技术的融合,传统的通信网元也逐渐开始应用到IT的虚拟化技术中,例如,将无线网络控制器(Radio Network Controller,RNC)、移动性管理实体(Mobility Management Entity,MME)和服务网关(Serving Gateway,SGW)等通信网元的功能在虚拟机中实现。
传统的IT业中的虚拟机的主要功能是接入互联网,因此,其组网需求比较低,虚拟机接入虚拟架构中的虚拟设施层提供的虚拟网络后,再接入互联网,具体的虚拟机的组网方式可以有以下两种:
方式一:
如图1所示,假设有2个宿主机,分别为Host1和Host2,每个宿主机中创建了2个虚拟机,分别为VM1、VM2、VM3和VM4,为每个虚拟机分配一个因特网的IP地址,分别为30.0.0.2~30.0.0.5,同时,为虚拟设施层提供的外部网络(External Network)的物理路由器(Physical Router)分配同网段的IP地址,这里分配的是30.0.0.1。在图1所示的组网架构下,虚拟机访问互联网的过程为:
首先,虚拟机通过虚拟网卡(vNIC)接入到虚拟交换机(vSwitch);
然后,为虚拟机配置缺省路由,并将物理路由器作为网关,虚拟机通过为自身分配的公网的IP地址访问到同网段IP地址的物理路由器;
最后,虚拟机以物理路由器为网关,通过公网的IP地址访问互联网。
方式二:
如图2所示,仍假设有2个宿主机,分别为Host1和Host2,每个宿主机中创建了2个虚拟机,分别为VM1、VM2、VM3和VM4,为每个虚拟机分配一个因特网的IP地址,分别为30.0.0.2~30.0.0.5,并且为每个虚拟机分配一个局域网的IP地址,分别为10.0.0.2~10.0.0.5,同时,为虚拟设施层提供的外部网络(External Network)的物理路由器分配同网段的因特网IP地址,即30.0.0.1,为内部网络(Internal Network)的路由器(Router)或网络地址转换器(NAT)分配同网段的局域网IP地址,即10.0.0.1。在图1所示的组网架构下,虚拟机访问互联网的过程为:
首先,虚拟机通过虚拟网卡(vNIC)接入到虚拟交换机(vSwitch);
然后,为虚拟机配置缺省路由,并将内部网络中的路由器作为虚拟机接入内部网络的网关,虚拟机通过局域网的IP地址访问内部网络中的路由器;外部网络中的物理路由器作为虚拟机访问互联网的网关,虚拟机通过因特网的IP地址访问外部网络中的物理路由器;
最后,虚拟机以内部网络中的路由器为网关,通过局域网的IP地址访问内部网络,以外部网络中的物理路由器为网关,通过因特网的IP地址访问英特网。
上述方式一和方式二中所涉及的内部网络是指能够让虚拟架构中的设备在虚拟架构中内部连通的网络,如使虚拟机、虚拟网卡、虚拟交换机等连通的网络;所涉及的外部网络是指使虚拟机与因特网连通的网络。
在将通信网元应用在虚拟化技术时,也可采用与图1或图2相同的组网方式,只不过虚拟机最终访问的不是英特网,而是外部物理设备,如基站等。但是,在目前虚拟机的组网架构下,在外部物理设备向虚拟机发送数据报文时,外部网络中的虚拟交换机是根据数据报文中所包含的目的MAC地址对数据报文进行转发,物理路由器、内部网络中的路由器是根据IP地址进行路由转发,最终数据报文将发送至目的MAC地址或者IP地址对应的虚拟机,也就是说,虚拟机只能接收到这样类型的数据报文:所包含的目的MAC地址或IP地址是该虚拟机的MAC地址或IP地址的数据报文,由于虚拟机接收到的数据报文有限,如无法接收诸如与链路层相关的数据报文,因此,虚拟机的功能不能高效使用。
发明内容
本发明实施例提供了一种数据报文的传输系统、传输方法和设备,用以解决现有技术中存在的虚拟机接收的数据报文有限,导致虚拟机功能不能高效使用的问题。
第一方面,提供了一种数据报文的传输系统,所述系统包括:通用处理设备和接口设备,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系;
所述接口设备,用于通过第一物理端口接收外部物理设备发送的第一数据报文时,根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口,并根据所述第一虚拟弹性接口与虚拟机的对应关系,确定接收所述第一数据报文的第一虚拟机的信息,以及,将确定的所述第一虚拟机的信息携带在第一报文头信息中,对所述第一数据报文封装所述第一报文头信息后,通过确定的所述第一虚拟弹性接口发送给所述通用处理设备;
所述通用处理设备,用于在接收到所述第一数据报文时,根据封装的第一报文头信息确定接收所述第一数据报文的所述第一虚拟机,并将去掉所述第一报文头信息的第一数据报文发送给所述第一虚拟机。
结合第一方面,在第一种可能的实现方式中,所述通用处理设备,还用于确定发送第二数据报文的第二虚拟机对应的第二虚拟弹性接口,并根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息,以及,将确定的所述第二物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述第二虚拟弹性接口发送给所述接口设备;
所述接口设备,还用于在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的第二物理端口的信息,将去掉所述第二报文头信息的第二数据报文通过所述第二物理端口发送给外部物理设备。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接口设备,具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述接口设备,具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述接口设备,具体用于将确定的所述第一虚拟机的媒体链路控制MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
结合第一方面的第一种可能的实现方式,在第五种可能的实现方式中,所述通用处理设备,具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息携带在所述第二报文头信息中,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源信息作为物理端口的信息携带在所述第二报文头信息中。
结合第一方面的第一种可能的实现方式或第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述通用处理设备,具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式、第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述系统还包括:
管理设备,用于在接收到创建虚拟弹性接口的申请时,根据申请中的创建信息创建虚拟弹性接口,并将创建的所述虚拟弹性接口所占用的物理端口的信息和与虚拟机的对应关系发送给所述接口设备和所述通用处理设备;
所述创建信息包括:待创建的虚拟弹性接口需占用的带宽、对应的虚拟机的信息、所占用的物理端口的信息。
第二方面,提供了一种数据报文的传输系统,所述系统包括:接口设备和通用处理设备,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系;
所述通用处理设备,用于确定发送第二数据报文的虚拟机对应的虚拟弹性接口,并根据物理端口与虚拟弹性接口之间的占用关系,确定发送所述第二数据报文的虚拟机对应的虚拟弹性接口所占用的物理端口的信息,以及,将确定的物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述虚拟弹性接口发送给所述接口设备;
所述接口设备,还用于在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的物理端口信息,将去掉所述第二报文头信息的第二数据报文通过对应的物理端口发送给外部物理设备。
第三方面,提供了一种接口设备,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与通用处理设备中创建的至少一个虚拟机具有对应关系;
所述接口设备包括第一接收模块、与所述第一接收模块连接的虚拟弹性接口确定模块、分别与所述虚拟弹性接口确定模块连接的虚拟机确定模块和第一发送模块,以及与所述虚拟机确定模块连接的封装模块,其中:
所述第一接收模块,用于通过第一物理端口接收外部物理设备发送的第一数据报文;
所述虚拟弹性接口确定模块,用于根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口;
所述虚拟机确定模块,用于根据所述第一虚拟弹性接口与虚拟机的对应关系,确定所述第一虚拟弹性接口对应的第一虚拟机的信息;
所述封装模块,用于对所述第一数据报文封装第一报文头信息,所述第一报文头信息中携带所述虚拟机确定模块确定的所述第一虚拟机的信息;
所述第一发送模块,用于将所述封装模块封装了所述第一报文头信息的第一数据报文通过所述虚拟弹性接口确定模块确定的第一虚拟弹性接口进行发送。
结合第三方面,在第一种可能的实现方式中,所述接口设备还包括第二接收模块、与所述第二接收模块连接的解封装模块、分别与所述解封装模块连接的物理端口确定模块和第二发送模块,其中:
所述第二接收模块,用于通过第二虚拟弹性接口接收第二数据报文,所述第二数据报文封装有第二报文头信息,所述第二报文头信息中携带有第二物理端口的信息;
所述解封装模块,用于将所述第二接收模块接收到的所述第二数据报文中的第二报文头信息解封装得到所述第二报文头信息和去掉所述第二报文头信息的第二数据报文;
所述物理端口确定模块,用于根据所述解封装模块解封装得到的所述第二报文头信息中携带的第二物理端口的信息,确定传输所述第二数据报文的第二物理端口;
所述第二发送模块,用于将所述解封装模块解封装得到的去掉所述第二报文头信息的第二数据报文通过所述物理端口确定模块确定的所述第二物理端口发送给外部物理设备。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟弹性接口确定模块,具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
结合第三方面、第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述虚拟机确定模块,具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
结合第三方面、第三方面的第一种可能的实现方式、第三方面的第二种可能的实现方式或第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述封装模块,具体用于将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
第四方面,提供了一种接口设备,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与通用处理设备中创建的至少一个虚拟机具有对应关系;
所述接口设备包括收发器和处理器,其中:
所述收发器,用于通过第一物理端口接收外部物理设备发送的第一数据报文,以及,根据处理器确定的第一虚拟弹性接口,将处理器封装了第一报文头信息的第一数据报文通过所述第一虚拟弹性接口进行发送;
处理器,用于根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口,以及,根据所述第一虚拟弹性接口与虚拟机的对应关系,确定所述第一虚拟弹性接口对应的第一虚拟机的信息,并对所述第一数据报文封装第一报文头信息,所述第一报文头信息中携带所述第一虚拟机的信息。
结合第四方面,在第一种可能的实现方式中,所述收发器,还用于通过第二虚拟弹性接口接收第二数据报文,所述第二数据报文封装有第二报文头信息,所述第二报文头信息中携带有第二物理端口的信息,以及将所述处理器去掉所述第二报文头信息的第二数据报文通过所述处理器确定的所述第二物理端口发送给外部物理设备;
所述处理器,用于将所述第二数据报文中的第二报文头信息解封装得到所述第二报文头信息和去掉所述第二报文头信息的第二数据报文,根据第二报文头信息中携带的第二物理端口的信息,确定传输所述第二数据报文的第二物理端口。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,处理器,具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
结合第四方面、第四方面的第一种可能的实现方式或第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器,具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
结合第四方面、第四方面的第一种可能的实现方式、第四方面的第二种可能的实现方式或第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器,具体用于将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
第五方面,提供了一种通用处理设备,所述通用处理设备中创建有至少一个虚拟机,其中:每个虚拟机对应一个弹性虚拟接口,且至少一个虚拟弹性接口占用接口设备中的一个物理端口;
所述通用处理设备包括:第一接收模块、与所述第一接收模块连接的虚拟弹性接口确定模块、分别与所述虚拟弹性接口确定模块连接的物理端口确定模块和第一发送模块,以及与所述物理端口确定模块连接的封装模块,其中:
所述第一接收模块,用于接收第二虚拟机发出的第二数据报文;
所述虚拟弹性接口确定模块,用于确定所述第二虚拟机对应的第二虚拟弹性接口;
所述物理端口确定模块,用于根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息;
所述封装模块,用于对所述第一接收模块接收到的所述第二数据报文封装第二报文头信息,所述第二报文头信息中携带有所述物理端口确定模块确定的第二物理端口的信息;
所述第一发送模块,用于通过所述虚拟弹性接口确定模块确定的所述第二虚拟弹性接口,将所述封装模块封装了所述第二报文头信息的第二数据报文进行发送。
结合第五方面,在第一种可能的实现方式中,所述通用处理设备还包括:第二接收模块、与所述第二接收模块连接的解封装模块、分别与所述解封装模块连接的虚拟机确定模块和第二发送模块,其中:
所述第二接收模块,用于通过第一虚拟弹性接口接收第一数据报文,所述第一数据报文封装了第一报文头信息,所述第一报文头信息中携带有第一虚拟机的信息;
所述解封装模块,用于将所述第二接收模块接收到的所述第一数据报文中的第一报文头信息解封装得到所述第一报文头信息和去掉所述第一报文头信息的第一数据报文;
所述虚拟机确定模块,用于根据所述解封装模块解封装得到的所述第一报文头信息中携带的第一虚拟机的信息,确定接收所述第一数据报文的第一虚拟机;
所述第二发送模块,用于将所述解封装模块解封装得到的去掉所述第一报文头信息的第一数据报文发送给所述虚拟机确定模块确定的所述第一虚拟机。
结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述物理端口确定模块,具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源作为物理端口的信息。
结合第五方面、第五方面的第一种可能的实现方式或第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述封装模块,具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中,对所述第二数据报文进行封装。
第六方面,提供了一种通用处理设备,所述通用处理设备中创建有至少一个虚拟机,其中:每个虚拟机对应一个弹性虚拟接口,且至少一个虚拟弹性接口占用接口设备中的一个物理端口;
所述通用处理设备包括:收发器和处理器,其中:
所述收发器,用于接收第二虚拟机发出的第二数据报文,以及根据所述处理器确定的第二虚拟弹性接口,将处理器封装了第二报文头的第二数据报文通过所述第二虚拟弹性接口进行发送;
所述处理器,用于确定所述第二虚拟机对应的第二虚拟弹性接口,以及,根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息,并对所述第二数据报文封装第二报文头信息,所述第二报文头信息中携带有确定的第二物理端口的信息。
结合第六方面,在第一种可能的实现方式中,所述处理器,具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源作为物理端口的信息。
结合第六方面或第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器,具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中,对所述第二数据报文进行封装。
结合第六方面、第六方面的第一种可能的实现方式或第六方面的第二种可能的实现方式,在第三种可能的实现方式中,所述收发器,还用于通过第一虚拟弹性接口接收第一数据报文,所述第一数据报文封装了第一报文头信息,所述第一报文头信息中携带第一虚拟机的信息,以及,根据所述处理器确定的第一虚拟机,将处理器去掉所述第一报文头信息的第一数据报文发送给所述第一虚拟机;
所述处理器,还用于将所述第一数据报文中的第一报文头信息解封装得到所述第一报文头信息和去掉所述第一报文头信息的第一数据报文,根据第一报文头信息中携带的第一虚拟机的信息,确定接收所述第一数据报文的第一虚拟机。
第七方面,提供了一种数据报文的传输方法,所述方法包括:
接口设备通过第一物理端口接收到外部物理设备发送的第一数据报文时,根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口,并根据所述第一虚拟弹性接口与虚拟机的对应关系,确定接收所述第一数据报文的第一虚拟机的信息;
所述接口设备将确定的所述第一虚拟机的信息携带在第一报文头信息中,对所述第一数据报文封装所述第一报文头信息后,通过确定的所述第一虚拟弹性接口发送给所述通用处理设备;
通用处理设备在接收到所述第一数据报文时,根据封装的第一报文头信息确定接收所述第一数据报文的所述第一虚拟机,并将去掉所述第一报文头信息的第一数据报文发送给所述第一虚拟机;
其中,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系。
结合第七方面,在第一种可能的实现方式中,所述方法还包括:
所述通用处理设备确定发送第二数据报文的第二虚拟机对应的第二虚拟弹性接口,并根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息;
所述通用处理设备将确定的所述第二物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述第二虚拟弹性接口发送给所述接口设备;
所述接口设备在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的第二物理端口的信息,将去掉所述第二报文头信息的第二数据报文通过对应的所述第二物理端口发送给外部物理设备。
结合第七方面或第七方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接口设备通过以下方式确定传输所述第一数据报文的第一虚拟弹性接口:
若所述第一物理端口被一个虚拟弹性接口独占,则所述接口设备确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则所述接口设备根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
结合第七方面、第七方面的第一种可能的实现方式或第七方面的第二种可能的实现方式,在第三种可能的实现方式中,当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,所述接口设备根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
结合第七方面、第七方面的第一种可能的实现方式、第七方面的第二种可能的实现方式或第七方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
所述接口设备还将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
结合第七方面的第一种可能的实现方式,在第五种可能的实现方式中,所述通用处理设备将确定的第二物理端口的信息携带在第二报文头信息中,具体包括:
所述通用处理设备在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息携带在所述第二报文头信息中,或者,在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源信息作为物理端口的信息携带在所述第二报文头信息中。
结合第七方面的第一种可能的实现方式或第七方面的第五种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:
所述通用处理设备还将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中。
结合第七方面、第七方面的第一种可能的实现方式、第七方面的第二种可能的实现方式、第七方面的第三种可能的实现方式、第七方面的第四种可能的实现方式、第七方面的第五种可能的实现方式或第七方面的第六种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:
管理设备在接收到创建虚拟弹性接口的申请时,根据申请中的创建信息创建虚拟弹性接口,所述创建信息包括:待创建的虚拟弹性接口需占用的带宽、对应的虚拟机的信息、所占用的物理端口的信息;
所述管理设备将创建的所述虚拟弹性接口所占用的物理端口的信息和与虚拟机的对应关系发送给所述接口设备和所述通用处理设备。
第八方面,提供一种数据报文的传输方法,所述方法包括:
通用处理设备确定发送第二数据报文的虚拟机对应的虚拟弹性接口,并根据物理端口与虚拟弹性接口之间的占用关系,确定虚拟机对应的虚拟弹性接口所占用的物理端口的信息;
所述通用处理设备将确定的物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述虚拟弹性接口发送给所述接口设备;
所述接口设备在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的物理端口信息,将去掉所述第二报文头信息的第二数据报文通过对应的物理端口发送给外部物理设备;
其中,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系。
本申请有益效果如下:
通过本发明实施例的方案,虚拟机能够接收并处理流经某一物理端口的所有数据报文,或流经某一物理端口的包含特定VLAN标识的所有数据报文,扩大了虚拟机处理的数据报文的范围,使得虚拟机的功能将被最大化地使用,有效地优化了虚拟化效果,实现了以前无法实现的功能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为和图2背景技术中两种虚拟机的组网示意图;
图3和图4为本发明实施例一中数据报文的传输系统结构示意图;
图5为本发明实施例一中数据报文从外部物理设备传输给虚拟机的方法步骤示意图;
图6为本发明实施例一中在MAC报文外封装第一报文头信息后的结构示意图;
图7为本发明实施例一中数据报文虚拟机传输给外部物理设备的方法步骤示意图;
图8和图9为本发明实施例二中结构设备结构示意图;
图10为本发明实施例三中的通用处理设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了优化虚拟化效果,使复杂网络中虚拟机所模拟的功能能够被最大化地使用,本发明实施例提出了一种新的数据报文的传输方案,该方案包括两个方向的数据报文传输过程:
数据报文从外部物理设备传输给虚拟机的过程:
接口设备通过本地的物理端口接收到外部物理设备传入的第一数据报文时,并不立即将第一数据报文传输给虚拟机,而是先确定用于传输所述第一数据报文的虚拟弹性接口,后续简称EIF接口,然后在根据EIF接口与虚拟机之间的对应关系,确定与所述EIF接口对应的虚拟机后,在所述第一数据报文外封装第一报文头后,将第一数据报文通过确定的EIF接口发送给通用处理设备,所述第一报文头中携带确定出的虚拟机的信息;最后由通用处理设备解封装第一报文头后,将第一数据报文发送给相应的虚拟机。
数据报文从虚拟机传输给外部物理设备的过程:
通用处理设备接收到虚拟机发出的第二数据报文时,根据虚拟机与EIF接口的对应关系,确定发送所述第二数据报文的虚拟机对应的EIF接口,由于EIF接口占用接口设备上的物理端口,包括独占或复用物理端口,因此,在确定EIF接口后,可进一步确定该EIF接口所占用的物理端口的信息;通用处理设备将所述物理端口的信息携带在第二报文头中并将第二报文头封装在所述第二数据报文外,通过确定的EIF接口发送给接口设备,最后由接口设备解封装第二报文头后,将第二数据报文通过相应的物理端口发送给外部物理设备。
需要说明的是,本发明实施例的方案所涉及的外部物理设备是指独立于虚拟架构层中各设备的外部物理设备,如基站。
所述通用处理设备和接口设备是虚拟架构层中的基础设施层中的设备,其中:
所述通用处理设备可以是宿主机,也可以是宿主机中的功能部件,所述通用处理设备中可创建至少一个虚拟机,且所述通用处理设备能够对创建的虚拟机进行数据报文的收发管理。
所述接口设备中有至少一个物理端口,其可以是独立于所述通用处理设备的专用接口设备,也可以是宿主机中的接口设备,也就是说,所述通用处理设备和接口设备可以是各自独立的硬件设备,也可以是集成在一起的硬件设备,但各自具有实现相应功能的能力,例如,通用处理设备可以是虚拟机系统中用于业务处理的单板,接口设备可以是用于交换的接口单板。需要说明的是,上述只是举例,并不限于此。
所述EIF接口是一种虚拟接口,可视为通用处理设备和接口设备之间传输数据报文的传输通道,其与接口设备上的物理端口以及与通用处理设备上的虚拟机之间分别具有以下关联关系:
1)、所述EIF接口与物理端口之间的关联关系如下:
所述EIF接口需要占用一定的物理端口资源,这里的物理端口资源可以包括物理端口的流量或者带宽等,一个EIF接口独占某一物理端口,或是多个EIF接口复用一物理端口。
若一个EIF接口独占一个物理端口,则该EIF接口通过的流量可以对应其所独占的物理端口的全部流量,换句话说,就是在数据报文从外部物理设备传输给虚拟机时,流经该物理端口的所有数据报文都会流经独占该物理端口的EIF接口,在数据报文从虚拟机传输给外部物理设备时,流经该EIF接口的数据报文都会流经该EIF接口独占的物理端口。
若多个EIF接口复用一个物理端口,则每个EIF接口可占用该物理端口上的一部分切片资源,以切片资源为虚拟局域网(Virtual Local Area Network,VLAN)接口为例,一个物理端口上可设置多个VLAN接口,如设置4个VLAN接口,切片资源信息分别为VLAN1~VLAN4,一个EIF接口可对应一个切片资源信息,如eif1对应VLAN1,则一个EIF接口通过的流量可以对应其所占用的物理端口流经的所有流量中,包含的VLAN标识为该EIF接口对应的VLAN标识的数据报文的流量,换句话说,满足以下条件的数据报文将流经物理端口上复用的某一EIF接口:数据报文从外部物理设备传输给虚拟机时,流经该EIF接口所复用的物理端口,且包含的VLAN标识与该EIF接口对应的VLAN标识相同,在数据报文从虚拟机传输给外部物理设备时,发出该数据报文的虚拟机是与该EIF接口对应的虚拟机。
2)、所述EIF接口与虚拟机之间的关联关系如下:
所述EIF接口与虚拟机具有对应关系,即:一个EIF接口可以映射到至少一个虚拟网卡(vNIC)上,由与所述vNIC关联的虚拟机处理该EIF接口收发的数据报文,换句话说,就是一个EIF接口与至少一个虚拟机具有对应关系,但一个虚拟机只与一个EIF接口对应。在数据报文从外部物理设备传输给虚拟机时,可根据负载均衡等方式,使得流经该EIF接口的数据报文将会传输给该EIF接口对应的一个虚拟机,本发明实施例并不限于负载均衡方式。在数据报文从虚拟机传输给外部物理设备时,虚拟机发送的数据报文将会流经该虚拟机对应的EIF接口。
通过以上对本发明实施例方案的整体描述可知:在本发明实施例的数据报文传输过程中,不论哪个外部物理设备向虚拟机发送数据报文,由于外部物理设备向接口设备传输数据报文时所流经的物理端口是预先配置的,即外部物理设备与传输数据报文的物理端口之间的关系是确定的,另外,由于物理端口与EIF接口之间的占用关系以及EIF接口与虚拟机之间的对应关系也已确定,因此,某一虚拟机能够接收并处理流经某一物理端口的所有数据报文,或流经某一物理端口的包含特定VLAN标识的所有数据报文,扩大了虚拟机处理的数据报文的范围,使得虚拟机的功能将被最大化地使用,有效地优化了虚拟化效果,实现了以前无法实现的功能。例如,虚拟机接收到与链路层相关的数据报文后,如接收到链路汇聚控制协议(Link Aggregation Control Protocol,LACP)报文后,虚拟机就可与外部网络设备实现链路聚合协商的功能。
另外,虽然在实际的网络架构中,虚拟机与物理端口之间有多跳的转发路径,但由于虚拟机处理的数据报文即为流经某一物理端口的全部数据报文或包含特定VLAN标识的数据报文,因此,如果将虚拟机与物理端口之间视为直传的相邻两跳传输的话,所述物理端口等价于虚拟机的虚拟端口,此时,非虚拟化环境下的传输协议以及传输机制就可应用在虚拟化环境中,对虚拟化技术是有效的优化。
进一步地,在本发明实施例的方案中,由于无需按照背景技术中所涉及的方式一和方式二来分配因特网的IP地址,节约了因特网的IP地址,也降低了方案的实现难度。
需要说明的是,本发明各实施例中针对数据报文的“第一”、“第二”的限定是用于区分从外部物理设备传输给虚拟机的数据报文和从虚拟机传输给外部物理设备的数据报文,并不对数据报文的内容有任何限定。
类似的,针对报文头的“第一”、“第二”的限定是用于区分接口设备在发送给虚拟机的数据报文外封装的报文头和通用处理设备在发送给外部物理设备的数据报文外封装的报文头,并不对报文头的内容有任何限定。
下面结合说明书附图对本发明的具体实施过程进行详细描述,当然,本发明实施例并不局限于以下实施例的方案。
实施例一:
本发明实施例一所涉及的传输系统应用在云计算架构层中的基础设施层中,以下以接口设备为独立的专用接口设备为例对本发明实施例一的方案进行描述。
如图3所示,为本发明实施例一中数据报文的传输系统结构示意图,假设:系统中有两个通用处理设备,分别为通用处理设备1和通用处理设备2,每个通用处理设备中创建有2个虚拟机,分别为VM1~VM4,通用处理设备内安装有操作系统,每个虚拟机中也安装有独立的操作系统。其中:VM1和VM2是租户1租用的虚拟机,VM3和VM4是租户2租用的虚拟机;虚拟机通过vNIC与通用处理设备进行数据报文的交互,通用处理设备通过第一网卡与交换网中的交换机之间进行通信,通信方式可以为背板连接、网线或光纤方式,交换机通过第二网卡与接口设备之间进行通信,通信方式可以为背板连接、网线或光纤方式,接口设备通过本地的物理端口与外部物理设备进行通信。在本实施例一的方案中,所述外部物理设备为基站,图3中标示出了两个基站,分别为不同租户架设的基站,且每个基站都能够与接口设备进行通信。
所述传输系统在进行数据报文的传输之前,需创建EIF接口,所述EIF接口需由基础设施层中的管理设备来创建,所述管理设备可以是通用处理设备中具有创建EIF接口能力的逻辑模块,也可以是独立设置的逻辑模块,本发明实施例一并不对此做限定。
所述管理设备创建EIF接口的具体过程如下:
第一步:管理设备接收创建EIF接口的申请。
所述创建EIF接口的申请可由管理员手动输入,也可以由云计算架构层中的其他设备发起。
所述申请中携带有创建信息,所述创建信息包括但不限于以下信息:
1)、待创建的EIF接口需占用的带宽;
2)、待创建的EIF接口对应的虚拟机的信息;
3)、待创建的EIF接口所占用的物理端口的信息;
4)、待创建的EIF接口是独占物理端口还是与其他EIF接口一起复用物理端口的信息以及待创建的虚拟弹性接口所占用的物理端口的信息。
如果待创建的EIF接口是独占物理端口,所述待创建的EIF接口所占用的物理端口的信息是所占用的物理端口的端口号,如果待创建的EIF接口是复用物理端口,所述待创建的EIF接口所占用的物理端口的信息是所占用的物理端口的端口号和待创建的EIF接口对应的切片资源信息,所述切片资源信息可以为VLAN标识,切片资源信息所表示的切片资源可以为VLAN接口。
第二步:管理设备进行准入判定,所述准入判定是指判断当前系统的实际状况是否满足创建信息的要求,进而确定是否能够创建申请的EIF接口。
例如:是否有足够的空闲带宽分配给待创建的EIF接口,待创建的EIF接口所占用的物理端口是否存在,如果是复用物理端口,复用的物理端口资源是否冲突,如果待创建的EIF接口申请的物理端口的切片资源已被其他EIF接口占用的话,表示复用的物理端口资源发生冲突。
当管理设备通过准入判定,确定当前系统的实际状况能够满足创建信息的要求,则创建EIF接口,并为创建的EIF接口生成相应的接口信息,所述接口信息包括:为创建的EIF接口分配的带宽、创建的EIF接口占用的物理端口的信息(如果是独占物理端口,则物理端口的信息为物理端口的端口号,如果是复用物理端口,则物理端口的信息是物理端口的端口号和该EIF接口对应的切片资源信息)、创建的EIF接口与虚拟机之间的对应关系,其中,所述EIF接口可以对应一个虚拟机,也可以对应多个虚拟机。
在执行完成以上两个步骤后,完成了一个EIF接口的创建过程,当需要创建多个EIF接口时,可多次执行以上两个步骤。管理设备在创建EIF接口后,可将创建的EIF接口所占用的物理端口的信息发送给接口设备和通用处理设备,同时,还可以将创建的EIF接口与虚拟机之间的对应关系发送给接口设备和通用处理设备,此时,接口设备和通用处理设备就获知了当前创建的EIF接口的相关信息,并可通过该EIF接口进行数据报文的传输。
在创建了EIF接口后的系统结构可参见图4所示,假设:接口设备中有一个物理端口,该物理端口被4个EIF接口复用,分别为EIF1~EIF4,这4个EIF接口分别对应VLAN1~VLAN4,以及,这4个EIF接口分别对应VM1~VM4。
在图4所示的系统结构下,数据报文从外部物理设备传输给虚拟机的过程如图5所示,包括以下步骤:
步骤101:所述接口设备,用于通过物理端口接收外部物理设备发送的第一数据报文,根据物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的EIF接口。
所述第一数据报文中携带有:
1)、第一数据报文的传输类型,如以太网类型(Ethernet type)的传输;
2)、目的MAC地址,即外部物理设备确定的虚拟机的MAC地址;
3)、源MAC地址,即发送所述第一数据报文的外部物理设备的MAC地址;
4)、外部物理设备向虚拟机发送第一数据报文时确定的VLAN ID。
所述接口设备在接收到所述第一数据报文时,确定接收所述第一数据报文的物理端口,并确定该物理端口是否被某一EIF接口独占,若是,则所述接口确定独占所述物理端口的EIF接口为传输所述第一数据报文的EIF接口,即本步骤101确定的EIF接口;若否,则所述接口设备根据所述第一数据报文中携带的切片资源信息,如VLAN标识,确定与该切片资源信息对应的EIF接口为传输所述第一数据报文的EIF接口,即本步骤101确定的EIF接口。
参见图4,假设所述接口设备确定所述第一数据报文中携带的VIAN ID为VLAN1,则可确定用于传输所述第一数据报文的EIF接口为eif1。
步骤102:所述接口设备,用于根据EIF接口与虚拟机之间的对应关系,确定接收所述第一数据报文的虚拟机的信息。
本步骤中确定的虚拟机的信息可以是虚拟机的MAC地址、虚拟端口号等,也可以是其他能够唯一表示虚拟机的信息。
本步骤的具体实现方式为:所述接口设备根据管理设备发送的EIF接口与虚拟机之间的对应关系,确定传输所述第一数据报文的EIF接口对应的虚拟机,作为本步骤102中用于接收所述第一数据报文的虚拟机。
如果步骤101中确定的EIF接口对应一个虚拟机,则该虚拟机即为接收所述第一数据报文的虚拟机。例如,在图4所示的系统结构下,若步骤101确定的EIF接口为eif1,则对应的虚拟机为VM1。如果步骤101中确定的EIF接口对应多个虚拟机,则接口设备可按照预定条件,如负载均衡条件,从EIF接口对应的多个虚拟机中选择一个虚拟机作为接收所述第一数据报文的虚拟机。例如,可选择负载最小的虚拟机,也可以根据平均分担或案比例分担负载的原则,选择合适的虚拟机。
步骤103:所述接口设备,用于在所述第一数据报文外封装第一报文头信息,所述第一报文头信息中包含接口设备确定的接收所述第一数据报文的虚拟机的信息。
接口设备在第一数据报文外封装所述第一报文头信息的目的是:在接口设备向通信处理设备传输第一数据报文时,通过所述第一报文头信息携带所述第一数据报文传输过程相关的信息,在步骤102中确定的虚拟机的信息可作为目的地址携带在第一报文头信息中。除了在第一报文头中携带接收所述第一数据报文的虚拟机的信息,使通用处理设备获知接收所述第一数据报文的虚拟机的目的外,所述第一报文头中还可以携带其他信息,使通用处理设备获知第一数据报文在接口设备和通用处理设备之间的传输过程的相关信息。
第一报文头中携带的信息包括但不限于:
1)、源MAC地址,即接口设备自身的MAC地址;
2)、传输所述第一数据报文的EIF接口所占用的物理端口的信息,其中,在EIF接口独占物理端口时,EIF接口所占用的物理端口的信息为物理端口的端口号,在EIF接口复用物理端口时,EIF接口所占用的物理端口的信息为物理端口的端口号和该EIF接口对应的切片资源信息。
以传输的所述第一数据报文是MAC报文为例,如图6所示,为在MAC报文外封装第一报文头信息后数据报文的结构示意图,其中:paylaod层和内层MAC头中的内容为接口设备从外部物理设备处接收到的原始MAC报文的内容,外层MAC头为封装的第一报文头信息。
通过内层MAC头和外层MAC头的结构,可以使接收第一数据报文的通用处理设备区分内层MAC头和外层MAC头,即区分第一数据报文原始的内容和接口设备额外封装的内容,使通用处理设备能够根据外层MAC头中的内容实现对第一数据报文的传输,又避免通用处理设备对内层MAC头中的内容进行修改。
在本实施例的方案中,可将内层MAC头中的目的MAC地址称之为内层目的MAC地址(Inner DMAC),将内层MAC头中的源MAC地址称之为内层源MAC地址(Inner SMAC),将第一数据报文从外部物理设备传输至接口设备时确定的VLAN标识称之为内层VLAN标识(InnerVLAN tag),所述Inner VLAN tag可用于在物理端口被多个EIF接口复用时,接口设备根据第一数据报文中携带的Inner VLAN tag以及EIF接口与VLAN标识之间的对应关系,确定传输所述第一数据报文的EIF接口。
类似地,将外层MAC头中的目的MAC地址称之为外层目的MAC地址(Outer DMAC),将外层MAC头中的源MAC地址称之为外层源MAC地址(Outer SMAC),将传输所述第一数据报文的EIF接口所占用的物理端口的信息用I-TAG表示,将第一数据报文从接口设备传输至通用处理设备时确定的VLAN标识称之为外层VLAN接口标识(Outer VLAN tag),所述Outer VLANtag用于接口设备与通用处理设备之间的数据报文传输过程中,其作用与基础设施层中各设备之间数据报文的常规传输过程中的作用相同,此处不再赘述。
步骤104:所述接口设备,用于将封装了所述第一报文头信息的第一数据报文通过确定的EIF接口发送给通用处理设备,此时,完成了接口设备向通用处理设备发送第一数据报文的过程。
步骤105:所述通用处理设备,用于在接收到所述第一数据报文时,解封装所述第一报文头信息,确定接收所述第一数据报文的虚拟机。
步骤106:所述通用处理设备,用于将去掉所述第一报文头信息的第一数据报文发送给确定的所述虚拟机,虚拟机接收到所述第一数据报文后,可按照传统的以太网端口报文接收处理方式对其进行处理,此处不再赘述。
若第一报文头信息中携带的虚拟机的信息是虚拟机的虚拟端口号,则本步骤中,所述通用处理设备可以将第一数据报文发送至相应的虚拟机的虚拟端口,进而传输至虚拟机。
以上步骤101至步骤106描述了第一数据报文从外部物理设备传输至虚拟机的过程,下面描述第二数据报文从虚拟机传输至外部物理设备的过程,需要说明的是,本发明实施例是从外部物理设备向虚拟机发送数据报文以及虚拟机向外部物理设备发送数据报文两个方向来描述方案的,步骤101至步骤106的方案与步骤201至步骤206的方案可以独立实现。
如图7所示,第二数据报文的传输过程包括以下步骤:
步骤201:所述通用处理设备,用于确定发送第二数据报文的虚拟机对应的EIF接口。
在本步骤201中,虚拟机可按照传统的以太网端口报文发送处理方式将第二数据报文通过虚拟网卡发出,通用处理设备识别出发送所述第二数据报文的虚拟机后,根据EIF接口与虚拟机之间的对应关系,确定发送所述第二数据报文的虚拟机对应的EIF接口。
步骤202:所述通用处理设备,用于根据物理端口与EIF接口之间的占用关系,确定发送所述第二数据报文的虚拟机对应的EIF接口所占用的物理端口的信息。
若发送所述第二数据报文的虚拟机对应的EIF接口独占物理端口,则确定的物理端口的信息为其所独占的物理端口的端口号;若发送所述第二数据报文的虚拟机对应的EIF接口复用物理端口,则确定的物理端口的信息为该EIF接口所占用的端口资源对应的物理端口的端口号和切片资源信息。
步骤203:所述通用处理设备,用于在所述第二数据报文外封装第二报文头信息,所述第二报文头信息中包含确定的物理端口的信息。
所述通用处理设备在所述第二数据报文外封装第二报文头信息的目的是:在通信处理设备向接口设备传输第二数据报文时,通过所述第二报文头信息携带所述第二数据报文传输过程相关的信息。除了在第二报文头中携带用于传输所述第二数据报文的物理端口的信息外,所述第二报文头中还可以携带以下信息:
1)、目的MAC地址,即接收所述第二数据报文的接口设备的MAC地址;
2)、源MAC地址,即发送所述第二数据报文的虚拟机的MAC地址。
具体地,封装所述第二报文头信息的第二数据报文的结构与图6相似,此处不再赘述。
步骤204:所述通用处理设备,用于将封装了所述第二报文头信息的第二数据报文通过确定的所述EIF接口发送给接口设备,此时,完成了通用处理设备向接口设备发送第二数据报文的过程。
步骤205:所述接口设备,用于在接收到所述第二数据报文时,解封装所述第二报文头信息,确定传输所述第二数据报文的物理端口的信息。
步骤206:所述接口设备,用于将去掉所述第二报文头信息的第二数据报文通过对应的物理端口发送给外部物理设备。
以上步骤201至步骤206的方案能够得到与步骤101至步骤106相同的效果,此外,如果将步骤101至步骤106与步骤201至步骤206向结合,还可实现数据报文在双方向的传输过程。
优选地,在本发明实施例一的系统架构下,还可以实现虚拟机的无缝迁移,具体说明如下:
以虚拟机的信息为虚拟机的MAC地址为例,当已创建的虚拟机发生变化时,如通用处理设备1中的VM1不可用时,可将VM1的功能由通用处理设备2中新创建的VM5继承,只要将VM1的MAC地址分配给VM5使用,且在接口设备中将原来VM1的MAC地址与通用处理设备1的对应关系更新为该MAC地址与通用处理设备2的对应关系即可。当外部物理设备发送数据报文时,接口设备按照步骤102的方案确定的虚拟机的信息为VM1的MAC地址,此时,VM1的MAC地址实际已是VM5的MAC地址,但接口设备并不用关心虚拟机的实际使用状态,只需将确定出的MAC地址携带在第一报文头中,并将封装后的第一数据报文发送给通用处理设备2,再由通用处理设备2根据第一报文头中的MAC地址,将数据报文发送给VM5,实现了VM1到VM5的无缝迁移。
实施例二:
基于本发明实施例一所描述的系统以及系统内各设备之间的数据报文传输过程,本发明实施例二描述了一种接口设备,如图8所示,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与通用处理设备中创建的至少一个虚拟机具有对应关系。
所述接口设备包括包括第一接收模块11、与所述第一接收模块11连接的虚拟弹性接口确定模块12、分别与所述虚拟弹性接口确定模块12连接的虚拟机确定模块13和第一发送模块15,以及与所述虚拟机确定模块13连接的封装模块14,这些模块之间相互配合,实现外部物理设备发送的数据报文传输给创建了虚拟机通用处理设备的过程,各模块的功能描述如下:
所述第一接收模块11用于用于通过第一物理端口接收外部物理设备发送的第一数据报文;
所述虚拟弹性接口确定模块12用于根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口;
所述虚拟机确定模块13用于根据所述虚拟弹性接口确定模块12确定的所述第一虚拟弹性接口与虚拟机的对应关系,确定所述第一虚拟弹性接口对应的第一虚拟机的信息;
所述封装模块14用于对所述第一数据报文封装第一报文头信息,所述第一报文头信息中携带所述虚拟机确定模块确定的所述第一虚拟机的信息;
所述第一发送模块15,用于将所述封装模块14封装了所述第一报文头信息的第一数据报文通过所述虚拟弹性接口确定模块12确定的第一虚拟弹性接口进行发送。
优选地,所述虚拟弹性接口确定模块12具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
优选地,所述虚拟机确定模块13具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
优选地,所述封装模块14具体将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
所述接口设备还包括第二接收模块16、与所述第二接收模块16连接的解封装模块17、分别与所述解封装模块17连接的物理端口确定模块18和第二发送模块19,实现将虚拟机发出的数据报文传输给外部物理设备的过程,各模块的功能描述如下,其中:
所述第二接收模块16用于通过第二虚拟弹性接口接收第二数据报文,所述第二数据报文封装有第二报文头信息,所述第二报文头信息中携带有第二物理端口的信息;
所述解封装模块17用于将所述第二接收模块16接收到的所述第二数据报文中的第二报文头信息解封装得到所述第二报文头信息和去掉所述第二报文头信息的第二数据报文;
所述物理端口确定模块18用于根据所述解封装模块17解封装得到的所述第二报文头信息中携带的第二物理端口的信息,确定传输所述第二数据报文的第二物理端口;
所述第二发送模块19用于将所述解封装模块17解封装得到的去掉所述第二报文头信息的第二数据报文通过所述物理端口确定模块18确定的所述第二物理端口发送给外部物理设备。
除了图8所示的接口设备外,本发明实施例二还描述了另一种结构的接口设备,如图9所示,所述接口设备包括:收发器21和处理器22,其中:
所述收发器21用于通过第一物理端口接收外部物理设备发送的第一数据报文,以及,根据处理器22确定的第一虚拟弹性接口,将处理器22封装了第一报文头信息的第一数据报文通过所述第一虚拟弹性接口进行发送;
处理器22用于根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口,以及,根据所述第一虚拟弹性接口与虚拟机的对应关系,确定所述第一虚拟弹性接口对应的第一虚拟机的信息,并对所述第一数据报文封装第一报文头信息,所述第一报文头信息中携带所述第一虚拟机的信息。
优选地,处理器22具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
优选地,所述处理器22具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
优选地,所述处理器22具体用于将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
所述收发器21还用于通过第二虚拟弹性接口接收第二数据报文,所述第二数据报文封装有第二报文头信息,所述第二报文头信息中携带有第二物理端口的信息,以及将所述处理器22去掉所述第二报文头信息的第二数据报文通过所述处理器22确定的所述第二物理端口发送给外部物理设备;
所述处理器22用于将所述第二数据报文中的第二报文头信息解封装得到所述第二报文头信息和去掉所述第二报文头信息的第二数据报文,根据第二报文头信息中携带的第二物理端口的信息,确定传输所述第二数据报文的第二物理端口。
实施例三:
基于本发明实施例一所描述的系统以及系统内各设备之间的数据报文传输过程,本发明实施例三描述了一种通用处理设备,如图10所示,所述通用处理设备中创建有至少一个虚拟机,其中:每个虚拟机对应一个弹性虚拟接口,且至少一个虚拟弹性接口占用接口设备中的一个物理端口。
所述通用处理设备包括:第一接收模块31、与所述第一接收模块31连接的虚拟弹性接口确定模块32、分别与所述虚拟弹性接口确定模块32连接的物理端口确定模块33和第一发送模块35,以及与所述物理端口确定模块33连接的封装模块34,这些模块之间相互配合,实现将虚拟机发出的传输给接口设备的过程,各模块的功能描述如下:
所述第一接收模块31用于接收第二虚拟机发出的第二数据报文;
所述虚拟弹性接口确定模块32用于确定所述第二虚拟机对应的第二虚拟弹性接口;
所述物理端口确定模块33用于根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息;
所述封装模块34用于对所述第一接收模块31接收到的所述第二数据报文封装第二报文头信息,所述第二报文头信息中携带有所述物理端口确定模块33确定的第二物理端口的信息;
所述第一发送模块35用于通过所述虚拟弹性接口确定模块32确定的所述第二虚拟弹性接口,将所述封装模块34封装了所述第二报文头信息的第二数据报文进行发送。
优选地,所述物理端口确定模块33具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源作为物理端口的信息。
优选地,所述封装模块34具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中,对所述第二数据报文进行封装。
所述通用处理设备还包括:第二接收模块36、与所述第二接收模块36连接的解封装模块37、分别与所述解封装模块37连接的虚拟机确定模块38和第二发送模块39,实现将接口设备发来的数据报文传输给虚拟机的过程,各模块的功能描述如下:
所述第二接收模块36用于通过第一虚拟弹性接口接收第一数据报文,所述第一数据报文封装了第一报文头信息,所述第一报文头信息中携带有第一虚拟机的信息;
所述解封装模块37用于将所述第二接收模块36接收到的所述第一数据报文中的第一报文头信息解封装得到所述第一报文头信息和去掉所述第一报文头信息的第一数据报文;
所述虚拟机确定模块38用于根据所述解封装模块37解封装得到的所述第一报文头信息中携带的第一虚拟机的信息,确定接收所述第一数据报文的第一虚拟机;
所述第二发送模块39,用于将所述解封装模块37解封装得到的去掉所述第一报文头信息的第一数据报文发送给所述虚拟机确定模块38确定的所述第一虚拟机。
除了图10所示的通用处理设备外,本发明实施例三还描述了另一种结构的通用处理设备,所述通用处理设备包括:收发器和处理器,其中:
所述收发器用于接收第二虚拟机发出的第二数据报文,以及根据所述处理器确定的第二虚拟弹性接口,将处理器封装了第二报文头的第二数据报文通过所述第二虚拟弹性接口进行发送;
所述处理器用于确定所述第二虚拟机对应的第二虚拟弹性接口,以及,根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息,并对所述第二数据报文封装第二报文头信息,所述第二报文头信息中携带有确定的第二物理端口的信息。
优选地,所述处理器具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源作为物理端口的信息。
优选地,所述处理器具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中,对所述第二数据报文进行封装。
所述收发器还用于通过第一虚拟弹性接口接收第一数据报文,所述第一数据报文封装了第一报文头信息,所述第一报文头信息中携带第一虚拟机的信息,以及,根据所述处理器确定的第一虚拟机,将处理器去掉所述第一报文头信息的第一数据报文发送给所述第一虚拟机;
所述处理器还用于将所述第一数据报文中的第一报文头信息解封装得到所述第一报文头信息和去掉所述第一报文头信息的第一数据报文,根据第一报文头信息中携带的第一虚拟机的信息,确定接收所述第一数据报文的第一虚拟机。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (27)
1.一种数据报文的传输系统,其特征在于,所述系统包括:通用处理设备和接口设备,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系;
所述接口设备,用于通过第一物理端口接收外部物理设备发送的第一数据报文时,根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口,并根据所述第一虚拟弹性接口与虚拟机的对应关系,确定接收所述第一数据报文的第一虚拟机的信息,以及,将确定的所述第一虚拟机的信息携带在第一报文头信息中,对所述第一数据报文封装所述第一报文头信息后,通过确定的所述第一虚拟弹性接口发送给所述通用处理设备;
所述通用处理设备,用于在接收到所述第一数据报文时,根据封装的第一报文头信息确定接收所述第一数据报文的所述第一虚拟机,并将去掉所述第一报文头信息的第一数据报文发送给所述第一虚拟机。
2.如权利要求1所述的系统,其特征在于,
所述通用处理设备,还用于确定发送第二数据报文的第二虚拟机对应的第二虚拟弹性接口,并根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息,以及,将确定的所述第二物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述第二虚拟弹性接口发送给所述接口设备;
所述接口设备,还用于在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的第二物理端口的信息,将去掉所述第二报文头信息的第二数据报文通过所述第二物理端口发送给外部物理设备。
3.如权利要求1或2所述的系统,其特征在于,
所述接口设备,具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
4.如权利要求1或2所述的系统,其特征在于,
所述接口设备,具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
5.如权利要求1或2所述的系统,其特征在于,
所述接口设备,具体用于将确定的所述第一虚拟机的媒体链路控制MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
6.如权利要求2所述的系统,其特征在于,
所述通用处理设备,具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息携带在所述第二报文头信息中,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源信息作为物理端口的信息携带在所述第二报文头信息中。
7.如权利要求2或6所述的系统,其特征在于,
所述通用处理设备,具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中。
8.如权利要求1、2、6中任一所述的系统,其特征在于,所述系统还包括:
管理设备,用于在接收到创建虚拟弹性接口的申请时,根据申请中的创建信息创建虚拟弹性接口,并将创建的所述虚拟弹性接口所占用的物理端口的信息和与虚拟机的对应关系发送给所述接口设备和所述通用处理设备;
所述创建信息包括:待创建的虚拟弹性接口需占用的带宽、对应的虚拟机的信息、所占用的物理端口的信息。
9.一种数据报文的传输系统,其特征在于,所述系统包括:接口设备和通用处理设备,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系;
所述通用处理设备,用于确定发送第二数据报文的虚拟机对应的虚拟弹性接口,并根据物理端口与虚拟弹性接口之间的占用关系,确定发送所述第二数据报文的虚拟机对应的虚拟弹性接口所占用的物理端口的信息,以及,将确定的物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述虚拟弹性接口发送给所述接口设备;
所述接口设备,还用于在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的物理端口信息,将去掉所述第二报文头信息的第二数据报文通过对应的物理端口发送给外部物理设备。
10.一种接口设备,其特征在于,所述接口设备中有至少一个物理端口,其中:一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与通用处理设备中创建的至少一个虚拟机具有对应关系;
所述接口设备包括第一接收模块、与所述第一接收模块连接的虚拟弹性接口确定模块、分别与所述虚拟弹性接口确定模块连接的虚拟机确定模块和第一发送模块,以及与所述虚拟机确定模块连接的封装模块,其中:
所述第一接收模块,用于通过第一物理端口接收外部物理设备发送的第一数据报文;
所述虚拟弹性接口确定模块,用于根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口;
所述虚拟机确定模块,用于根据所述第一虚拟弹性接口与虚拟机的对应关系,确定所述第一虚拟弹性接口对应的第一虚拟机的信息;
所述封装模块,用于对所述第一数据报文封装第一报文头信息,所述第一报文头信息中携带所述虚拟机确定模块确定的所述第一虚拟机的信息;
所述第一发送模块,用于将所述封装模块封装了所述第一报文头信息的第一数据报文通过所述虚拟弹性接口确定模块确定的第一虚拟弹性接口进行发送。
11.如权利要求10所述的接口设备,其特征在于,所述接口设备还包括第二接收模块、与所述第二接收模块连接的解封装模块、分别与所述解封装模块连接的物理端口确定模块和第二发送模块,其中:
所述第二接收模块,用于通过第二虚拟弹性接口接收第二数据报文,所述第二数据报文封装有第二报文头信息,所述第二报文头信息中携带有第二物理端口的信息;
所述解封装模块,用于将所述第二接收模块接收到的所述第二数据报文中的第二报文头信息解封装得到所述第二报文头信息和去掉所述第二报文头信息的第二数据报文;
所述物理端口确定模块,用于根据所述解封装模块解封装得到的所述第二报文头信息中携带的第二物理端口的信息,确定传输所述第二数据报文的第二物理端口;
所述第二发送模块,用于将所述解封装模块解封装得到的去掉所述第二报文头信息的第二数据报文通过所述物理端口确定模块确定的所述第二物理端口发送给外部物理设备。
12.如权利要求10或11所述的接口设备,其特征在于,
所述虚拟弹性接口确定模块,具体用于若所述第一物理端口被一个虚拟弹性接口独占,则确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
13.如权利要求10或11所述的接口设备,其特征在于,
所述虚拟机确定模块,具体用于当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
14.如权利要求10或11所述的接口设备,其特征在于,
所述封装模块,具体用于将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
15.一种通用处理设备,其特征在于,所述通用处理设备中创建有至少一个虚拟机,其中:每个虚拟机对应一个弹性虚拟接口,且至少一个虚拟弹性接口占用接口设备中的一个物理端口;
所述通用处理设备包括:第一接收模块、与所述第一接收模块连接的虚拟弹性接口确定模块、分别与所述虚拟弹性接口确定模块连接的物理端口确定模块和第一发送模块,以及与所述物理端口确定模块连接的封装模块,其中:
所述第一接收模块,用于接收第二虚拟机发出的第二数据报文;
所述虚拟弹性接口确定模块,用于确定所述第二虚拟机对应的第二虚拟弹性接口;
所述物理端口确定模块,用于根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息;
所述封装模块,用于对所述第一接收模块接收到的所述第二数据报文封装第二报文头信息,所述第二报文头信息中携带有所述物理端口确定模块确定的第二物理端口的信息;
所述第一发送模块,用于通过所述虚拟弹性接口确定模块确定的所述第二虚拟弹性接口,将所述封装模块封装了所述第二报文头信息的第二数据报文进行发送。
16.如权利要求15所述的通用处理设备,其特征在于,所述通用处理设备还包括:第二接收模块、与所述第二接收模块连接的解封装模块、分别与所述解封装模块连接的虚拟机确定模块和第二发送模块,其中:
所述第二接收模块,用于通过第一虚拟弹性接口接收第一数据报文,所述第一数据报文封装了第一报文头信息,所述第一报文头信息中携带有第一虚拟机的信息;
所述解封装模块,用于将所述第二接收模块接收到的所述第一数据报文中的第一报文头信息解封装得到所述第一报文头信息和去掉所述第一报文头信息的第一数据报文;
所述虚拟机确定模块,用于根据所述解封装模块解封装得到的所述第一报文头信息中携带的第一虚拟机的信息,确定接收所述第一数据报文的第一虚拟机;
所述第二发送模块,用于将所述解封装模块解封装得到的去掉所述第一报文头信息的第一数据报文发送给所述虚拟机确定模块确定的所述第一虚拟机。
17.如权利要求15或16所述的通用处理设备,其特征在于,
所述物理端口确定模块,具体用于在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息,或者,
在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源作为物理端口的信息。
18.如权利要求16所述的通用处理设备,其特征在于,
所述封装模块,具体用于将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中,对所述第二数据报文进行封装。
19.一种数据报文的传输方法,其特征在于,所述方法包括:
接口设备通过第一物理端口接收到外部物理设备发送的第一数据报文时,根据所述第一物理端口与虚拟弹性接口之间的占用关系,确定传输所述第一数据报文的第一虚拟弹性接口,并根据所述第一虚拟弹性接口与虚拟机的对应关系,确定接收所述第一数据报文的第一虚拟机的信息;
所述接口设备将确定的所述第一虚拟机的信息携带在第一报文头信息中,对所述第一数据报文封装所述第一报文头信息后,通过确定的所述第一虚拟弹性接口发送给通用处理设备;
通用处理设备在接收到所述第一数据报文时,根据封装的第一报文头信息确定接收所述第一数据报文的所述第一虚拟机,并将去掉所述第一报文头信息的第一数据报文发送给所述第一虚拟机;
其中,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系。
20.如权利要求19所述的方法,其特征在于,所述方法还包括:
所述通用处理设备确定发送第二数据报文的第二虚拟机对应的第二虚拟弹性接口,并根据物理端口与所述第二虚拟弹性接口之间的占用关系,确定所述第二虚拟弹性接口所占用的第二物理端口的信息;
所述通用处理设备将确定的所述第二物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述第二虚拟弹性接口发送给所述接口设备;
所述接口设备在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的第二物理端口的信息,将去掉所述第二报文头信息的第二数据报文通过对应的所述第二物理端口发送给外部物理设备。
21.如权利要求19或20所述的方法,其特征在于,所述接口设备通过以下方式确定传输所述第一数据报文的第一虚拟弹性接口:
若所述第一物理端口被一个虚拟弹性接口独占,则所述接口设备确定该虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口,若所述第一物理端口被多于一个虚拟弹性接口复用,则所述接口设备根据接收到的所述第一数据报文中携带的切片资源信息,确定与该切片资源信息对应的虚拟弹性接口为传输所述第一数据报文的第一虚拟弹性接口。
22.如权利要求19或20所述的方法,其特征在于,当传输所述第一数据报文的第一虚拟弹性接口与多个虚拟机具有对应关系时,所述接口设备根据负载均衡条件从所述多个虚拟机中确定一个虚拟机为所述第一虚拟机。
23.如权利要求19或20所述的方法,其特征在于,所述方法还包括:
所述接口设备还将确定的所述第一虚拟机的MAC地址作为目的MAC地址、将自身的MAC地址作为源MAC地址和传输所述第一数据报文的第一虚拟弹性接口所占用的物理端口的信息携带在所述第一报文头信息中;
其中,其中,在所述第一虚拟弹性接口独占第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号;或者,
在所述第一虚拟弹性接口复用所述第一物理端口时,所述第一虚拟弹性接口所占用的所述第一物理端口的信息为物理端口的端口号和该第一虚拟弹性接口对应的切片资源信息。
24.如权利要求20任一所述的方法,其特征在于,所述通用处理设备将确定的第二物理端口的信息携带在第二报文头信息中,具体包括:
所述通用处理设备在所述第二虚拟弹性接口独占第二物理端口时,将该第二物理端口的端口号作为物理端口的信息携带在所述第二报文头信息中,或者,在所述第二虚拟弹性接口复用第二物理端口时,将该第二物理端口的端口号和该第二虚拟弹性接口对应的切片资源信息作为物理端口的信息携带在所述第二报文头信息中。
25.如权利要求20或24所述的方法,其特征在于,所述方法还包括:
所述通用处理设备还将所述接口设备的MAC地址作为目的MAC地址和将所述第二虚拟机的MAC地址作为源MAC地址携带在所述第二报文头信息中。
26.如权利要求19、20、24中任一所述的方法,其特征在于,所述方法还包括:
管理设备在接收到创建虚拟弹性接口的申请时,根据申请中的创建信息创建虚拟弹性接口,所述创建信息包括:待创建的虚拟弹性接口需占用的带宽、对应的虚拟机的信息、所占用的物理端口的信息;
所述管理设备将创建的所述虚拟弹性接口所占用的物理端口的信息和与虚拟机的对应关系发送给所述接口设备和所述通用处理设备。
27.一种数据报文的传输方法,其特征在于,所述方法还包括:
通用处理设备确定发送第二数据报文的虚拟机对应的虚拟弹性接口,并根据物理端口与虚拟弹性接口之间的占用关系,确定虚拟机对应的虚拟弹性接口所占用的物理端口的信息;
所述通用处理设备将确定的物理端口的信息携带在第二报文头信息中,对所述第二数据报文封装所述第二报文头信息后,通过确定的所述虚拟弹性接口发送给所述接口设备;
所述接口设备在接收到所述第二数据报文时,根据封装的第二报文头信息中携带的物理端口信息,将去掉所述第二报文头信息的第二数据报文通过对应的物理端口发送给外部物理设备;
其中,所述通用处理设备中创建有至少一个虚拟机,所述接口设备中有至少一个物理端口,一个所述物理端口被至少一个虚拟弹性接口占用,且每个所述虚拟弹性接口与至少一个虚拟机具有对应关系。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/088652 WO2015081534A1 (zh) | 2013-12-05 | 2013-12-05 | 一种数据报文的传输系统、传输方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105264837A CN105264837A (zh) | 2016-01-20 |
CN105264837B true CN105264837B (zh) | 2019-03-08 |
Family
ID=53272758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380002395.2A Active CN105264837B (zh) | 2013-12-05 | 2013-12-05 | 一种数据报文的传输系统、传输方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105264837B (zh) |
WO (1) | WO2015081534A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375206A (zh) * | 2016-08-31 | 2017-02-01 | 杭州迪普科技有限公司 | 一种报文转发方法及装置 |
US10511546B2 (en) * | 2017-09-29 | 2019-12-17 | Juniper Networks, Inc. | Connecting virtual nodes in a network device using abstract fabric interfaces |
CN110858986A (zh) * | 2018-08-23 | 2020-03-03 | 中兴通讯股份有限公司 | 带宽调整方法、装置、通信设备及计算机可读存储介质 |
CN111865626B (zh) * | 2019-04-24 | 2023-05-23 | 厦门网宿有限公司 | 一种基于聚合端口的数据收发方法和装置 |
CN112099942B (zh) * | 2020-08-04 | 2023-08-25 | 北京奇艺世纪科技有限公司 | 端口复用方法、系统、终端、服务器、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809943A (zh) * | 2007-09-24 | 2010-08-18 | 英特尔公司 | 用于虚拟端口通信的方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7443878B2 (en) * | 2005-04-04 | 2008-10-28 | Sun Microsystems, Inc. | System for scaling by parallelizing network workload |
US7987306B2 (en) * | 2005-04-04 | 2011-07-26 | Oracle America, Inc. | Hiding system latencies in a throughput networking system |
US7779164B2 (en) * | 2005-04-04 | 2010-08-17 | Oracle America, Inc. | Asymmetrical data processing partition |
US7415034B2 (en) * | 2005-04-04 | 2008-08-19 | Sun Microsystems, Inc. | Virtualized partitionable shared network interface |
CN102457439B (zh) * | 2011-12-07 | 2014-05-28 | 中标软件有限公司 | 一种云计算系统的虚拟交换系统及其虚拟交换方法 |
CN102594660B (zh) * | 2012-01-19 | 2015-09-09 | 华为技术有限公司 | 一种虚拟接口交换方法、装置及系统 |
-
2013
- 2013-12-05 CN CN201380002395.2A patent/CN105264837B/zh active Active
- 2013-12-05 WO PCT/CN2013/088652 patent/WO2015081534A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809943A (zh) * | 2007-09-24 | 2010-08-18 | 英特尔公司 | 用于虚拟端口通信的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015081534A1 (zh) | 2015-06-11 |
CN105264837A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11923996B2 (en) | Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks | |
US10430373B2 (en) | Methods and systems to achieve multi-tenancy in RDMA over converged ethernet | |
US10476699B2 (en) | VLAN to VXLAN translation using VLAN-aware virtual machines | |
CN103200069B (zh) | 一种报文处理的方法和设备 | |
CN104579695B (zh) | 一种数据转发装置和方法 | |
CN104320350B (zh) | 用于提供基于信用的流控制的方法及系统 | |
CN102334112B (zh) | 用于虚拟机网络的方法和系统 | |
CN104780088B (zh) | 一种业务报文的传输方法和设备 | |
CN105264837B (zh) | 一种数据报文的传输系统、传输方法和设备 | |
CN107645444A (zh) | 用于虚拟机与云服务计算设备之间的快速路由传输的系统、设备和方法 | |
CN106685787B (zh) | 基于OpenStack的PowerVM虚拟化网络管理方法及装置 | |
CN104012057B (zh) | 用于网络光纤信道网络的灵活且可扩缩的增强的传输选择方法 | |
CN107646185A (zh) | 在覆盖数据中心环境中的操作、管理和处理(oam) | |
CN103905309A (zh) | 虚拟机之间的数据交换方法和系统 | |
CN105530259A (zh) | 报文过滤方法及设备 | |
WO2016107453A1 (zh) | 一种控制mac地址转发表发送的方法、装置及系统 | |
CN111049752B (zh) | 多传输线路的负载均衡方法及装置 | |
CN105915427A (zh) | 一种报文发送、接收方法及设备 | |
CN103118149B (zh) | 同一租户内服务器间的通信控制方法及网络设备 | |
CN109617735A (zh) | 云计算数据中心系统、网关、服务器及报文处理方法 | |
CN109412922B (zh) | 一种传输报文的方法、转发设备、控制器及系统 | |
CN107645433B (zh) | 报文转发方法及装置 | |
CN106453023B (zh) | 一种用于物理设备与虚拟网络的通信方法、设备与系统 | |
CN107579898B (zh) | 一种多种容器间互联通信的方法及其装置 | |
CN110311860A (zh) | Vxlan下多链路负载均衡方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |