CN102088404B - 一种Xen虚拟机网卡限速的方法 - Google Patents

一种Xen虚拟机网卡限速的方法 Download PDF

Info

Publication number
CN102088404B
CN102088404B CN2010105829319A CN201010582931A CN102088404B CN 102088404 B CN102088404 B CN 102088404B CN 2010105829319 A CN2010105829319 A CN 2010105829319A CN 201010582931 A CN201010582931 A CN 201010582931A CN 102088404 B CN102088404 B CN 102088404B
Authority
CN
China
Prior art keywords
packet
network interface
interface card
microsoft loopback
loopback adapter
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
CN2010105829319A
Other languages
English (en)
Other versions
CN102088404A (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.)
Beijing Century Broadband Internet Data Center Co., Ltd.
Original Assignee
BEIJING CENTURY BROADBAND INTERNET DATA CENTER 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 BEIJING CENTURY BROADBAND INTERNET DATA CENTER Co Ltd filed Critical BEIJING CENTURY BROADBAND INTERNET DATA CENTER Co Ltd
Priority to CN2010105829319A priority Critical patent/CN102088404B/zh
Publication of CN102088404A publication Critical patent/CN102088404A/zh
Application granted granted Critical
Publication of CN102088404B publication Critical patent/CN102088404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种在Xen虚拟机环境下,对虚拟网卡进行带宽速率限制的方法。该限速方法利用在Xen虚拟机中,运行在虚拟域0上的网卡与运行在虚拟域U上的网卡是具有对应关系的特点。通过对虚拟域0的网卡入口出口处的流量限制,实现对相对应虚拟域U的网卡出口入口的相应流量限制。这样,一方面可以使对虚拟机网卡的入口流量限制成为可能;另一方面也可以实现在虚拟机启动后对其网卡流量进行灵活配置。

Description

