CN102594660B - 一种虚拟接口交换方法、装置及系统 - Google Patents

一种虚拟接口交换方法、装置及系统 Download PDF

Info

Publication number
CN102594660B
CN102594660B CN201210017520.4A CN201210017520A CN102594660B CN 102594660 B CN102594660 B CN 102594660B CN 201210017520 A CN201210017520 A CN 201210017520A CN 102594660 B CN102594660 B CN 102594660B
Authority
CN
China
Prior art keywords
virtual interface
interface
virtual
network equipment
data
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.)
Expired - Fee Related
Application number
CN201210017520.4A
Other languages
English (en)
Other versions
CN102594660A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210017520.4A priority Critical patent/CN102594660B/zh
Publication of CN102594660A publication Critical patent/CN102594660A/zh
Application granted granted Critical
Publication of CN102594660B publication Critical patent/CN102594660B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种虚拟接口交换方法、装置及系统,其中,虚拟接口交换装置包括虚拟接口单元,用于接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为虚拟机分配虚拟接口,当不存在空闲的虚拟接口时为虚拟机创建虚拟接口,并将虚拟接口映射成网络设备总线上的物理接口提供给虚拟机;交换单元,用于管理虚拟接口,以及当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口;存储单元,用于存储虚拟接口接收的数据和虚拟接口发送的数。本发明实施例的虚拟接口交换方法、装置及系统,动态为虚拟机分配资源,以提高虚拟机上虚拟接口的扩展能力和资源利用率。

Description

