[发明专利]一种Linux环境下基于用户和业务的QoS系统无效
申请号: | 200910199428.2 | 申请日: | 2009-11-26 |
公开(公告)号: | CN102082765A | 公开(公告)日: | 2011-06-01 |
发明(设计)人: | 潘志浩;顾蔚;张之远;陈云寰;顾鹏 | 申请(专利权)人: | 上海大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵继明 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 环境 基于 用户 业务 qos 系统 | ||
技术领域
本发明涉及一种QoS系统,尤其是涉及一种Linux环境下基于用户和业务的QoS系统。
背景技术
目前的IP网络承载多种业务的应用,如多媒体业务、IPTV业务、VoIP业务、P2P业务,其中P2P业务尤为突出。因此,基于业务的流量控制必不可少。与此同时,一个大型局域网内部的网络用户必定会根据不同的身份或职位而分为许多等级,针对这些不同等级的用户,其网络带宽的分配也将不同。这一需求需要一种比较理想的构架来实现。
Linux内核从Kernel 2.1.105版本开始已经支持QoS,其工作机制是当网络产生拥塞时,根据用户的配置,在数据输出端针对不同的数据流建立不同的输出队列,进行不同的调度和处理,从而实现流量控制。这将从一定程度上解决由于早期IP网络采用先进先出FIFO机制而产生的网络拥塞问题。分组进入采用Linux的接收系统后的处理流程如图1所示。
在Linux系统中,根据系统对分组进行流量控制过程中所执行的一系列操作,可以将Linux的流量控制模块分为三大元素,如图2所示。Linux系统的流量控制是对以下三大对象的有机组合:
1)队列规则(Queue Discipline):控制队列中的数据包的发送过程;
2)分类(Classes):对到达网络设备的数据包根据其QoS属性(如速率、优先级等),将数据包划分为不同的类别;
3)过滤器(Filters):根据数据包的包头信息(如IP地址、ToS值、协议类型、端口等)对数据包进行分类。
QoS的调度算法有很多种。不同的调度算法根据控制目标的不同而具有不同的算法思想和算法复杂度。常见的有调度算法有以下几种:
1)先进先出队列FIFO:这是一种从实现角度而言最简单的队列调度算法,按照分组进入队列的顺序出队。
2)优先级队列PQ:分组在通过分类器后被安排进入到拥有不同优先级的队列中。调度思想是首先调度高优先级队列直到该队列中没有分组了才调度次高优先级的队列。因此也称为严格优先级队列。
3)加权公平队列WFQ:将分组按照流进行分类,每个流安排一个队列并赋一个优先级值,根据队列的优先级值进行带宽分配,使得系统可以对单个业务流进行精细的控制,但同时也增加算法复杂度。
4)权值循环轮转WRR:将分组按照不同等级的业务进入到不同的队列,根据业务优先级的高低为队列分配权值,调度时轮询每个队列,保证每个队列都得到一定的服务时间。
WFQ虽然能够对网络中的报文进行基于流的精细控制,但其算法复杂度也相对增加许多,而WRR的算法执行思想比较符合本系统的队列结构,算法复杂度也相对简单许多。但是WRR算法在处理等长报文时能够体现出较好的运算性能,而对于非等长报文则一筹莫展,而网络中的报文长度几乎各不相等,这就需要采用WRR的演进算法DWRR了,以克服WRR算法对变长报文的队列不能提供精确控制的缺点。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种Linux环境下基于用户和业务的QoS系统。
本发明的目的可以通过以下技术方案来实现:
一种Linux环境下基于用户和业务的QoS系统,其特征在于,该系统包括过滤规则库、过滤器、分类规则库、分类器、队列维护模块,所述的过滤规则库与过滤器连接,所述的分类规则库与分类器连接,所述的过滤器、分类器、队列维护模块依次连接,所述的队列维护模块采用多级队列+LLQ结构,所述的队列维护模块调度发送报文时采用DWRR算法。
所述的过滤规则库包括五元组、ToS值信息。
所述的分类规则库包括类别号、队列号。
所述的多级队列+LLQ结构为在多级队列的三级队列中增加一条LLQ队列,其中该LLQ队列的优先级高于三级队列中的其他任何队列,通过令牌桶为LLQ队列分配一个最大预留带宽,若网络没有发生拥塞时,进入LLQ的报文第一时间被转发,而网络发生拥塞时,进入LLQ的报文则将被限速,对于超出规定流量的报文将被丢弃,系统总是优先发送LLQ中的报文直到LLQ中没有报文时或者超过为LLQ配置的最大预留带宽时,才调度发送三级队列中其他队列的报文。
所述的DWRR算法具体步骤如下:
1)为每个队列设置一个差值计数器DC,DC的值就是调度器每次可以发送的字节总数;
2)根据队列权值的大小比例,为每个队列设置一个quantity变量,变量代表的是分配给队列的字节发送量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910199428.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种发动机装饰罩
- 下一篇:新能源中温水蒸汽发电系统