一种Xen虚拟机网卡限速的方法
技术领域
本发明涉及一种在Xen虚拟机环境下,对虚拟网卡进行带宽速率限制的方法,属于计算机技术领域。
背景技术
Xen虚拟机是一个开源虚拟化产品,是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。虚拟化技术可以在一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
如图2所示,一个Xen虚拟机环境一般由Xen监管程序(XenHypervisor)、虚拟域0(Domain0)、虚拟域U(DomainU)构成。
Xen监管程序是Xen虚拟机的核心和基础。对虚拟机来说,Xen监管程序是抽象的硬件层,虚拟机在监管程序上运行。Xen监管程序负责在虚拟机的调度和内存分配,并控制虚拟机的执行。
虚拟域0是一个修改的linux内核,是一个运行在Xen监管程序之上的独特虚拟机,对访问物理IO和其它虚拟域U虚拟机具有特殊的权利。
除了虚拟域0之外所有在Xen虚拟机环境下运行的虚拟机被称为虚拟域U。
该Xen监管程序不用来支持网络或者磁盘请求,因此一般虚拟域U需要通过监管程序向虚拟域0通信来进行磁盘或者网络请求。
对普通的物理PC(Personal Computer),通常情况下可以通过交换机限制IP对应网络的速度的方式来进行网速限制。在虚拟环境下的虚拟机也需要对虚拟网卡进行带宽速率限制,而使用物理交换机限制的网络IP数量是有限的,在虚拟机比较多的情况下无法满足需求,所以需要找到其它方法解决这个问题。
发明内容
本发明的目的是解决现有技术中存在的问题,提供一种在Xen虚拟机环境下对虚拟网卡进行带宽速率限制的方法。
本发明的目的是通过下述技术方案予以实现的:
一种Xen虚拟机网卡限速的方法,其特征在于:具体包括如下步骤:
(1)虚拟网卡通过输入接口接收发送来的数据包;
(2)虚拟网卡的入口流量限制模块监测所接收的数据包,并丢弃其中不符合接收条件的数据包;
(3)所接收的数据包通过输入多路分配器进行判断选择:如果数据包的目的地是本地,则将该数据包上传至上层处理;如果数据包的目的地不是本地,则将该数据包传送至转发器处理;
(4)转发器同时接收由本地上层发送来的发送数据包和由输入多路分配器传送来的转发数据包,并通过查看路由表决定所接收数据包的发送地址;
(5)由虚拟网卡的出口队列对步骤(4)中转发器的数据包进行调度,以便将它们通过输出接口输出。
在所述步骤(2)中,所述入口流量限制模块通过对与所述虚拟网卡相对应的虚拟域0的网卡的出口队列使用令牌桶过滤器队列进行速率限制。
在所述步骤(5)中,所述出口队列对转发器的数据包所进行的调度包括以下步骤:
(51)所述出口队列在与所述虚拟网卡相对应的虚拟域0的网卡的入口处使用防火墙对入口流量的数据进行标记;
(52)所述出口队列在与所述虚拟网卡相对应的虚拟域0的网卡的入口处对已标记的数据使用分层的令牌桶队列进行速率限制。
本发明的有益效果是:该虚拟机网卡限流方法一方面可以使对虚拟机网卡的入口流量限制成为可能;另一方面也可以实现在虚拟机启动后对其网卡流量进行灵活配置。
附图说明
图1为Xen虚拟机网卡限速方法的具体流程图;
图2为Xen虚拟机系统结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步描述。
如前所述,本发明的目的在于针对Xen虚拟机现有虚拟网卡限速的缺点,通过使用Linux kernel中的流量整形内核模块TC(Traffic Control),对虚拟网卡进行出入口速率限制,在虚拟域U启动后虚拟网卡速率可以随时更改。
图1为本发明Xen虚拟机网卡限速方法的具体流程图。如图所示,该Xen虚拟机网卡限速方法具体包括如下步骤:
(1)虚拟网卡通过输入接口(Input Interface)接收发送来的数据包;
(2)虚拟网卡的入口流量限制模块(Ingress Policing)监测所接收的数据包,并丢弃其中不符合接收条件的数据包;
(3)所接收的数据包通过输入多路分配器(Input Demultiplexing)进行判断选择:如果数据包的目的地是本地,则将该数据包上传至上层处理(Upper layers);如果数据包的目的地不是本地,则将该数据包传送至转发器(Forwarding)处理;
(4)转发器(Forwarding)同时接收由本地上层发送来的发送数据包和由输入多路分配器传送来的转发数据包,并通过查看路由表决定所接收数据包的发送地址;
(5)由虚拟网卡的出口队列(Output Queuing)对步骤(4)中转发器的数据包进行调度,以便将它们通过输出接口(Output Interface)输出。
通过上述虚拟机网卡限速方法,我们可以通过对步骤(2)中入口流量限制模块的监测规则的设置以及对步骤(5)中出口队列的调度规则的设置来分别实现对网卡入口流量和出口流量的限制。因此,对于这两部分现有机制的设计,对本专利尤为重要。
如前所述,本发明所设计的虚拟机网卡限速方法是基于Linux kernel中的流量整形内核模块TC设计的。而该模块TC是在虚拟域0中执行的,因此如何通过模块TC对虚拟域U上的网卡入口出口进行限流就成为了问题。而在Xen虚拟机中,运行在虚拟域0上的网卡与运行在虚拟域U上的网卡是具有对应关系的。虚拟域U上的网卡出入流量与虚拟域0上的对应网卡出入流量相反。既虚拟域0的网卡出口流量是虚拟域U的网卡入口流量,而虚拟域0的网卡入口流量是虚拟域U的网卡出口流量。所以在实际操作时,可以通过限制虚拟域0的网卡出入流量来实现对虚拟域U的网卡流量限制。
具体采用如下方法:
在步骤(2)中,所述入口流量限制模块通过对与所述虚拟网卡相对应的虚拟域0的网卡的出口队列使用令牌桶过滤器(TBF,Token BucketFilter)队列进行速率限制。
这里,所述的令牌桶过滤器(TBF)是一个简单的队列规定:只允许以不超过事先设定的速率到来的数据包通过,但可能允许短暂突发流量朝过设定值。
在步骤(5)中,所述出口队列(Output Queuing)对转发器的数据包所进行的调度包括以下步骤:
(51)所述出口队列(Output Queuing)在与所述虚拟网卡相对应的虚拟域0的网卡的入口处使用防火墙对入口流量的数据进行标记;
(52)所述出口队列(Output Queuing)在与所述虚拟网卡相对应的虚拟域0的网卡的入口处对已标记的数据使用分层的令牌桶(HTB,HierarchicalToken Bucket)队列进行速率限制。
基于上述步骤,我们就能通过对虚拟域0的网卡入口出口处的流量限制,实现对相对应虚拟域U的网卡出口入口的相应流量限制。这样,一方面可以使对虚拟机网卡的入口流量限制成为可能;另一方面也可以实现在虚拟机启动后对其网卡流量进行灵活配置。
综上所述,本发明提供了一种在Xen虚拟机环境下对虚拟网卡进行带宽速率限制的方法。本领域一般技术人员在此设计思想之下所做任何不具有创造性的改造,均应视为在本发明的保护范围之内。