一种虚拟接口交换方法、装置及系统
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种虚拟接口交换方法、装置及系统。
背景技术
以太网接口的虚拟化是为了满足多个虚拟机的虚拟以太网接口(简称虚拟接口)对物理以太网接口(简称物理接口)的共享,以及完成多个虚拟机的虚拟接口之间的逻辑组网,是保证虚拟机I/O(input/output,输入/输出)性能的关键技术。
但是,现有以太网接口的虚拟化实现方案中,通常网络设备(如个人电脑,或者服务器)上的多个虚拟机会共享同一个物理接口,采用软件和特殊的以太网接口芯片完成从物理接口接收到的数据到各个虚拟机上虚拟接口的分发,使用软件的方式以太网的收发效率较低,随着虚拟接口数量的增加收发效率会急剧下降,且加大了CPU(CentralProcessing Unit,中央处理器)的负载,使用特殊以太网接口芯片可以提高收发效率,但是虚拟接口数目受限,扩展能力较差,资源利用率也较低;虚拟机上虚拟接口之间采用软件的方式来组建网络,其中VLAN(Virtual Local Area Network,虚拟局域网)的划分和数据包在不同VLAN之间的转发都由软件完成,导致VLAN划分和数据转发的效率较低,也会加大CPU的负载。
发明内容
本发明实施例的目的是提供一种虚拟接口交换方法、装置及系统,提高虚拟接口扩展能力和硬件资源的利用率。
本发明实施例的目的是通过以下技术方案实现的:
一方面,本发明实施例提供一种虚拟接口交换装置,包括:
包括虚拟接口单元、交换单元以及存储单元:
所述虚拟接口单元,用于接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为所述虚拟机分配虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述虚拟机,当不存在空闲的虚拟接口时为所述虚拟机创建虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述网络设备上的所述虚拟机;
所述交换单元,用于管理所述虚拟接口,以及当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口;
所述存储单元,用于存储所述虚拟接口接收的数据和所述虚拟接口发送的数据。
另一方面,本发明实施例提供一种虚拟接口交换系统,包括多个网络设备,网络设备上的虚拟机,以及上述虚拟接口交换装置,所述虚拟接口交换装置为多个网络设备上的虚拟机提供共享的多个虚拟接口。
另一方面,本发明实施例提供一种虚拟接口交换方法,包括:
接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为所述虚拟机分配虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述虚拟机,当不存在空闲的虚拟接口时为所述虚拟机创建虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述网络设备上的所述虚拟机;
当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口,其中,所述虚拟接口接收的数据和所述虚拟接口发送的数据存储在存储单元。
由上述本发明实施例提供的技术方案可以看出,个网络设备上的虚拟机共享虚拟接口,便于动态为虚拟机分配资源,以及提高虚拟机上虚拟接口的扩展能力和资源利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例虚拟接口交换装置的构成示意图。
图2为本发明实施例虚拟接口交换系统的构成示意图。
图3为本发明实施例虚拟接口交换方法的流程示意图。
图4为本发明实施例虚拟接口交换系统应用场景的构成示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,本发明实施例提供一种虚拟接口交换装置,包括虚拟接口单元11、交换单元12以及存储单元13:
虚拟接口单元11,用于接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为所述虚拟机分配虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述虚拟机,当不存在空闲的虚拟接口时为所述虚拟机创建虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述网络设备上的所述虚拟机。
交换单元12,用于管理所述虚拟接口,以及当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口。
存储单元13,用于存储所述虚拟接口接收的数据和所述虚拟接口发送的数据。
其中,网络设备可以包括个人电脑,路由器或者各种应用服务器,等等。
其中,本发明实施例的虚拟接口交换装置可以通过PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或者PCIe(PCI express,PCI扩展)总线或者其它类型的总线与一个或者多个网络设备相连。
由上述本发明实施例提供的技术方案可以看出,通过本发明实施例的虚拟接口交换装置,多个网络设备上的虚拟机可以共享虚拟接口,便于动态为虚拟机分配资源,以及提高虚拟接口扩展能力和资源利用率。
具体而言,虚拟接口单元,可以包括虚拟接口映射单元、虚拟接口分配单元以及虚拟接口创建单元:
虚拟接口映射单元,可以用于接收网络设备上的虚拟机发送的创建物理接口的创建请求,确定是否存在空闲的虚拟接口。
虚拟接口分配单元,可以用于虚拟接口映射单元确定存在空闲的虚拟接口时,从空闲的虚拟接口中为虚拟机分配虚拟接口。
虚拟接口创建单元,可以用于虚拟接口映射单元确定不存在空闲的虚拟接口时,为虚拟机创建虚拟接口。
所述虚拟接口映射单元,还可以用于将虚拟接口映射成网络设备总线上的物理接口,并提供给网络设备上的虚拟机。
可见,将虚拟接口映射成为网络设备总线上的一个物理接口。网络设备上的VMM(Virtual Machine Monitor,虚拟机监视器)可以将虚拟接口映射单元映射过来的物理接口直接分配给虚拟机使用。虚拟机使用该物理接口时与使用其它物理接口一样,经过映射后的虚拟接口可以直接通过总线完成与虚拟机内存之间的数据传输。
可选的,虚拟接口分配单元,还可以用于将虚拟接口划分成虚拟接口组,并将同一虚拟接口组包含的虚拟接口分配给同一虚拟机。
可见,虚拟接口分配单元可以按照各个网络设备上虚拟机对虚拟接口的数量和性能上的需求,将不同的虚拟接口划分成虚拟接口组,并将其分配给对应设备上的虚拟机。这样可以根据虚拟机的需求进行虚拟接口的数量和性能的动态分配,提高了资源的利用率,并增强了虚拟接口的扩展能力。
而且,当网络设备上的虚拟机要向另一个网络设备进行迁移时,该虚拟机所分配的虚拟接口也可以跟着进行迁移。
而且,通过对多个虚拟接口进行VLAN(Virtual Local Area Network,虚拟局域网)划分,使同一虚拟机上的虚拟接口组成VLAN。
可选的,虚拟接口创建单元,还可以用于为其创建的虚拟接口创建对应的存储单元,存储单元可以包括输入队列和输出队列,所述输入队列用于存储所述虚拟接口接收的数据,所述输出队列用于存储所述虚拟接口发送的数据。
可见,虚拟接口创建单元,可以按照需求来创建或者删除虚拟接口,能够从共享缓存区中为每个新分配的虚拟接口分配一定的缓存作为输入和输出队列,也能够从要删除的虚拟接口中回收为其输入和输出队列所分配的缓存。每对输入和输出队列对应一个虚拟接口,输入和输出队列都位于虚拟接口交换装置中,可以动态分配给不同的网络设备。
可选的,虚拟接口创建单元,还可以用于创建虚拟接口后,向交换单元进行虚拟接口注册,当删除虚拟接口后,向交换单元进行虚拟接口注销。
具体而言,交换单元,可以包括:
管理子单元,用于接收虚拟接口创建单元发送的虚拟接口注册请求和/或虚拟接口注销请求,对虚拟接口进行注册和/或注销管理。
转发子单元,用于获取网络设备总线上的物理接口MAC(Media Access Control,媒体访问控制)地址与虚拟接口之间的绑定关系,当虚拟接口之间传输数据时,根据数据的目的物理接口MAC地址确定绑定的接收方虚拟接口,将数据从发送方虚拟接口发送给接收方虚拟接口。
可见,交换单元管理虚拟接口,能够动态的维护活跃虚拟接口组,只有在活跃虚拟接口组中的虚拟接口才能完成数据的收发。
而且,交换单元完成各虚拟机物理接口MAC地址与虚拟接口之间的绑定关系的学习,将各个虚拟接口与物理接口MAC地址的对应关系存入转发表中,并根据此绑定关系完成将数据包按照其目的物理接口MAC地址转发到相应的虚拟接口上。
可选的,交换单元和存储单元可以采用硬件的实现方式。
可选的,交换单元,还可以采用硬件的方式对多个虚拟接口进行VLAN划分,使虚拟机上的虚拟接口组成VLAN,并完成VLAN内部和VLAN之间虚拟接口间的数据交换,降低了CPU的负载。
此外,交换单元还可以完成交换机上的其它功能,如端口绑定、STP(Spanning-Tree Protocol)生成树、流量管理等。
综上所述,本发明实施例的虚拟接口交换装置具有如下特点:
网络设备不需要为虚拟机提供以太网物理接口,而且,不同网络设备上虚拟机间的虚拟接口可以共享;
虚拟接口交换装置完成多个网络设备上的I/O共享和互联;
由硬件完成每个网络设备上数据流到不同虚拟机的分发;
由硬件完成VLAN的划分和VLAN标签的增加/去除,以及根据VLAN标签实现的数据转发控制;
每对输入和输出队列对应一个虚拟接口,输入和输出队列都位于虚拟接口交换装置中,可以共享给不同的网络设备;
每个虚拟接口都映射为网络设备总线上的一个物理接口,网络设备可以将其直接当作物理接口使用。
如图2所示,本发明实施例提供一种虚拟接口交换装置系统,包括多个网络设备21,网络设备21上的虚拟机22,以及虚拟接口交换装置23,虚拟接口交换装置23为多个网络设备21上的虚拟机22提供共享的多个虚拟接口。
虚拟接口交换装置23可以参考上述实施例的虚拟接口交换装置得以理解,在此不作赘述。
由上述本发明实施例提供的技术方案可以看出,本发明实施例的虚拟接口交换系统中,网络设备不需要为虚拟机提供以太网物理接口,而且,不同网络设备上虚拟机间的虚拟接口能够共享;虚拟接口交换装置完成多个网络设备上的I/O共享和互联;由硬件完成每个网络设备上数据流到不同虚拟机的分发;由硬件完成VLAN的划分和VLAN标签的增加/去除,以及根据VLAN标签实现的数据转发控制;每对输入和输出队列对应一个虚拟接口,输入和输出队列都位于虚拟接口交换装置中,可以共享给不同的网络设备;每个虚拟接口都映射为网络设备总线上的一个物理接口,网络设备可以将其直接当作物理接口使用。
如图3所示,对应于上述实施例的虚拟接口交换装置,本发明实施例提供一种虚拟接口交换方法,包括:
31、接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为所述虚拟机分配虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述虚拟机,当不存在空闲的虚拟接口时为所述虚拟机创建虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述网络设备上的所述虚拟机。
32、当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口,其中,所述虚拟接口接收的数据和所述虚拟接口发送的数据存储在存储单元。
其中,网络设备可以包括个人电脑,路由器或者各种应用服务器,等等。
其中,总线可以包括PCI总线或者PCIe总线或者其它类型的总线等等。
由上述本发明实施例提供的技术方案可以看出,本发明实施例的虚拟接口交换方法,多个网络设备上的虚拟机共享虚拟接口,便于动态为虚拟机分配资源,以及提高虚拟接口扩展能力和资源利用率。
本发明实施例的虚拟接口交换方法,还可以包括:
为创建的所述虚拟接口创建对应的存储单元,所述存储单元包括输入队列和输出队列,所述输入队列用于存储所述虚拟接口接收的数据,所述输出队列用于存储所述虚拟接口发送的数据。
可选的,本发明实施例的虚拟接口交换方法,还可以包括:
将虚拟接口划分成虚拟接口组,并将同一虚拟接口组包含的虚拟接口分配给同一虚拟机。
可选的,本发明实施例的虚拟接口交换方法,还可以包括:
创建虚拟接口后,进行虚拟接口注册,当删除虚拟接口后,进行虚拟接口注销。
如创建虚拟接口后,向交换单元进行虚拟接口注册,当删除虚拟接口后,向交换单元进行虚拟接口注销。
具体的,当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口,可以包括:
获取网络设备总线上的物理接口MAC地址与虚拟接口之间的绑定关系,当虚拟接口之间传输数据时,根据数据的目的物理接口MAC地址确定绑定的接收方虚拟接口,将数据从发送方虚拟接口发送给接收方虚拟接口。
本发明实施例的虚拟接口交换方法执行的动作,可以对应参考上述实施例的虚拟接口交换装置得以理解,在此不作赘述。
本发明具体实施例
如图4所示,本发明实施例提供一种虚拟接口交换装置系统,包括多个网络设备41,网络设备41上的虚拟机42,以及虚拟接口交换装置43。
本发明实施例的虚拟接口交换装置系统中,将每个网络设备41上由虚拟机管理模块完成的数据流向各虚拟机42的分发,以及虚拟机42之间的组网过程,统一提取出来,采用一个单独的虚拟接口交换装置43来完成。
通过虚拟接口交换装置43,完成数据流向各个虚拟机42上虚拟接口的分发和各个虚拟机42上虚拟接口之间的组网(VLAN的划分);并且通过将接口的转发和组网功能抽取出来,能够让多个网络设备41之间实现资源的共享和资源的动态分配,这不仅能够提高资源的利用率和设备虚拟化的扩展能力,还降低了设备I/O能力扩展时的开销和复杂性。
虚拟接口交换装置43包括一些硬件部件和软件部件,其中硬件部件有:交换单元431、总线432和虚拟接口的输入和输出队列433;其中软件部件包括:虚拟接口创建单元434、虚拟接口分配单元435和虚拟接口映射单元436。
虚拟接口映射单元436将虚拟接口437映射成为总线432上的物理接口421。
下面,具体说明本发明实施例的虚拟接口交换装置的构成部分:
(1)交换单元
交换单元完成各虚拟机物理接口MAC地址与虚拟接口之间的绑定关系的学习,并根据此绑定关系完成输入数据流根据目的MAC地址到各个虚拟接口之间的分发,此外,交换单元还需要能够在各个虚拟接口上打上VLAN标签,完成虚拟局域网络的建立。
交换单元的MAC地址学习过程是通过虚拟机指定完成的,当虚拟机获得某个虚拟接口后,可以给该虚拟接口指定一个MAC地址,交换单元将这个指定的MAC地址和虚拟接口绑定在一起,并存入转发表中。
交换单元从虚拟接口和外部接口收到单播数据包时,取出数据包的目的MAC地址并查询转发表,看该目的MAC地址与哪个虚拟接口绑定在一起,如果查到,则将该数据包向该虚拟接口转发,如果没有查到,则将该数据包直接丢弃。
交换单元从虚拟接口和外部接口收到组播数据包时,取出数据包的目的组播地址并查询转发表,看哪个虚拟接口所绑定的MAC地址属于这个组播组,并将该数据包向查询出的所有虚拟接口转发。
交换单元从虚拟接口和外部接口收到广播数据包时,查询转发表,将该数据包向转发表中所有的虚拟接口转发。
交换单元可以对各个虚拟接口配置VLAN,这样每个虚拟接口进出数据包时都需要按照VLAN的规范进行数据包的过滤和VLAN标签的增加和去除,从而完成虚拟局域网的划分。
交换单元可以接收虚拟接口创建单元的虚拟接口注册请求和虚拟接口注销请求,能够动态的维护活跃虚拟接口组,只有在活跃虚拟接口组中的虚拟接口才能完成数据的收发。
(2)虚拟接口创建单元
虚拟接口创建单元按照所连网络设备上虚拟机发来的接口需求来创建虚拟接口,从共享缓存区中为每个新分配的虚拟接口分配一定的缓存作为输入和输出队列;当网络设备上虚拟机释放该虚拟接口时,虚拟接口创建单元删除相应接口,并从要删除的虚拟接口中回收为其输入和输出队列所分配的缓存。
当虚拟接口映射单元向虚拟接口创建单元发出创建虚拟接口的命令时,虚拟接口创建单元开始创建虚拟接口,该命令中带有创建虚拟接口的性能需求。
在创建虚拟接口时,首先要按照命令中的接口性能需求向共享缓存区申请缓存,对性能要求越高,需要申请越大的缓存,如果申请失败,则无法创建新的虚拟接口,如果申请成功,则将所申请到的缓存组成虚拟接口的输入队列和输出队列。
虚拟接口创建单元在创建完虚拟接口后要向交换单元进行注册,交换单元为该虚拟接口分配接口标识符,并将该虚拟接口加入到活跃的虚拟接口组中,以便进行管理和数据转发。
当虚拟接口创建单元删除虚拟接口时,首先要向交换单元进行注销,交换单元将其从活跃的虚拟接口组中去除,并收回其分配到的标识符。
虚拟接口创建单元将已经注销的虚拟接口中的输入和输出队列的缓存释放回共享缓存区。
(3)虚拟接口分配单元
虚拟接口分配单元接收虚拟接口映射单元的命令,将虚拟接口划分成不同的分组,并分配给不同网络设备上的虚拟机使用。
虚拟接口分配单元接收到虚拟接口映射单元的分配指令后,从已经创建好的空闲虚拟接口中找出满足要求的多个虚拟接口,将其组成一组,并按照指令的要求,将组建好的虚拟内存组分配给特定网络设备上的虚拟机使用。
(4)虚拟接口映射单元
虚拟接口映射单元按照虚拟接口组与网络设备的对应关系,将虚拟接口组中的每个虚拟接口映射成为该设备总线上的一个物理接口。
当网络设备上的虚拟机需要新的物理接口时,它会向虚拟接口映射单元发出请求,要求为其创建一个新的物理接口,虚拟接口映射单元查询当前的虚拟接口,如果未分配的虚拟接口能够满足需求,则向虚拟接口分配单元发出命令,让其将这些未分配的虚拟接口组成虚拟接口组,并分配给相应网络设备上的虚拟机使用;如果未分配的虚拟接口不能满足需求,则向虚拟接口创建单元发出命令,让其创建出新的虚拟接口以满足网络设备上虚拟机的需求,当创建出满足需求的虚拟接口后再由虚拟接口分配单元进行分组和分配。
虚拟接口映射单元将分配给某个网络设备的虚拟接口组中的所有虚拟接口映射成为该设备总线上的物理接口,这种映射根据不同总线的类型,会采用不同的映射方式。
网络设备对于总线上映射的物理接口与真正的物理接口一样对待。可以通过VMM将其分配给需要的虚拟机使用。网络设备上的虚拟机通过总线可以使自己的内存与虚拟接口进行直接的数据传输。
下面,具体说明如何应用本发明实施例的虚拟接口交换装置:
虚拟接口交换装置与一个或者多个网络设备通过总线相连,该设备可以支持多种类型的多根总线。
交换单元实现虚拟接口之间的数据交换功能和数据流到不同虚拟接口的转发功能,可以将从外部到来的数据流按照目的地址转发到不同的虚拟接口,并且能够在不同的虚拟接口间完成数据的交换功能,以及VLAN的划分和根据VLAN标签的转发功能。
具体的,当数据流从外部接口进入到交换单元后,交换单元可以按照数据流的目的MAC地址,采用硬件方式按照转发表将数据流快速的转发到相应虚拟接口的输出队列中;
交换单元可以实现不同虚拟接口间的数据流转发,当从一个虚拟接口要转发到另一个虚拟接口时,交换单元从发送方虚拟接口的输入队列中将数据包转发到接收方的虚拟接口的输出队列中;
交换单元可以实现不同虚拟接口的VLAN划分,能够将不同的虚拟接口划分到不同的VLAN中,实现虚拟接口间的逻辑组网,并能够按照VLAN标签进行数据的转发和过滤,此外,还能够实现端口流量管理,端口绑定等功能;
可选的,交换单元可以针对虚拟接口级别完成数据交换和VLAN划分等功能。
交换单元中注册的虚拟接口数目可以动态的进行配置,只受到虚拟接口输入/输出队列所需缓存的限制。
虚拟接口创建单元可以完成虚拟接口的创建和删除,并完成虚拟接口向交换单元的注册。
具体的,虚拟机接口创建单元可以创建出新的虚拟接口,也可以将多余的虚拟接口删除;
虚拟机接口创建单元在创建新的虚拟接口时,为每个虚拟接口创建一对队列用于缓存数据,包括输入队列和输出队列;
虚拟机接口创建单元在删除虚拟接口时,将所删除虚拟接口的队列回收,以便用于其它虚拟接口的分配;
虚拟机接口创建单元在创建或删除的虚拟接口时,需要向交换单元进行注册和注销,使得交换单元能够对当前所有有效的虚拟接口进行管理,并在这些虚拟接口间完成数据转发。
可选的,虚拟接口创建单元从统一的缓存中为所有的虚拟接口分配队列内存,并可以按照接口的需求进行内存的动态调整;
可选的,数据流通过交换单元后交换到不同虚拟接口的输出队列中,并从输入队列中获取数据。
虚拟接口分配单元可以将虚拟接口划分成不同的分组,并分配给不同设备上的虚拟机。
具体的,虚拟接口分配单元可以将已经创建好的虚拟接口划分成为不同的虚拟接口组;
虚拟接口分配单元可以将每个虚拟接口组分配给不同设备上的虚拟机使用。
可选的,虚拟接口分配单元可以按照网络设备上虚拟机的需求进行分组的动态调整。
虚拟接口映射单元可以按照虚拟接口组与网络设备的对应关系,将虚拟接口组中的每个虚拟接口映射成为该设备的总线上的一个物理接口;
具体的,虚拟接口映射单元根据每个虚拟接口的分配关系,将虚拟接口映射为对应总线上的一个物理接口;
该设备上的虚拟机通过总线,完成虚拟机中的内存与虚拟接口的队列进行直接的数据传送过程。
网络设备上的VMM将虚拟接口映射单元映射过来的物理接口直接分配给虚拟机使用,并通过总线进行虚拟机与虚拟接口间的数据交互。
可选的,当网络设备上的虚拟机要向另一个网络设备进行迁移时,该虚拟机所分配的虚拟接口也跟着进行迁移。
由上述本发明实施例提供的技术方案可以看出,本发明实施例的虚拟接口交换系统:
由硬件完成每个网络设备上输入的数据流到不同虚拟机的分发,大大提高了数据流分发的效率,并降低了数据分发所花费的CPU开销;
由硬件完成VLAN的划分和VLAN标签的增加/去除,以及根据VLAN标签实现的数据转发控制,提高了虚拟机间的组网效率,和网络中数据的转发效率,并且降低了CPU对于虚拟机组网的开销;
每对输入和输出队列对应一个虚拟机,队列都位于虚拟接口交换装置中,可以共享给不同的网络设备,降低了每个网络设备的接口虚拟化的管理和使用开销;
可以根据网络设备上的虚拟机数量和虚拟机对接口的需求动态的为每个网络设备上的虚拟机分配虚拟接口,增加了虚拟接口的使用效率和网络设备上的虚拟机的网络接口扩展能力;
可以将每个虚拟接口映射为网络设备总线上的物理接口,这样网络设备上的虚拟机接口管理将大大简化。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

