CN112543137A - 基于半虚拟化和ovs-dpdk的虚拟机网络加速系统 - Google Patents
基于半虚拟化和ovs-dpdk的虚拟机网络加速系统 Download PDFInfo
- Publication number
- CN112543137A CN112543137A CN202011368436.8A CN202011368436A CN112543137A CN 112543137 A CN112543137 A CN 112543137A CN 202011368436 A CN202011368436 A CN 202011368436A CN 112543137 A CN112543137 A CN 112543137A
- Authority
- CN
- China
- Prior art keywords
- ovs
- virtual machine
- dpdk
- network
- bridge
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于半虚拟化和OVS‑DPDK的虚拟机网络加速系统,涉及网络通信与虚拟化技术领域。其包括控制管理模块和计算模块,计算模块用于运行虚拟机,控制管理模块用于在计算模块上创建OVS网桥、配置OVS转发流表并管理虚拟机;虚拟机的网络采用半虚拟化方式实现,计算模块上部署有OVS‑DPDK,虚拟机利用OVS‑DPDK软交换与外部互通数据业务。本发明能够提高虚拟机网络的转发性能,并可高效地支持虚拟机扩展应用。
Description
技术领域
本发明涉及网络通信中的虚拟化技术领域,尤其涉及一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统。
背景技术
网络功能虚拟化已成为当下一个主要技术热点,每一个网络功能业务都希望通过基础硬件设施层获得最大可能的网络转发性能。传统虚拟化技术中,由于在处理来自于虚拟机操作系统的I/O请求时,为了保证隔离性和安全性,通常需要虚拟机监控程序介入,即陷入到虚拟机监控程序并模拟硬件执行,引入了额外的I/O开销,而又由于 I/O通常是计算机系统中较为频繁的操作,因此导致了I/O虚拟化的效率低下。
半虚拟化技术与传统的全虚拟化不同,半虚拟化是通过修改虚拟机操作系统,使之能够与虚拟机监控程序通信,使虚拟机操作系统能够感知到虚拟机监控程序的存在,并了解自己运行在虚拟化环境中,可以减少虚拟机操作系统陷入到虚拟机监控程序的次数,减少上下文切换,从而能够与底层的虚拟机监控程序协作并获得性能上的提升。
然而这种半虚拟化技术并没有做到零拷贝,数据在宿主机物理网卡与虚拟机之间传输时,仍然需要在内核空间和用户空间切换,从而影响数据转发效率。使用DPDK优化的半虚拟化及Open-VSwitch技术,能够使数据在宿主机物理网卡与虚拟机之间传输时真正实现零拷贝,从而显著提高虚拟机网络的I/O性能。
发明内容
本发明提出一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,能够提高虚拟机网络的转发性能,并可高效地支持虚拟机扩展应用。
为了实现上述目的,本发明采用的技术方案为:
一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,包括控制管理模块和计算模块,控制管理模块与计算模块之前互通控制信令;计算模块用于运行虚拟机,控制管理模块用于在计算模块上创建OVS网桥、配置OVS转发流表并管理虚拟机;虚拟机的网络采用半虚拟化方式实现,计算模块上部署有OVS-DPDK,虚拟机利用OVS-DPDK软交换与外部互通数据业务。
进一步的,所述虚拟机的网络由前端Virtio驱动和后端vHost设备组成;前端的Virtio驱动利用DPDK提供的轮询驱动进行优化,后端的vHost设备通过DPDK提供的vHost-user库实现;前端Virtio驱动和后端vHost设备基于共享内存进行通信。
进一步的,所述前端Virtio驱动位于虚拟机内部,所述后端vHost设备位于虚拟机外,在计算模块上实现。
进一步的,所述计算模块上仅运行一个虚拟机,部署OVS-DPDK的具体方式为:
(401)在计算模块上创建OVS网桥,设置网桥的datapath-type为netdev模式;
(402)将计算模块的物理网卡绑定为DPDK端口,并添加到所述OVS网桥上;
(403)在所述OVS网桥中添加虚拟机网卡的后端vHost设备;
(404)配置OVS转发流表,使得一个DPDK端口与一个vHost设备构成一条点对点的数据通道。
进一步的,所述计算模块上运行有多个虚拟机,并利用VXLAN的网络标识VNI来区分不同的虚拟机。
进一步的,在计算模块上部署OVS-DPDK的具体方式为:
(601)在计算模块上创建OVS网桥;
(602)在OVS网桥中添加VXLAN端口和虚拟机网卡的后端vHost设备;
(603)配置OVS转发流表,使得一个vHost设备与一个VXLAN端口构成一条点对点的数据通道;
(604)将计算模块的物理网卡绑定成DPDK端口,并添加到一个新建的OVS网桥中,为该新建的OVS网桥配置IP地址,IP地址与VXLAN端口的remote_ip属同一网段。
进一步的,所述计算模块有多个,通过VXLAN的外层IP来区分不同的计算模块。
本发明的有益效果在于:
(1)本发明在虚拟机的用户空间与计算模块的物理网卡之间的数据传输可通过DPDK实现零拷贝,极大提高了数据传输效率。
(2)本发明中,当需要在计算模块上运行多个虚拟机且需要区分各虚拟机时,可利用VXLAN的网络标识VNI来区分不同虚拟机;当需要扩展多个计算模块时,可通过VXLAN的外层IP来进行区分多个计算模块。因此,本发明具有良好的可扩展性。
附图说明
图1是本发明实施例中一种系统的原理示意图。
图2是本发明实施例中另一种系统的原理示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。
一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其包括控制管理模块和计算模块。
其中,所述控制管理模块与计算模块之前互通控制信令;控制管理模块负责在计算模块上创建OVS网桥、配置OVS转发流表及管理虚拟机;计算模块上运行虚拟机,虚拟机网络采用优化的半虚拟化方式实现;计算模块上部署OVS-DPDK,虚拟机利用OVS-DPDK软交换实现与模块外互通数据业务。
具体来说,虚拟机网络由前端Virtio驱动和后端vHost设备组成;前端的Virtio驱动利用DPDK提供的轮询驱动进行优化,后端的vHost设备通过DPDK提供的vHost-user库实现,前端Virtio驱动和后端vHost设备基于共享内存进行通信。
上述前端Virtio驱动位于虚拟机内部,后端vHost设备位于计算模块,即宿主机上。
如图1所示,一个计算模块中仅运行一个虚拟机,则部署OVS-DPDK的具体方式为:
(401)在计算模块上创建OVS网桥,设置网桥的datapath-type为netdev模式;
(402)将计算模块的物理网卡绑定为DPDK端口,并添加到所述OVS网桥上;
(403)在OVS网桥中添加虚拟机网卡的后端vHost设备;
(404)配置OVS转发流表,使得一个DPDK端口与一个vHost设备构成一条点对点的数据通道。
此外,如图2所示,当需要在计算模块上运行多个虚拟机且需要区分各虚拟机时,可利用VXLAN的网络标识VNI来区分不同虚拟机;当需要扩展多个计算模块时,可通过VXLAN的外层IP来进行区分多个计算模块。
一个计算模块中运行多个虚拟机时,部署OVS-DPDK的具体方式为:
(601)在计算模块上创建OVS网桥;
(602)在OVS网桥中添加VXLAN端口和虚拟机网卡的后端vHost设备;
(603)配置OVS转发流表,使得一个vHost设备与一个VXLAN端口构成一条点对点的数据通道;
(604)将计算模块的物理网卡绑定成DPDK端口,并添加到一个新建OVS网桥中,为新建OVS网桥配置IP地址,IP地址与上述VXLAN端口的remote_ip属同一网段。
总之,本发明针对虚拟机网络转发性能低的问题,采用DPDK优化的半虚拟化方式,结合基于DPDK的Open-VSwitch软交换,使得数据包能够在宿主机的物理网卡和虚拟机的用户空间之间实现零拷贝传输,减少了大量的CPU中断和上下文切换,将虚拟机网络的转发性能提升近一个数量级。此外,本发明还针对多虚拟机或者多宿主机的扩展应用情况,提出了利用VXLAN外层IP区分宿主机,利用VXLAN的VNI区分虚拟机的实现方法,能够在保证虚拟机网络转发性能的同时,快速实现扩展应用。
Claims (7)
1.一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,包括控制管理模块和计算模块,控制管理模块与计算模块之前互通控制信令;计算模块用于运行虚拟机,控制管理模块用于在计算模块上创建OVS网桥、配置OVS转发流表并管理虚拟机;虚拟机的网络采用半虚拟化方式实现,计算模块上部署有OVS-DPDK,虚拟机利用OVS-DPDK软交换与外部互通数据业务。
2.根据权利要求1所述的一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,所述虚拟机的网络由前端Virtio驱动和后端vHost设备组成;前端的Virtio驱动利用DPDK提供的轮询驱动进行优化,后端的vHost设备通过DPDK提供的vHost-user库实现;前端Virtio驱动和后端vHost设备基于共享内存进行通信。
3.根据权利要求1所述的一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,所述前端Virtio驱动位于虚拟机内部,所述后端vHost设备位于虚拟机外,在计算模块上实现。
4.根据权利要求2所述的一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,所述计算模块上仅运行一个虚拟机,部署OVS-DPDK的具体方式为:
(401)在计算模块上创建OVS网桥,设置网桥的datapath-type为netdev模式;
(402)将计算模块的物理网卡绑定为DPDK端口,并添加到所述OVS网桥上;
(403)在所述OVS网桥中添加虚拟机网卡的后端vHost设备;
(404)配置OVS转发流表,使得一个DPDK端口与一个vHost设备构成一条点对点的数据通道。
5.根据权利要求2所述的一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,所述计算模块上运行有多个虚拟机,并利用VXLAN的网络标识VNI来区分不同的虚拟机。
6.根据权利要求5所述的一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,在计算模块上部署OVS-DPDK的具体方式为:
(601)在计算模块上创建OVS网桥,设置网桥的datapath-type为netdev模式;
(602)在OVS网桥中添加VXLAN端口和虚拟机网卡的后端vHost设备;
(603)配置OVS转发流表,使得一个vHost设备与一个VXLAN端口构成一条点对点的数据通道;
(604)将计算模块的物理网卡绑定成DPDK端口,并添加到一个新建的OVS网桥中,为该新建的OVS网桥配置IP地址,IP地址与VXLAN端口的remote_ip属同一网段。
7.根据权利要求1所述的一种基于半虚拟化和OVS-DPDK的虚拟机网络加速系统,其特征在于,所述计算模块有多个,通过VXLAN的外层IP来区分不同的计算模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368436.8A CN112543137A (zh) | 2020-11-30 | 2020-11-30 | 基于半虚拟化和ovs-dpdk的虚拟机网络加速系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368436.8A CN112543137A (zh) | 2020-11-30 | 2020-11-30 | 基于半虚拟化和ovs-dpdk的虚拟机网络加速系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112543137A true CN112543137A (zh) | 2021-03-23 |
Family
ID=75016388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011368436.8A Pending CN112543137A (zh) | 2020-11-30 | 2020-11-30 | 基于半虚拟化和ovs-dpdk的虚拟机网络加速系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112543137A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070639A (zh) * | 2021-11-19 | 2022-02-18 | 北京天融信网络安全技术有限公司 | 一种报文安全转发方法、装置及网络安全设备 |
CN114465899A (zh) * | 2022-02-09 | 2022-05-10 | 浪潮云信息技术股份公司 | 复杂云计算环境下的网络加速方法、系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109803016A (zh) * | 2019-01-24 | 2019-05-24 | 山东超越数控电子股份有限公司 | 一种利用虚拟交换机转发数据包的方法及设备 |
WO2019174074A1 (zh) * | 2018-03-13 | 2019-09-19 | 网宿科技股份有限公司 | 一种处理业务数据的方法和网络设备 |
EP3554025A1 (en) * | 2016-12-27 | 2019-10-16 | Huawei Technologies Co., Ltd. | Method for forwarding packet and physical host |
CN111211999A (zh) * | 2019-11-28 | 2020-05-29 | 中国船舶工业系统工程研究院 | 一种基于ovs的实时虚拟网络的实现方法 |
US20200314029A1 (en) * | 2019-03-29 | 2020-10-01 | Juniper Networks, Inc. | Network virtualization functions (nfv) backplane on forwarding microchip |
-
2020
- 2020-11-30 CN CN202011368436.8A patent/CN112543137A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3554025A1 (en) * | 2016-12-27 | 2019-10-16 | Huawei Technologies Co., Ltd. | Method for forwarding packet and physical host |
WO2019174074A1 (zh) * | 2018-03-13 | 2019-09-19 | 网宿科技股份有限公司 | 一种处理业务数据的方法和网络设备 |
CN109803016A (zh) * | 2019-01-24 | 2019-05-24 | 山东超越数控电子股份有限公司 | 一种利用虚拟交换机转发数据包的方法及设备 |
US20200314029A1 (en) * | 2019-03-29 | 2020-10-01 | Juniper Networks, Inc. | Network virtualization functions (nfv) backplane on forwarding microchip |
CN111211999A (zh) * | 2019-11-28 | 2020-05-29 | 中国船舶工业系统工程研究院 | 一种基于ovs的实时虚拟网络的实现方法 |
Non-Patent Citations (5)
Title |
---|
BOB62856: "OVS DPDK vhost-user搭建全过程(四十四)", 《BLOG.CSDN.NET/QQ_20817327/ARTICLE/DETAILS/109597344》 * |
CLOUDVTECH: "DPDK系列之十一:容器云的数据通道加速方案概览", 《BLOG.CSDN.NET/CLOUDVTECH/ARTICLE/DETAILS/80408099》 * |
徐启后: "OpenStack云平台中的网络数据性能研究与优化", 《电子设计工程》 * |
曾理等: "DPDK技术应用研究综述", 《网络新媒体技术》 * |
温曙光等: "NFCloud:基于OpenContrail的NFV实践", 《信息通信技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070639A (zh) * | 2021-11-19 | 2022-02-18 | 北京天融信网络安全技术有限公司 | 一种报文安全转发方法、装置及网络安全设备 |
CN114070639B (zh) * | 2021-11-19 | 2024-04-23 | 北京天融信网络安全技术有限公司 | 一种报文安全转发方法、装置及网络安全设备 |
CN114465899A (zh) * | 2022-02-09 | 2022-05-10 | 浪潮云信息技术股份公司 | 复杂云计算环境下的网络加速方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8589919B2 (en) | Traffic forwarding for virtual machines | |
CN100405303C (zh) | 数据处理系统 | |
CN113742256A (zh) | 用于可扩展且一致性存储器装置的系统和方法 | |
KR20210147865A (ko) | 메모리 리소스들을 관리하기 위한 시스템 및 방법 | |
JP2008294717A (ja) | 仮想ネットワーク構成方法及びネットワークシステム | |
CN111988230B (zh) | 虚拟机通信方法、装置、系统及电子设备 | |
JP2007158870A (ja) | 仮想計算機システム及びそのネットワーク通信方法 | |
JP2006209487A (ja) | 計算機システム、計算機、ストレージ装置及び管理端末 | |
CN112543137A (zh) | 基于半虚拟化和ovs-dpdk的虚拟机网络加速系统 | |
US20120054393A1 (en) | Computer system, i/o device control method, and i/o drawer | |
US20100064301A1 (en) | Information processing device having load sharing function | |
CN102567227A (zh) | 共享缓存设备的双控制器存储系统和方法 | |
CN113472624A (zh) | 一种基于vDPA实现虚拟网络数据包转发的方法及应用 | |
CN104731635A (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制系统 | |
US10708198B1 (en) | Methods and apparatus to reduce packet flooding and duplicate packets in a multi-fabric virtual network | |
CN111211999A (zh) | 一种基于ovs的实时虚拟网络的实现方法 | |
US20150215384A1 (en) | Communication device migration method of extension function and communication system | |
CN112052100A (zh) | 基于共享内存的虚拟机通信方法及设备 | |
CN113553137B (zh) | 一种nfv架构下基于dpdk的接入能力网元高速数据处理方法 | |
US20050076177A1 (en) | Storage device control unit and method of controlling the same | |
CN113986137A (zh) | 存储装置和存储系统 | |
US11720389B2 (en) | Storage system configuring a storage pool according to shared information, storage device therefor, and operating method thereof | |
US7853713B2 (en) | Communication interface device and communication method | |
CN106598696B (zh) | 一种虚拟机之间数据交互的方法及装置 | |
US8688889B2 (en) | Virtual USB key for blade server |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210323 |