CN107370686A - 一种流量控制方法及装置 - Google Patents
一种流量控制方法及装置 Download PDFInfo
- Publication number
- CN107370686A CN107370686A CN201710673181.8A CN201710673181A CN107370686A CN 107370686 A CN107370686 A CN 107370686A CN 201710673181 A CN201710673181 A CN 201710673181A CN 107370686 A CN107370686 A CN 107370686A
- Authority
- CN
- China
- Prior art keywords
- flow rate
- virtual machine
- input flow
- traffic management
- rate transmission
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种流量控制方法及装置,上述方法包括以下步骤:创建虚拟机的输入流量传输控制策略及流量管理队列;根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。上述技术方案中,通过输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制,实现了对虚拟机下行流量的Qos管理。
Description
技术领域
本发明属于流量控制领域,尤其涉及一种流量控制方法及装置。
背景技术
随着云计算的应用越来越广泛及OpenStack(是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作)社区的活跃度不断上升,越来越多公司、组织基于有效利用资源考虑,开始搭建自己的OpenStack的环境,与此同时,人们对服务器中虚拟机的功能要求也越来越高。
在一个数据中心中的不同虚拟机由于其承载的业务不一样,所以可能对网络服务质量的需求也是有高有低,QoS(Quality of Service,服务质量)正是基于这种需求而产生的。
然而,OpenStack的网络管理组件Neutron只能对虚拟机上行流量的QoS进行管理,但是缺乏对于虚拟机的下行流量的QoS进行管理。
因此,迫切需要一种流量控制方案来解决上述技术问题。
发明内容
本发明提供一种流量控制方法及装置,以解决上述问题。
本发明实施例提供一种流量控制方法,包括以下步骤:创建虚拟机的输入流量传输控制策略及流量管理队列;
根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
本发明实施例还提供一种流量控制装置,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
创建虚拟机的输入流量传输控制策略及流量管理队列;
根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
本发明实施例提供的技术方案:创建虚拟机的输入流量传输控制策略及流量管理队列;根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
上述技术方案中,通过输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制,实现了对虚拟机下行流量的QoS管理。
本发明实施例提供的技术方案:根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制的过程为:若所述虚拟机的输入流量传输速率大于所述最大传输速率,则对所述流量管理队列中的未发送成功的数据包进行缓存。
上述技术方案中,通过对未发送成功的数据包进行缓存,实现了对虚拟机下行流量的QoS管理。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的流量控制方法流程图;
图2所示为本发明实施例2的流量控制方法流程图;
图3所示为本发明实施例3的流量控制装置结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为本发明实施例1的流量控制方法流程图,包括以下步骤:
步骤101:创建虚拟机的输入流量传输控制策略及流量管理队列;
进一步地,所述输入流量传输控制策略为:设置最大传输速率。
进一步地,通过调用虚拟交换组件命令即OVS命令,创建虚拟机的输入流量传输控制策略及流量管理队列。
进一步地,通过解析网络管理组件命令即neutron命令,获得所述OVS命令并对所述OVS命令进行调用,创建虚拟机的输入流量传输控制策略及流量管理队列。
进一步地,将所述输入流量传输控制策略下发至所述虚拟机端口。
具体而言,虚拟机的输入流量是指虚拟机的下行流量。虚拟机上行流量是指从虚拟机自身来看,是虚拟机往外发出的流量,而从虚拟机的端口(port)角度来看,这是流量方向是由虚拟机是的应用到虚拟机的商品,所以对于端口来说是入方向的流量(ingresstraffic),下行流量与之相反,是出端口进入虚拟机的流量(egress traffic)。
在OVS的Interface表中,虚拟机上行流量限速功能是通过ingress_policing_rate和ingress_policing_burst两个字段完成的;Neutron中的实现是调用的OVS功能,对这两个字段进行修改,从而实现Neutron现有的QoS功能。
步骤102:根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
进一步地,根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制的过程为:
若所述虚拟机的输入流量传输速率大于所述最大传输速率,则对所述流量管理队列中的未发送成功的数据包进行缓存。
图2所示为本发明实施例2的流量控制方法流程图,如图2所示,一个主机Host内的虚拟机有两个方法,原生的OpenStack的Neutron只是实现了其网卡中对应的实线部分的QoS,而下行的虚拟流量并没有QoS功能。本发明实施例结合两者,实现了其双向的流量QoS功能。
首先,Neutron原生的QoS功能是作用于虚拟机的上行流量,实际上,其实现原理也是调用的OVS,实现了对ingress_policing_rate和ingress_polick_burst这两个字段进行速率限制,这个我们可以通过计算节点上“ovs-vsctl list interface”这个命令可以查看。其中ingress_policing_rate表示端口的最大的接收包的速率,ingress_polick_burst表示端口的突发流量大小,因为这个突发值其实是通过令牌桶实现的,所以它的值最小不能小于该虚拟机MTU(最大传送单元)值的大小。
其次,对于虚拟机的下行流量,也就是进入虚拟机的流量,我们通过对以下的OVS命令进行封装实现:
ovs-vsctl set port eth1 qos=@testqos--\
--id=@testqos create qos type=linux-htb queues=0=@testqueue--\
--id=@testqueue create queue other-config:max-rate=30000000。
在上述命令有两个功能,一是对eth1这个端口创建了一个qos,并把最大传输速率配置为30Mbps;二是创建了一个队列,并把它添加到了这个qos中,当虚拟机待发送的数据速率大于最大传输速率时,未发送成功的数据包会被缓存起来,队列就是用来缓存和调度数据包发送顺序的,用于实现出口流量(端口的出方向的流量即虚拟机入方向的流量,也就是虚拟机的下行流量)的控制。
将上述命令封装为neutron命令:
Neutron qos-download-bandwidth-limit-rule-create testqos testqueue--max-kbps 30000000
这条Neutron命令,是本发明实施例中实现的,其内部会调用上述OVS命令,以实现与上述的0VS命令同样的效果。
其中testqos表示创建的qos规则,类型为linux-htb,testuqueue表示创建一个testqueue的队列,其最大的速率为30Mbps。
综上所述,如果要给一个虚拟机配置QoS功能,主要分为以下步骤:
1)若是配置虚拟机上行链路的QoS,则进行步骤3);
2)若是配置虚拟机下行链路的QoS,则进行步骤4);
3)直接输入Neutron原生命令进行配置,此步骤实现了虚拟机的上行流量限速;
4)利用上述的封装好的Neutron命令,对虚拟机下行流量速率进行限制;
5)将虚拟机的虚拟网卡或整个网络与QoS策略关联并生效。
上述步骤的叙述中,所说的策略是指在Neutron命令中,创建出的一个policy,每个policy上可以关联一个或才多个规则(rule),Neutron中已经实现的limit-bandwitch-rule,是实现虚拟机上行流量限制的规则;上述本发明实施例中所提出的Neutron命令则是实现了qos-download-bandwidth-limit-rule这个规则;当关联这两种规则的QoS策略被应用到某虚拟机端口上时,这种虚拟机的此端口上下行流量都会被限制在规则所规定的范围内,从而实现虚拟机上行下流量QoS功能。
此策略也可以被应用于整个网络,这时,此网络中的所有的虚拟机端口都会被应用该策略,从而实现网络中的所有虚拟机的上下行流量QoS功能。
图3所示为本发明实施例3的流量控制装置结构图,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
创建虚拟机的输入流量传输控制策略及流量管理队列;
根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
进一步地,所述输入流量传输控制策略为:设置最大传输速率。
进一步地,根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制的过程为:
若所述虚拟机的输入流量传输速率大于所述最大传输速率,则对所述流量管理队列中的未发送成功的数据包进行缓存。
进一步地,通过调用虚拟交换组件命令即OVS命令,创建虚拟机的输入流量传输控制策略及流量管理队列。
进一步地,通过解析网络管理组件命令即neutron命令,获得所述OVS命令并对所述OVS命令进行调用,创建虚拟机的输入流量传输控制策略及流量管理队列。
本发明实施例提供的技术方案:创建虚拟机的输入流量传输控制策略及流量管理队列;根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
上述技术方案中,通过输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制,实现了对虚拟机下行流量的QoS管理。
本发明实施例提供的技术方案:根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制的过程为:若所述虚拟机的输入流量传输速率大于所述最大传输速率,则对所述流量管理队列中的未发送成功的数据包进行缓存。
上述技术方案中,通过对未发送成功的数据包进行缓存,实现了对虚拟机下行流量的QoS管理。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种流量控制方法,其特征在于,包括以下步骤:
创建虚拟机的输入流量传输控制策略及流量管理队列;
根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
2.根据权利要求1所述的流量控制方法,其特征在于,所述输入流量传输控制策略为:设置最大传输速率。
3.根据权利要求2所述的流量控制方法,其特征在于,根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制的过程为:
若所述虚拟机的输入流量传输速率大于所述最大传输速率,则对所述流量管理队列中的未发送成功的数据包进行缓存。
4.根据权利要求1所述的流量控制方法,其特征在于,通过调用虚拟交换组件命令即OVS命令,创建虚拟机的输入流量传输控制策略及流量管理队列。
5.根据权利要求4所述的流量控制方法,其特征在于,通过解析网络管理组件命令即neutron命令,获得所述OVS命令并对所述OVS命令进行调用,创建虚拟机的输入流量传输控制策略及流量管理队列。
6.根据权利要求1所述的流量控制方法,其特征在于,将所述输入流量传输控制策略下发至所述虚拟机端口。
7.一种流量控制装置,其特征在于,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
创建虚拟机的输入流量传输控制策略及流量管理队列;
根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制。
8.根据权利要求7所述的流量控制装置,其特征在于,所述输入流量传输控制策略为:设置最大传输速率。
9.根据权利要求8所述的流量控制装置,其特征在于,根据所述输入流量传输控制策略,对所述流量管理队列中的数据包进行调度控制的过程为:
若所述虚拟机的输入流量传输速率大于所述最大传输速率,则对所述流量管理队列中的未发送成功的数据包进行缓存。
10.根据权利要求7所述的流量控制装置,其特征在于,通过调用虚拟交换组件命令即OVS命令,创建虚拟机的输入流量传输控制策略及流量管理队列。
11.根据权利要求10所述的流量控制装置,其特征在于,通过解析网络管理组件命令即neutron命令,获得所述OVS命令并对所述OVS命令进行调用,创建虚拟机的输入流量传输控制策略及流量管理队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710673181.8A CN107370686A (zh) | 2017-08-08 | 2017-08-08 | 一种流量控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710673181.8A CN107370686A (zh) | 2017-08-08 | 2017-08-08 | 一种流量控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107370686A true CN107370686A (zh) | 2017-11-21 |
Family
ID=60309478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710673181.8A Pending CN107370686A (zh) | 2017-08-08 | 2017-08-08 | 一种流量控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107370686A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740100A (zh) * | 2019-10-22 | 2020-01-31 | 新华三信息安全技术有限公司 | 一种传输速率确定方法、装置、网络设备及存储介质 |
CN112165435A (zh) * | 2020-09-29 | 2021-01-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于虚拟机网络服务质量的双向流量控制方法及系统 |
CN112887218A (zh) * | 2020-12-22 | 2021-06-01 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN114884816A (zh) * | 2022-06-17 | 2022-08-09 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634235A (zh) * | 2013-11-01 | 2014-03-12 | 国云科技股份有限公司 | 一种限定虚拟机网络接口速度的方法 |
CN105635035A (zh) * | 2014-10-27 | 2016-06-01 | 青岛金讯网络工程有限公司 | 一种虚拟机流量监控方法 |
CN106911695A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于Fuel的OpenStack部署方法及装置 |
-
2017
- 2017-08-08 CN CN201710673181.8A patent/CN107370686A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634235A (zh) * | 2013-11-01 | 2014-03-12 | 国云科技股份有限公司 | 一种限定虚拟机网络接口速度的方法 |
CN105635035A (zh) * | 2014-10-27 | 2016-06-01 | 青岛金讯网络工程有限公司 | 一种虚拟机流量监控方法 |
CN106911695A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于Fuel的OpenStack部署方法及装置 |
Non-Patent Citations (2)
Title |
---|
CERTUSNET-SKY: "Open vSwitch之QoS的实现", 《HTTPS://WWW.SDNLAB.COM/19208.HTML》 * |
MAGINE1989: "OpenvSwitch对虚拟机做QOS限速", 《HTTPS://WWW.JIANSHU.COM/P/C910B0C377B0》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740100A (zh) * | 2019-10-22 | 2020-01-31 | 新华三信息安全技术有限公司 | 一种传输速率确定方法、装置、网络设备及存储介质 |
CN110740100B (zh) * | 2019-10-22 | 2022-04-22 | 新华三信息安全技术有限公司 | 一种传输速率确定方法、装置、网络设备及存储介质 |
CN112165435A (zh) * | 2020-09-29 | 2021-01-01 | 山东省计算中心(国家超级计算济南中心) | 一种基于虚拟机网络服务质量的双向流量控制方法及系统 |
CN112887218A (zh) * | 2020-12-22 | 2021-06-01 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN114884816A (zh) * | 2022-06-17 | 2022-08-09 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
CN114884816B (zh) * | 2022-06-17 | 2024-02-13 | 中国联合网络通信集团有限公司 | 数据包限速规则处理方法、装置、设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10630601B2 (en) | Controlling fair bandwidth allocation efficiently | |
CN107370686A (zh) | 一种流量控制方法及装置 | |
US8614951B2 (en) | Guaranteed bandwidth sharing in a traffic shaping system | |
US7826352B2 (en) | Meter-based hierarchical bandwidth sharing | |
US8462802B2 (en) | Hybrid weighted round robin (WRR) traffic scheduling | |
CN108174397A (zh) | 一种任务驱动的多网关协同方法 | |
US8867560B2 (en) | Managing crossbar oversubscription | |
CN106453126A (zh) | 一种虚拟机流量控制方法及装置 | |
DE112017003501T5 (de) | Scheduling von downstream-datenverkehr einer virtuellen ccap | |
CN108028850B (zh) | 私有云管理平台 | |
CN101202701B (zh) | 分组网络中为汇聚的可用比特率业务分配带宽的方法 | |
CN109922003A (zh) | 一种数据发送方法、系统及相关组件 | |
AlQahtani | An efficient resource allocation to improve QoS of 5G slicing networks using general processor sharing‐based scheduling algorithm | |
CN112995058A (zh) | 一种令牌的调整方法及装置 | |
CN104301255B (zh) | 一种光网络多用户带宽公平分配的方法 | |
Imputato et al. | Traffic differentiation and multiqueue networking in ns-3 | |
KR20120055947A (ko) | 가입자 인지 플로우별 QoS 제공 방법 및 장치 | |
EP3065502A1 (en) | Access node device for managing upstream network traffic | |
Ahmad et al. | Merging engine implementation for intra-frame sharing in multi-tenant virtual passive optical networks | |
CN115242727B (zh) | 用户请求处理方法、装置、设备和介质 | |
Lee | Correlated token bucket shapers for multiple traffic classes | |
WO2012097599A1 (zh) | 一种管理虚拟输出队列授权盈余的方法及装置 | |
CN116760774B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
EP3896928B1 (en) | Dynamic bandwidth allocation method, device, and apparatus, and storage medium | |
Liu et al. | Deployment of Asynchronous Traffic Shapers in Data Center Networks |
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: 20171121 |