CN110324261A - 一种实现控制虚拟机网络QoS的方法及其装置 - Google Patents
一种实现控制虚拟机网络QoS的方法及其装置 Download PDFInfo
- Publication number
- CN110324261A CN110324261A CN201910412252.8A CN201910412252A CN110324261A CN 110324261 A CN110324261 A CN 110324261A CN 201910412252 A CN201910412252 A CN 201910412252A CN 110324261 A CN110324261 A CN 110324261A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- ifb
- microsoft loopback
- loopback adapter
- equipment
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2491—Mapping quality of service [QoS] requirements between different networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现控制虚拟机网络QoS的方法及其装置,方法步骤包括:S1、对虚拟网卡输入到虚拟机的方向流量,使用虚拟网卡来控制其QoS;S2、对虚拟机输出到虚拟网卡的方向流量,使用虚拟网卡将其重定向到ifb设备;S3、使用ifb设备控制重定向到ifb设备的方向流量的QoS,此时的方向流量再通过ifb设备输入到宿主机的TCP/IP协议栈。本发明能够实现在宿主机上控制虚拟机和虚拟网卡之间入口流量的QoS,从而使虚拟机的网络流入和流出流量都能进行QoS控制,因此提高了虚拟机的网络服务质量。
Description
技术领域
本发明涉及领域,特别涉及一种基于Linux TC和Linux IFB实现控制虚拟机网络QoS的方法及其装置。
背景技术
QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,QoS是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。当网络发生拥塞的时候,所有的数据流都有可能被丢弃。为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量,包括:对实时性强且重要的数据报文优先处理;对于实时性不强的普通数据报文,提供较低的处理优先级,网络拥塞时甚至丢弃。
一般地,Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,可以控制网络接口发送数据的速率。每个网络接口都有一个队列,用于管理和调度待发的数据。TC的工作原理就是通过设置不同类型的网络接口队列,从而改变数据包发送的速率和优先级,达到流量控制的目的。
在现有技术中,实现控制虚拟机流量技术,通常是基于开源的软件交换机OpenvSwitch和开源的虚拟化平台管理工具Libvirt实现。然而,Linux TC只能控制出口流量的QoS,不能控制入口流量的QoS。使用OpenvSwitch和Libvirt技术来控制流量,实际也只是在宿主机上直接使用Linux TC实现虚拟机虚拟网卡的流量控制,所以目前OpenvSwitch和Libvirt都无法做到在宿主机上控制虚拟机和虚拟网卡之间入口流量的QoS。其中,宿主机是虚拟机的物理基础,虚拟机存在于宿主机中,与宿主机共享使用硬件。宿主机的运行是虚拟机运行的前提与基础。
本发明结合Linux TC和Linux IFB技术解决宿主机上无法控制虚拟机和虚拟网卡之间的入口流量的QoS问题。其中,Linux IFB(Intermediate Functional Block device)是Linux内核直接支持的一种虚拟网络设备。
发明内容
本发明要解决的技术问题在于,提供一种实现控制虚拟机网络QoS的方法及其装置,能够实现在宿主机上控制虚拟机和虚拟网卡之间入口流量的QoS,从而使虚拟机的网络流入和流出都能进行QoS控制,因此提高了虚拟机的网络服务质量。
为解决上述技术问题,本发明提供如下技术方案:一种实现控制虚拟机网络QoS的方法,包括以下步骤:
S1、对虚拟网卡输入到虚拟机的方向流量,使用虚拟网卡来控制其QoS;
S2、对虚拟机输出到虚拟网卡的方向流量,使用虚拟网卡将其重定向到ifb设备;
S3、使用ifb设备控制重定向到ifb设备的方向流量的QoS,此时的方向流量再通过ifb设备输入到宿主机的TCP/IP协议栈。
作为优选的,所述步骤S1前还包括步骤S0:
在宿主机上加载若干ifb设备,并启用任一ifb设备;虚拟机连接虚拟网卡,虚拟网卡连接ifb设备。
作为优选的,所述步骤S1、对虚拟网卡输入到虚拟机的方向流量,使用虚拟网卡的TC egress qdisc来控制其QoS。
作为优选的,所述步骤S2、对虚拟机输出到虚拟网卡的方向流量,使用虚拟网卡的TC egress qdisc将其重定向到ifb设备。
作为优选的,所述步骤S3中,使用ifb设备的TC egress qdisc控制重定向到ifb设备的方向流量的QoS。
作为优选的,所述步骤S1和步骤S2之间,还包括步骤S12:在虚拟机和虚拟网卡之间定义虚拟网卡的TC egress qdisc排队方式,并重启虚拟机。
作为优选的,所述定义虚拟网卡的TC egress qdisc排队方式,排队方式采用方法包括:SFQ无类算法、PRIO分类算法、CBQ分类算法或者HTB分类算法。
本发明的另一目的是提供一种实现控制虚拟机网络QoS的装置,包括依次相连的虚拟机、虚拟网卡和若干ifb设备;
所述虚拟网卡包括流量重定向单元,所述流量重定向单元用于将所述虚拟机输出到所述虚拟网卡的方向流量重定向到ifb设备;
所述ifb设备包括ifb单元,所述ifb单元用于控制所述虚拟机输出到所述虚拟网卡的方向流量的QoS。
作为优选的,所述虚拟网卡还包括TC egress qdisc单元;所述TC egress qdisc单元用于控制虚拟网卡输入到虚拟机的方向流量的QoS,以及用于控制所述流量重定向单元,使流量重定向单元将虚拟机输出到所述虚拟网卡的方向流量重定向到ifb设备。
作为优选的,所述ifb单元包括TC egress qdisc模块,所述TC egress qdisc模块用于控制所述虚拟机输出到所述虚拟网卡的方向流量的QoS。
采用上述技术方案后,本发明至少具有如下有益效果:通过在宿主机上利用LinuxTC的ingress qdisc排队规则将虚拟机和虚拟网卡之间的入口流量重定向到Linux IFB(虚拟网络设备),并在虚拟网卡和IFB设备上使用Linux TC的egress qdisc进行流出流量的QoS控制,从而实现了对虚拟机的网络流入和流出流量都能进行QoS控制。
附图说明
图1为本发明实施例1一种实现控制虚拟机网络QoS的方法步骤流程图;
图2为本发明实施例2一种实现控制虚拟机网络QoS的装置的结构框图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
实施例1
如图1所示,本发明提供一种实现控制虚拟机网络QoS的方法,能够实现控制虚拟机输入流量的QoS,本发明方法步骤详细为:
S1、在宿主机上加载若干ifb设备,并启用任一ifb设备;虚拟机连接虚拟网卡,虚拟网卡连接ifb设备;本实施例的ifb设备优选数量为100;
S2、对虚拟网卡输入到虚拟机的方向流量,使用虚拟网卡的TC egress qdisc来控制其QoS;
S3、在虚拟机和虚拟网卡之间定义虚拟网卡的TC egress qdisc排队方式,并重启虚拟机;所述TC egress qdisc排队方式,可采用如下方法之一:队列控制的无类算法SFQ(随机公平队列)和分类算法:PRIO(队列控制的分类算法)/CBQ(流量整形的分类算法)/HTB(流量整形的分类算法;
S4、对虚拟机输出到虚拟网卡的方向流量,使用虚拟网卡的TC egress qdisc将其重定向到ifb设备。
S5、使用ifb设备的TC egress qdisc控制重定向到ifb设备的方向流量的QoS,此时的方向流量ifb设备输入到宿主机的TCP/IP协议栈。
实施例2
如图2所示,本发明提供一种实现控制虚拟机网络QoS的装置,包括虚拟机、虚拟网卡和若干ifb设备,虚拟机、虚拟网卡和ifb设备依次连接;所述虚拟网卡包括流量重定向单元,所述流量重定向单元用于将所述虚拟机输出到所述虚拟网卡的方向流量重定向到ifb设备;所述ifb设备包括ifb单元,所述ifb单元用于控制所述虚拟机输出到所述虚拟网卡的方向流量的QoS。
进一步地,所述虚拟网卡还包括TC egress qdisc单元;所述TC egress qdisc单元用于控制虚拟网卡输入到虚拟机的方向流量的QoS,以及用于控制所述流量重定向单元,使流量重定向单元将虚拟机输出到所述虚拟网卡的方向流量重定向到ifb设备;所述ifb单元包括TC egress qdisc模块,所述TC egress qdisc模块用于控制所述虚拟机输出到所述虚拟网卡的方向流量的QoS。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (10)
1.一种实现控制虚拟机网络QoS的方法,其特征在于,包括以下步骤:
S1、对虚拟网卡输入到虚拟机的方向流量,使用虚拟网卡来控制其QoS;
S2、对虚拟机输出到虚拟网卡的方向流量,使用虚拟网卡将其重定向到ifb设备;
S3、使用ifb设备控制重定向到ifb设备的方向流量的QoS,此时的方向流量再通过ifb设备输入到宿主机的TCP/IP协议栈。
2.根据权利要求1所述的一种实现控制虚拟机网络QoS的方法,其特征在于,所述步骤S1前还包括步骤S0:
在宿主机上加载若干ifb设备,并启用任一ifb设备;虚拟机连接虚拟网卡,虚拟网卡连接ifb设备。
3.根据权利要求1所述的一种实现控制虚拟机网络QoS的方法,其特征在于,所述步骤S1、对虚拟网卡输入到虚拟机的方向流量,使用虚拟网卡的TC egress qdisc来控制其QoS。
4.根据权利要求1所述的一种实现控制虚拟机网络QoS的方法,其特征在于,所述步骤S2、对虚拟机输出到虚拟网卡的方向流量,使用虚拟网卡的TC egress qdisc将其重定向到ifb设备。
5.根据权利要求1所述的一种实现控制虚拟机网络QoS的方法,其特征在于,所述步骤S3中,使用ifb设备的TC egress qdisc控制重定向到ifb设备的方向流量的QoS。
6.根据权利要求3或4所述的一种实现控制虚拟机网络QoS的方法,其特征在于,所述步骤S1和步骤S2之间,还包括步骤S12:在虚拟机和虚拟网卡之间定义虚拟网卡的TC egressqdisc排队方式,并重启虚拟机。
7.根据权利要求6所述的一种实现控制虚拟机网络QoS的方法,其特征在于,所述定义虚拟网卡的TC egress qdisc排队方式,排队方式采用方法包括:SFQ无类算法、PRIO分类算法、CBQ分类算法或者HTB分类算法。
8.一种实现控制虚拟机网络QoS的装置,其特征在于,包括依次相连的虚拟机、虚拟网卡和若干ifb设备;
所述虚拟网卡包括流量重定向单元,所述流量重定向单元用于将所述虚拟机输出到所述虚拟网卡的方向流量重定向到ifb设备;
所述ifb设备包括ifb单元,所述ifb单元用于控制所述虚拟机输出到所述虚拟网卡的方向流量的QoS。
9.根据权利要求8所述的一种实现控制虚拟机网络QoS的装置,其特征在于,所述虚拟网卡还包括TC egress qdisc单元;所述TC egress qdisc单元用于控制虚拟网卡输入到虚拟机的方向流量的QoS,以及用于控制所述流量重定向单元,使流量重定向单元将虚拟机输出到所述虚拟网卡的方向流量重定向到ifb设备。
10.根据权利要求8所述的一种实现控制虚拟机网络QoS的装置,其特征在于,所述ifb单元包括TC egress qdisc模块,所述TC egress qdisc模块用于控制所述虚拟机输出到所述虚拟网卡的方向流量的QoS。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910412252.8A CN110324261A (zh) | 2019-05-17 | 2019-05-17 | 一种实现控制虚拟机网络QoS的方法及其装置 |
JP2020007536A JP2020191621A (ja) | 2019-05-17 | 2020-01-21 | 仮想マシンのネットワークQoSの制御方法及びその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910412252.8A CN110324261A (zh) | 2019-05-17 | 2019-05-17 | 一种实现控制虚拟机网络QoS的方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110324261A true CN110324261A (zh) | 2019-10-11 |
Family
ID=68119300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910412252.8A Pending CN110324261A (zh) | 2019-05-17 | 2019-05-17 | 一种实现控制虚拟机网络QoS的方法及其装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2020191621A (zh) |
CN (1) | CN110324261A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165435A (zh) * | 2020-09-29 | 2021-01-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于虚拟机网络服务质量的双向流量控制方法及系统 |
CN112671668A (zh) * | 2020-12-17 | 2021-04-16 | 中盈优创资讯科技有限公司 | 一种neutron虚拟网络流量控制方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114697242A (zh) * | 2022-03-21 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种政务云场景下客户虚拟网卡流量管理方法及系统 |
-
2019
- 2019-05-17 CN CN201910412252.8A patent/CN110324261A/zh active Pending
-
2020
- 2020-01-21 JP JP2020007536A patent/JP2020191621A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165435A (zh) * | 2020-09-29 | 2021-01-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于虚拟机网络服务质量的双向流量控制方法及系统 |
CN112671668A (zh) * | 2020-12-17 | 2021-04-16 | 中盈优创资讯科技有限公司 | 一种neutron虚拟网络流量控制方法及装置 |
CN112671668B (zh) * | 2020-12-17 | 2023-03-24 | 中盈优创资讯科技有限公司 | 一种neutron虚拟网络流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2020191621A (ja) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324261A (zh) | 一种实现控制虚拟机网络QoS的方法及其装置 | |
CN105791175B (zh) | 软件定义网络中控制传输资源的方法及设备 | |
Tomovic et al. | SDN control framework for QoS provisioning | |
EP1757020B1 (en) | HIERARCHICAL QoS BEHAVIORAL MODEL | |
EP1527568B1 (en) | Programmable scheduling for ip routers | |
CN103516622B (zh) | 网络交换机中的灵活队列 | |
EP3556066B1 (en) | Flow control in a virtualized communication network | |
CN107204931A (zh) | 拥塞控制措施的灵活应用 | |
US7457245B2 (en) | Directional and priority based flow control mechanism between nodes | |
Rojas-Cessa et al. | Schemes for fast transmission of flows in data center networks | |
EP2923479B1 (en) | Method and apparatus for controlling utilization in a horizontally scaled software application | |
US7283536B2 (en) | Multimode queuing system for DiffServ routers | |
CN109995583A (zh) | 一种延迟保证的nfv云平台动态扩缩容方法及系统 | |
US8284789B2 (en) | Methods and apparatus for providing dynamic data flow queues | |
JP2000151690A (ja) | 利用可能な帯域幅を共用する方法、そのような方法を実現するプロセッサ、ならびにスケジュ―ラ、インテリジェントバッファ、およびそのようなプロセッサを含む通信システム | |
CN107196877A (zh) | 网络流量控制的方法及其网络设备 | |
CN107872403A (zh) | 一种实现层次化QoS的五级队列调度装置及方法 | |
US8732263B2 (en) | Self clocking interrupt generation in a network interface card | |
US6657960B1 (en) | Method and system for providing differentiated services in computer networks | |
JP3805710B2 (ja) | トラフィック流量の制御方法及びその装置 | |
CN103634235A (zh) | 一种限定虚拟机网络接口速度的方法 | |
CN102195845A (zh) | 一种实现主控板主备切换的方法、装置和设备 | |
CN104641606B (zh) | 网络资源均衡处理的方法和虚拟网络管理实体 | |
JP2000244521A (ja) | 通信方法及び通信装置 | |
CN105847176A (zh) | 一种传输业务流的方法和网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191011 |
|
WD01 | Invention patent application deemed withdrawn after publication |