Claims (8)

1.一种虚拟接口交换装置,其特征在于,包括虚拟接口单元、交换单元以及存储单元:
所述虚拟接口单元,用于接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为所述虚拟机分配虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述虚拟机,当不存在空闲的虚拟接口时为所述虚拟机创建虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述网络设备上的所述虚拟机;
所述交换单元,用于管理所述虚拟接口,以及当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口;
所述存储单元,用于存储所述虚拟接口接收的数据和所述虚拟接口发送的数据;
所述虚拟接口单元,还用于将虚拟接口划分成虚拟接口组,并将同一虚拟接口组包含的虚拟接口分配给同一虚拟机。
2.根据权利要求1所述的装置,其特征在于,所述虚拟接口单元包括虚拟接口映射单元、虚拟接口分配单元以及虚拟接口创建单元:
所述虚拟接口映射单元,用于接收网络设备上的虚拟机发送的创建物理接口的创建请求,确定是否存在空闲的虚拟接口;
所述虚拟接口分配单元,用于所述虚拟接口映射单元确定存在空闲的虚拟接口时,从空闲的虚拟接口中为所述虚拟机分配虚拟接口;
所述虚拟接口创建单元,用于所述虚拟接口映射单元确定不存在空闲的虚拟接口时,为所述虚拟机创建虚拟接口;
所述虚拟接口映射单元,还用于将所述虚拟接口映射成所述网络设备总线上的物理接口,并提供给所述网络设备上的所述虚拟机。
3.根据权利要求2所述的装置,其特征在于,所述虚拟接口创建单元,还用于为其创建的所述虚拟接口创建对应的存储单元,所述存储单元包括输入队列和输出队列,所述输入队列用于存储所述虚拟接口接收的数据,所述输出队列用于存储所述虚拟接口发送的数据。
4.根据权利要求2所述的装置,其特征在于,所述虚拟接口创建单元,还用于创建虚拟接口后,向所述交换单元发送虚拟接口注册请求。
5.根据权利要求2所述的装置,其特征在于,所述交换单元,包括:
管理子单元,用于接收所述虚拟接口创建单元发送的虚拟接口注册请求和/或虚拟接口注销请求,对虚拟接口进行注册和/或注销管理;
转发子单元,用于获取所述网络设备总线上的物理接口MAC地址与所述虚拟接口之间的绑定关系,当虚拟接口之间传输数据时,根据数据的目的物理接口MAC地址确定绑定的接收方虚拟接口,将数据从发送方虚拟接口发送给接收方虚拟接口。
6.一种虚拟接口交换装置系统,其特征在于,包括多个网络设备,网络设备上的虚拟机,以及如上述权利要求1-5中任一所述的虚拟接口交换装置,所述的虚拟接口交换装置为多个网络设备上的虚拟机提供共享的多个虚拟接口。
7.一种虚拟接口交换方法,其特征在于,包括:
接收网络设备上的虚拟机发送的创建物理接口的创建请求,当存在空闲的虚拟接口时为所述虚拟机分配虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述虚拟机,当不存在空闲的虚拟接口时为所述虚拟机创建虚拟接口并将所述虚拟接口映射成所述网络设备总线上的物理接口提供给所述网络设备上的所述虚拟机;
当虚拟接口之间传输数据时,将数据从发送方虚拟接口发送给接收方虚拟接口,其中,所述虚拟接口接收的数据和所述虚拟接口发送的数据存储在存储单元;
所述方法,还包括:
将虚拟接口划分成虚拟接口组,并将同一虚拟接口组包含的虚拟接口分配给同一虚拟机。
8.根据权利要求7所述的方法,其特征在于,所述方法,还包括:
为创建的所述虚拟接口创建对应的存储单元,所述存储单元包括输入队列和输出队列,所述输入队列用于存储所述虚拟接口接收的数据,所述输出队列用于存储所述虚拟接口发送的数据。
CN201210017520.4A 2012-01-19 2012-01-19 一种虚拟接口交换方法、装置及系统 Expired - Fee Related CN102594660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210017520.4A CN102594660B (zh) 2012-01-19 2012-01-19 一种虚拟接口交换方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210017520.4A CN102594660B (zh) 2012-01-19 2012-01-19 一种虚拟接口交换方法、装置及系统