Claims (1)

1.一种Xen虚拟机网卡限速的方法,其特征在于:具体包括如下步骤:
(1)虚拟网卡通过输入接口接收发送来的数据包;
(2)虚拟网卡的入口流量限制模块监测所接收的数据包,并丢弃其中不符合接收条件的数据包;
所述入口流量限制模块通过对与所述虚拟网卡相对应的虚拟域0的网卡的出口队列使用令牌桶过滤器队列进行速率限制;
(3)所接收的数据包通过输入多路分配器进行判断选择:如果数据包的目的地是本地,则将该数据包上传至上层处理;如果数据包的目的地不是本地,则将该数据包传送至转发器处理;
(4)转发器同时接收由本地上层发送来的发送数据包和由输入多路分配器传送来的转发数据包,并通过查看路由表决定所接收数据包的发送地址;
(5)由虚拟网卡的出口队列对步骤(4)中转发器的数据包进行调度,以便将它们通过输出接口输出;
在所述步骤(5)中,所述出口队列对转发器的数据包所进行的调度包括以下步骤:
(51)所述出口队列在与所述虚拟网卡相对应的虚拟域0的网卡的入口处使用防火墙对入口流量的数据进行标记;
(52)所述出口队列在与所述虚拟网卡相对应的虚拟域0的网卡的入口处对已标记的数据使用分层的令牌桶队列进行速率限制。
CN2010105829319A 2010-12-10 2010-12-10 一种Xen虚拟机网卡限速的方法 Active CN102088404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105829319A CN102088404B (zh) 2010-12-10 2010-12-10 一种Xen虚拟机网卡限速的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105829319A CN102088404B (zh) 2010-12-10 2010-12-10 一种Xen虚拟机网卡限速的方法

Publications (2)

Publication Number Publication Date
CN102088404A CN102088404A (zh) 2011-06-08
CN102088404B true CN102088404B (zh) 2012-12-05

Family

ID=44100024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105829319A Active CN102088404B (zh) 2010-12-10 2010-12-10 一种Xen虚拟机网卡限速的方法

Country Status (1)

