CN110324261A - 一种实现控制虚拟机网络QoS的方法及其装置 - Google Patents

一种实现控制虚拟机网络QoS的方法及其装置 Download PDF

Info

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
Application number
CN201910412252.8A
Other languages
English (en)
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.)
Guangdong Ruijiang Cloud Computing Co Ltd
Guangdong Eflycloud Computing Co Ltd
Original Assignee
Guangdong Ruijiang Cloud Computing 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 Guangdong Ruijiang Cloud Computing Co Ltd filed Critical Guangdong Ruijiang Cloud Computing Co Ltd
Priority to CN201910412252.8A priority Critical patent/CN110324261A/zh
Publication of CN110324261A publication Critical patent/CN110324261A/zh
Priority to JP2020007536A priority patent/JP2020191621A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual 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

一种实现控制虚拟机网络QoS的方法及其装置
技术领域
本发明涉及领域,特别涉及一种基于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。
CN201910412252.8A 2019-05-17 2019-05-17 一种实现控制虚拟机网络QoS的方法及其装置 Pending CN110324261A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697242A (zh) * 2022-03-21 2022-07-01 浪潮云信息技术股份公司 一种政务云场景下客户虚拟网卡流量管理方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
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