Publications (2)

Publication Number Publication Date
CN102594660A CN102594660A (zh) 2012-07-18
CN102594660B true CN102594660B (zh) 2015-09-09

Family

ID=46482876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210017520.4A Expired - Fee Related CN102594660B (zh) 2012-01-19 2012-01-19 一种虚拟接口交换方法、装置及系统

Country Status (1)

Country Link
CN (1) CN102594660B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790777B (zh) * 2012-08-07 2016-06-15 华为技术有限公司 网络接口适配器注册方法及驱动设备、服务器
WO2015081534A1 (zh) * 2013-12-05 2015-06-11 华为技术有限公司 一种数据报文的传输系统、传输方法和设备
CN105991789A (zh) * 2015-03-06 2016-10-05 中兴通讯股份有限公司 一种虚拟机端口映射的实现方法、服务器及系统
CN111831234B (zh) * 2016-06-21 2024-04-23 伊姆西Ip控股有限责任公司 用于虚拟机的方法和装置
CN107612702A (zh) * 2016-07-12 2018-01-19 中兴通讯股份有限公司 一种路由器配置方法及装置
US10318162B2 (en) * 2016-09-28 2019-06-11 Amazon Technologies, Inc. Peripheral device providing virtualized non-volatile storage
WO2018098767A1 (en) * 2016-12-01 2018-06-07 Zte Corporation Device and method for performing network interface bonding
CN107045819A (zh) * 2017-03-16 2017-08-15 青岛思达赛博信息技术有限公司 一种智能传感设备仿真方法
CN107608806A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种虚拟机间快速访问传输数据的系统及方法
CN109753341A (zh) * 2017-11-07 2019-05-14 龙芯中科技术有限公司 虚拟接口的创建方法和装置
CN108092869A (zh) * 2017-12-26 2018-05-29 迈普通信技术股份有限公司 虚拟接口配置方法及通信设备
CN110798541B (zh) * 2019-10-31 2022-09-09 新华三大数据技术有限公司 接口共享、报文转发方法、装置、电子设备及存储介质
CN110958165B (zh) * 2019-11-21 2021-09-10 深圳市共进电子股份有限公司 网络接口建立及管理方法和装置
CN112445728B (zh) * 2020-11-30 2023-07-21 中科院软件研究所南京软件技术研究院 一种支持多种硬件接口的机器人开发板ros通讯系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761222A (zh) * 2005-11-22 2006-04-19 华中科技大学 一种支持虚拟接口的存储网络适配器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761222A (zh) * 2005-11-22 2006-04-19 华中科技大学 一种支持虚拟接口的存储网络适配器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Compaq Computer Corp.等.Virtual Interface Architecture Specification.《Virtual Interface Architecture Specification Draft Revision 1.0》.1997, *
infiniband网络接口的研究与实现;沈利;《万方硕士学位论文数据库》;20110215;全文 *
基于虚拟接口的网络存储系统研究;陈俭喜;《中国博士学位论文全文数据库》;20080315(第3期);全文 *
邢座程,等.HVIA :基于硬件的虚拟接口结构 .《计算机工程与科学》.2002,第24卷(第3期), *