Country Link
CN (1) CN102088404B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118066A (zh) * 2012-11-16 2013-05-22 佳都新太科技股份有限公司 一种基于xen的优化虚拟机网络模型
CN103581036B (zh) * 2013-10-31 2017-05-24 华为技术有限公司 一种虚拟机网络流量的控制方法、装置和系统
CN103634235A (zh) * 2013-11-01 2014-03-12 国云科技股份有限公司 一种限定虚拟机网络接口速度的方法
CN105335211B (zh) * 2015-10-21 2018-10-26 同济大学 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法
CN106487590B (zh) * 2016-10-20 2019-05-21 国云科技股份有限公司 一种基于虚拟网络实现批量虚拟机端口限速的方法
CN107222349B (zh) * 2017-06-23 2021-09-10 北京三快在线科技有限公司 一种配置虚拟机网卡速率的方法、装置、计算机设备和存储介质
CN107395621A (zh) * 2017-08-18 2017-11-24 国云科技股份有限公司 一种虚拟机网卡流量分类监控方法
CN108920249B (zh) * 2018-05-08 2021-10-08 广东睿江云计算股份有限公司 一种基于多主机多虚拟机系统的限速方法
CN112165435A (zh) * 2020-09-29 2021-01-01 山东省计算中心(国家超级计算济南中心) 一种基于虚拟机网络服务质量的双向流量控制方法及系统
CN112769597B (zh) * 2020-12-23 2022-11-08 杭州谐云科技有限公司 一种云边协同虚拟化场景的容器网络限流方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459618A (zh) * 2009-01-06 2009-06-17 北京航空航天大学 虚拟机网络的数据包转发方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163051A (zh) * 2006-10-13 2008-04-16 鸿富锦精密工业(深圳)有限公司 网卡传输速度测试系统及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459618A (zh) * 2009-01-06 2009-06-17 北京航空航天大学 虚拟机网络的数据包转发方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孟江涛等.Xen的虚拟机网络优化研究.《电子科技大学学报》.2010,第39卷(第1期),第106-109页. *

Also Published As

Publication number Publication date
CN102088404A (zh) 2011-06-08

Similar Documents

Publication Publication Date Title
CN102088404B (zh) 一种Xen虚拟机网卡限速的方法
US9547534B2 (en) Autoscaling applications in shared cloud resources
CN103139039B (zh) 一种实现流量隔离控制的虚拟网络及构建方法
US9692706B2 (en) Virtual enhanced transmission selection (VETS) for lossless ethernet
CN203206278U (zh) 通用网络接口控制器
CN102334112B (zh) 用于虚拟机网络的方法和系统
CN103609077B (zh) 用于数据传输的方法、装置和系统以及物理网卡
EP2724244B1 (en) Native cloud computing via network segmentation
CN105407056B (zh) 一种软件定义网络中的业务链建立方法及系统
CN103581042B (zh) 一种数据包发送的方法和设备
CN109388338B (zh) 云计算环境中的基于NVMe的存储系统的混合框架
CN101459605B (zh) 一种流量控制方法和设备
CN101902395A (zh) 管理主机上的资源的系统和方法
CN106817317A (zh) 具有入口控制的业务量管理
CN102105865A (zh) 虚拟机环境中不中断网络连通性的电源管理方法和系统
CN102932174A (zh) 一种物理网卡管理方法、装置及物理主机
CN101667974B (zh) 一种实现分层服务质量的方法及网络处理器
CN102404213B (zh) 报文缓存管理方法及系统
CN104038444A (zh) 一种资源分配的方法、设备及系统
CN102521015A (zh) 嵌入式平台下的设备虚拟化方法
CN107291395A (zh) 一种lun在线扩容方法及系统
CN102609307A (zh) 多核多线程双操作系统网络设备及其控制方法
Chen et al. Allocating bandwidth in datacenter networks: A survey
Li et al. Co-Scheduler: A coflow-aware data-parallel job scheduler in hybrid electrical/optical datacenter networks
KR101343595B1 (ko) 라우터에 대한 포워딩 가상화 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Free format text: FORMER OWNER: BEIJING CLOUDEX SOFTWARE SERVICES CO., LTD.

Effective date: 20121022

Owner name: BEIJING CENTURY BROADBAND INTERNET DATA CENTER CO.

Free format text: FORMER OWNER: BEIJING BANYANO DATA CENTER SOLUTIONS LTD.

Effective date: 20121022

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121022

Address after: 100015 No. 3, building 5, building 1, Jiuxianqiao East Road, Chaoyang District, Beijing

Applicant after: Beijing Century Broadband Internet Data Center Co., Ltd.

Address before: 100015 No. 3, building 5, building 1, Jiuxianqiao East Road, Chaoyang District, Beijing

Applicant before: Beijing BANYANO Data Center Solutions Ltd.

Applicant before: Beijing CloudEx Software Service Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant