《一种LINUX环境下基于用户和业务的QOS系统.pdf》由会员分享,可在线阅读,更多相关《一种LINUX环境下基于用户和业务的QOS系统.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102082765A43申请公布日20110601CN102082765ACN102082765A21申请号200910199428222申请日20091126H04L29/0620060171申请人上海大学地址200444上海市宝山区上大路99号72发明人潘志浩顾蔚张之远陈云寰顾鹏74专利代理机构上海科盛知识产权代理有限公司31225代理人赵继明54发明名称一种LINUX环境下基于用户和业务的QOS系统57摘要本发明涉及一种LINUX环境下基于用户和业务的QOS系统,该系统包括过滤规则库、过滤器、分类规则库、分类器、队列维护模块,所述的过滤规则库与过滤器连接,所述的分类规则。
2、库与分类器连接,所述的过滤器、分类器、队列维护模块依次连接,所述的队列维护模块采用多级队列LLQ结构,所述的队列维护模块调度发送报文时采用DWRR算法。与现有技术相比,本发明具有系统实现所需资源降到最低、保证了系统的稳定性等优点。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图3页CN102082771A1/1页21一种LINUX环境下基于用户和业务的QOS系统,其特征在于,该系统包括过滤规则库、过滤器、分类规则库、分类器、队列维护模块,所述的过滤规则库与过滤器连接,所述的分类规则库与分类器连接,所述的过滤器、分类器、队列维护模块依次连接,所述的队列维。
3、护模块采用多级队列LLQ结构,所述的队列维护模块调度发送报文时采用DWRR算法。2根据权利要求1所述的一种LINUX环境下基于用户和业务的QOS系统,其特征在于,所述的过滤规则库包括五元组、TOS值信息。3根据权利要求1所述的一种LINUX环境下基于用户和业务的QOS系统,其特征在于,所述的分类规则库包括类别号、队列号。4根据权利要求1所述的一种LINUX环境下基于用户和业务的QOS系统,其特征在于,所述的多级队列LLQ结构为在多级队列的三级队列中增加一条LLQ队列,其中该LLQ队列的优先级高于三级队列中的其他任何队列,通过令牌桶为LLQ队列分配一个最大预留带宽,若网络没有发生拥塞时,进入LL。
4、Q的报文第一时间被转发,而网络发生拥塞时,进入LLQ的报文则将被限速,对于超出规定流量的报文将被丢弃,系统总是优先发送LLQ中的报文直到LLQ中没有报文时或者超过为LLQ配置的最大预留带宽时,才调度发送三级队列中其他队列的报文。5根据权利要求1所述的一种LINUX环境下基于用户和业务的QOS系统,其特征在于,所述的DWRR算法具体步骤如下1为每个队列设置一个差值计数器DC,DC的值就是调度器每次可以发送的字节总数;2根据队列权值的大小比例,为每个队列设置一个QUANTITY变量,变量代表的是分配给队列的字节发送量;3调度器每次访问一个非空队列,如果队列头部的报文字节数大于DC,那么调度器移动到。
5、下一个队列,如果队列头部的报文字节数小于或者等于DC,那么调度器就转发该报文并将DC的值减少改报文的字节数;4继续这个过程,直到该队列拖布报文的字节数大于DC为止;5剩余的值累积到下次使用,如果队列为空,则DC设置为0,这时调度器将服务下一个非空队列。6根据权利要求5所述的一种LINUX环境下基于用户和业务的QOS系统,其特征在于,所述的调度器位于队列维护模块中。权利要求书CN102082765ACN102082771A1/4页3一种LINUX环境下基于用户和业务的QOS系统技术领域0001本发明涉及一种QOS系统,尤其是涉及一种LINUX环境下基于用户和业务的QOS系统。背景技术0002目前。
6、的IP网络承载多种业务的应用,如多媒体业务、IPTV业务、VOIP业务、P2P业务,其中P2P业务尤为突出。因此,基于业务的流量控制必不可少。与此同时,一个大型局域网内部的网络用户必定会根据不同的身份或职位而分为许多等级,针对这些不同等级的用户,其网络带宽的分配也将不同。这一需求需要一种比较理想的构架来实现。0003LINUX内核从KERNEL21105版本开始已经支持QOS,其工作机制是当网络产生拥塞时,根据用户的配置,在数据输出端针对不同的数据流建立不同的输出队列,进行不同的调度和处理,从而实现流量控制。这将从一定程度上解决由于早期IP网络采用先进先出FIFO机制而产生的网络拥塞问题。分组。
7、进入采用LINUX的接收系统后的处理流程如图1所示。0004在LINUX系统中,根据系统对分组进行流量控制过程中所执行的一系列操作,可以将LINUX的流量控制模块分为三大元素,如图2所示。LINUX系统的流量控制是对以下三大对象的有机组合00051队列规则QUEUEDISCIPLINE控制队列中的数据包的发送过程;00062分类CLASSES对到达网络设备的数据包根据其QOS属性如速率、优先级等,将数据包划分为不同的类别;00073过滤器FILTERS根据数据包的包头信息如IP地址、TOS值、协议类型、端口等对数据包进行分类。0008QOS的调度算法有很多种。不同的调度算法根据控制目标的不同而。
8、具有不同的算法思想和算法复杂度。常见的有调度算法有以下几种00091先进先出队列FIFO这是一种从实现角度而言最简单的队列调度算法,按照分组进入队列的顺序出队。00102优先级队列PQ分组在通过分类器后被安排进入到拥有不同优先级的队列中。调度思想是首先调度高优先级队列直到该队列中没有分组了才调度次高优先级的队列。因此也称为严格优先级队列。00113加权公平队列WFQ将分组按照流进行分类,每个流安排一个队列并赋一个优先级值,根据队列的优先级值进行带宽分配,使得系统可以对单个业务流进行精细的控制,但同时也增加算法复杂度。00124权值循环轮转WRR将分组按照不同等级的业务进入到不同的队列,根据业务。
9、优先级的高低为队列分配权值,调度时轮询每个队列,保证每个队列都得到一定的服务时间。0013WFQ虽然能够对网络中的报文进行基于流的精细控制,但其算法复杂度也相对增说明书CN102082765ACN102082771A2/4页4加许多,而WRR的算法执行思想比较符合本系统的队列结构,算法复杂度也相对简单许多。但是WRR算法在处理等长报文时能够体现出较好的运算性能,而对于非等长报文则一筹莫展,而网络中的报文长度几乎各不相等,这就需要采用WRR的演进算法DWRR了,以克服WRR算法对变长报文的队列不能提供精确控制的缺点。发明内容0014本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种LINU。
10、X环境下基于用户和业务的QOS系统。0015本发明的目的可以通过以下技术方案来实现0016一种LINUX环境下基于用户和业务的QOS系统,其特征在于,该系统包括过滤规则库、过滤器、分类规则库、分类器、队列维护模块,所述的过滤规则库与过滤器连接,所述的分类规则库与分类器连接,所述的过滤器、分类器、队列维护模块依次连接,所述的队列维护模块采用多级队列LLQ结构,所述的队列维护模块调度发送报文时采用DWRR算法。0017所述的过滤规则库包括五元组、TOS值信息。0018所述的分类规则库包括类别号、队列号。0019所述的多级队列LLQ结构为在多级队列的三级队列中增加一条LLQ队列,其中该LLQ队列的优。
11、先级高于三级队列中的其他任何队列,通过令牌桶为LLQ队列分配一个最大预留带宽,若网络没有发生拥塞时,进入LLQ的报文第一时间被转发,而网络发生拥塞时,进入LLQ的报文则将被限速,对于超出规定流量的报文将被丢弃,系统总是优先发送LLQ中的报文直到LLQ中没有报文时或者超过为LLQ配置的最大预留带宽时,才调度发送三级队列中其他队列的报文。0020所述的DWRR算法具体步骤如下00211为每个队列设置一个差值计数器DC,DC的值就是调度器每次可以发送的字节总数;00222根据队列权值的大小比例,为每个队列设置一个QUANTITY变量,变量代表的是分配给队列的字节发送量;00233调度器每次访问一个非。
12、空队列,如果队列头部的报文字节数大于DC,那么调度器移动到下一个队列,如果队列头部的报文字节数小于或者等于DC,那么调度器就转发该报文并将DC的值减少改报文的字节数;00244继续这个过程,直到该队列拖布报文的字节数大于DC为止;00255剩余的值累积到下次使用,如果队列为空,则DC设置为0,这时调度器将服务下一个非空队列。0026所述的调度器位于队列维护模块中。0027与现有技术相比,本发明具有以下优点00281队列维护模块采用了多级队列LLQ的设计,实现了对用户和业务进行双重控制的目的,同时LLQ也保证了低延迟类业务的时延要求;00292发送调度时采用了DWRR算法,相对公平的根据业务优先。
13、级对分组实行调度,同时还保证了最小的算法复杂度,使系统实现所需资源降到最低,保证了系统的稳定性。说明书CN102082765ACN102082771A3/4页5附图说明0030图1为本发明一种LINUX环境下基于用户和业务的QOS系统的现有技术中LINUX流控过程;0031图2为本发明一种LINUX环境下基于用户和业务的QOS系统的现有技术中LINUX内核流量控制框架;0032图3为本发明一种LINUX环境下基于用户和业务的QOS系统的结构框架图;0033图4为本发明一种LINUX环境下基于用户和业务的QOS系统的多级队列LLQ的结构图;0034图5为本发明一种LINUX环境下基于用户和业务的。
14、QOS系统的DWRR算法示意图。具体实施方式0035下面结合附图和具体实施例对本发明进行详细说明。0036实施例0037如图3所示,一种LINUX环境下基于用户和业务的QOS系统,其特征在于,该系统包括过滤规则库D、过滤器A、分类规则库E、分类器B、队列维护模块C,所述的过滤规则库D与过滤器A连接,所述的分类规则库E与分类器B连接,所述的过滤器A、分类器B、队列维护模块C依次连接,所述的队列维护模块C采用多级队列LLQ结构,所述的队列维护模块C调度发送报文时采用DWRR算法。所述的过滤规则库D包括五元组、TOS值信息。所述的分类规则库E包括类别号、队列号。0038如图4所示,所述的队列维护模块。
15、采用多级队列LLQ结构,假设将所有的网络用户分为三类,用户组1、组2、组3,其中用户组1为最高级别的用户,以下即称超级用户,而用户组2的级别高于用户组3,以下统称普通用户。以上的队列设计是考虑到了用户和业务双重因素。0039由于超级用户是一个网络中特殊用户组,他们相对普通用户享有较高的带宽保证,因此,在设计中将他们与普通用户区别开,单独为他们开辟一条网络通道,借此保证他们的用户带宽。针对普通用户,他们将共享网络中剩余的带宽资源。在每个用户组中维护一组队列,分别表示不同类型的业务应用,这是一级队列。在单个用户组外,普通用户组内另外维护一组队列,同样表示不同应用,这是普通用户的二级队列,根据普通用。
16、户中不同用户组的级别按照不同的权重调度一级队列中的分组,实现普通用户的用户控制。超级用户则是在其内部分别维护一组一级队列和二级队列,二级队列根据其一级队列业务的级别按照不同权重进行调度,实现超级用户自身的业务控制。在所有用户组外维护一个三级队列,根据超级用户的保证带宽和普通用户不同业务的级别分别调度各自的二级队列,实现超级用户的用户控制和普通用户的业务控制。以上的设计已经实现了对用户和业务进行双重控制的目的。0040本发明针对实际应用中对网络时延特性要求较高的一类应用层业务,如网络中的RTP流量IPTV、VOIP等,提供了较好的低延迟服务,以保证这类业务的业务质量和用户满意度。在所述多级队列的。
17、第三级增加一条LLQ队列,为低延迟业务单独开辟一条网络通道,只调度超级用户和普通用户的低延迟业务。0041LLQLOWLATENCYQUEUEING,低延迟队列是一个具有较高优先级的队列,在所述说明书CN102082765ACN102082771A4/4页6的多级队列中,它的优先级高于三级队列中的其他任何队列。系统为LLQ分配一个最大预留带宽,当报文被调度出队时,若LLQ中有报文则总是优先发送LLQ中的报文直到LLQ中没有报文时或者超过为LLQ配置的最大预留带宽时,才调度发送其他三级队列中其他队列的报文。在报文进入LLQ时,若网络没有发生拥塞,则LLQ的报文能在第一时间被发送出去;而网络发生拥。
18、塞时,进入LLQ的报文则将被限速,对于超出规定流量的报文将被丢弃。这样在接口不发生拥塞的情况下可以使属于LLQ的报文能获得空闲的带宽在,而在接口拥塞的情况下又可以保证属于LLQ的报文不会占用超出规定的带宽,保护了其他报文的应得带宽。配置预留带宽可以通过在LLQ的队列前设置一个令牌桶来实现。另外由于只要LLQ中有报文系统就会发送LLQ中的报文,所以LLQ中的报文被发送的延迟最多是接口发送一个最大长度报文的时间,无论是延时还是延时抖动LLQ都可以将之降低为最低限度,这为对延时敏感的应用如VOIP业务提供了良好的服务质量保证。0042如图5所示,所述的队列维护模块调度发送报文时采用DWRR算法。该算。
19、法是算法复杂度和处理性能折中的算法,保证了系统高速的运算性能和高效的转发性能。DWRR是WRR的一种衍生算法,它克服了WRR算法对变长报文的队列不能提供精确控制的缺点。具体算法如下00431为每个队列设置一个差值计数器DC,DC的值就是调度器每次可以发送的字节总数;00442根据队列权值的大小比例,为每个队列设置一个QUANTITY变量,变量代表的是分配给队列的字节发送量;00453调度器每次访问一个非空队列,如果队列头部的报文字节数大于DC,那么调度器移动到下一个队列,如果队列头部的报文字节数小于或者等于DC,那么调度器就转发该报文并将DC的值减少改报文的字节数;00464继续这个过程,直到该队列拖布报文的字节数大于DC为止;00475剩余的值累积到下次使用,如果队列为空,则DC设置为0,这时调度器将服务下一个非空队列。0048由于设置了差值计数器,虽然限制了它可以发送的字节数量,但只会影响本队列的性能,而不会影响到其他队列,实现了业务隔离。说明书CN102082765ACN102082771A1/3页7图1图2说明书附图CN102082765ACN102082771A2/3页8图3图4说明书附图CN102082765ACN102082771A3/3页9图5说明书附图CN102082765A。