Also Published As

Publication number Publication date
CN102594660A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102594660B (zh) 一种虚拟接口交换方法、装置及系统
CN102857494B (zh) 通用网络接口控制器
CN103814554B (zh) 一种虚拟可扩展局域网的通信方法、装置和系统
CN104115121B (zh) 在中间件机器环境中对虚拟机迁移提供可扩展的信令机制的系统和方法
CN105284080B (zh) 数据中心的虚拟网络管理方法及数据中心系统
CN105262685B (zh) 一种报文处理方法和装置
CN101442493B (zh) Ip报文分发方法、集群系统和负载均衡器
US20200163011A1 (en) Method, device, and system for deploying network slice
CN108270676B (zh) 一种基于Intel DPDK的网络数据处理方法及装置
CN104521198A (zh) 用于虚拟以太网接口绑定的系统和方法
CN104022960A (zh) 基于OpenFlow协议实现PVLAN的方法和装置
CN110063045B (zh) 云计算系统中的报文处理方法及设备
CN111224821A (zh) 安全服务部署系统、方法及装置
CN102377669B (zh) 发送报文的方法及交换机
US10382391B2 (en) Systems and methods for managing network address information
CN102307141B (zh) 报文转发方法和设备
CN108173782A (zh) 虚拟私有云中传输数据流的方法、装置及存储介质
CN104954155B (zh) 具有多个业务板的网络设备以及多业务板分担方法
CN109936490A (zh) 基于VXLAN和OpenFlow的虚拟家庭网络共享方法及系统
CN105264869A (zh) 一种ip地址分配的系统和方法
EP3086512B1 (en) Implementation method and apparatus for vlan to access vf network and fcf
CN104571934B (zh) 一种内存访问的方法、设备和系统
CN103269317A (zh) 基于对称多处理smp系统的无锁化通信方法和系统
CN104899105A (zh) 一种进程间通信方法
CN107547247B (zh) 智能弹性架构中的三层管理网ip地址分配方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150909

Termination date: 20190119

CF01 Termination of patent right due to non-payment of annual fee