一种LINUX环境下基于用户和业务的QOS系统.pdf

上传人:g**** 文档编号:1106875 上传时间:2018-03-31 格式:PDF 页数:9 大小:386.10KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910199428.2

申请日:

2009.11.26

公开号:

CN102082765A

公开日:

2011.06.01

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):H04L 29/06申请公布日:20110601|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

上海大学

发明人:

潘志浩; 顾蔚; 张之远; 陈云寰; 顾鹏

地址:

200444 上海市宝山区上大路99号

优先权:

专利代理机构:

上海科盛知识产权代理有限公司 31225

代理人:

赵继明

PDF下载: PDF下载
内容摘要

本发明涉及一种Linux环境下基于用户和业务的QoS系统,该系统包括过滤规则库、过滤器、分类规则库、分类器、队列维护模块,所述的过滤规则库与过滤器连接,所述的分类规则库与分类器连接,所述的过滤器、分类器、队列维护模块依次连接,所述的队列维护模块采用多级队列+LLQ结构,所述的队列维护模块调度发送报文时采用DWRR算法。与现有技术相比,本发明具有系统实现所需资源降到最低、保证了系统的稳定性等优点。

权利要求书

1: 一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 该系统包括过滤规则 库、 过滤器、 分类规则库、 分类器、 队列维护模块, 所述的过滤规则库与过滤器连接, 所述的 分类规则库与分类器连接, 所述的过滤器、 分类器、 队列维护模块依次连接, 所述的队列维 护模块采用多级队列 +LLQ 结构, 所述的队列维护模块调度发送报文时采用 DWRR 算法。
2: 根据权利要求 1 所述的一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 所述的过滤规则库包括五元组、 ToS 值信息。
3: 根据权利要求 1 所述的一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 所述的分类规则库包括类别号、 队列号。
4: 根据权利要求 1 所述的一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 所述的多级队列 +LLQ 结构为在多级队列的三级队列中增加一条 LLQ 队列, 其中该 LLQ 队 列的优先级高于三级队列中的其他任何队列, 通过令牌桶为 LLQ 队列分配一个最大预留带 宽, 若网络没有发生拥塞时, 进入 LLQ 的报文第一时间被转发, 而网络发生拥塞时, 进入 LLQ 的报文则将被限速, 对于超出规定流量的报文将被丢弃, 系统总是优先发送 LLQ 中的报文 直到 LLQ 中没有报文时或者超过为 LLQ 配置的最大预留带宽时, 才调度发送三级队列中其 他队列的报文。
5: 根据权利要求 1 所述的一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 所述的 DWRR 算法具体步骤如下 : 1) 为每个队列设置一个差值计数器 DC, DC 的值就是调度器每次可以发送的字节总数 ; 2) 根据队列权值的大小比例, 为每个队列设置一个 quantity 变量, 变量代表的是分配 给队列的字节发送量 ; 3) 调度器每次访问一个非空队列, 如果队列头部的报文字节数大于 DC, 那么调度器移 动到下一个队列, 如果队列头部的报文字节数小于或者等于 DC, 那么调度器就转发该报文 并将 DC 的值减少改报文的字节数 ; 4) 继续这个过程, 直到该队列拖布报文的字节数大于 DC 为止 ; 5) 剩余的值累积到下次使用, 如果队列为空, 则 DC 设置为 0, 这时调度器将服务下一个 非空队列。
6: 根据权利要求 5 所述的一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 所述的调度器位于队列维护模块中。

说明书


一种 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 变量, 变量代表的是 分配给队列的字节发送量 ;
     3) 调度器每次访问一个非空队列, 如果队列头部的报文字节数大于 DC, 那么调度 器移动到下一个队列, 如果队列头部的报文字节数小于或者等于 DC, 那么调度器就转发该 报文并将 DC 的值减少改报文的字节数 ;
     4) 继续这个过程, 直到该队列拖布报文的字节数大于 DC 为止 ;
     5) 剩余的值累积到下次使用, 如果队列为空, 则 DC 设置为 0, 这时调度器将服务下 一个非空队列。
     所述的调度器位于队列维护模块中。
     与现有技术相比, 本发明具有以下优点 :
     1) 队列维护模块采用了多级队列 +LLQ 的设计, 实现了对用户和业务进行双重控 制的目的, 同时 LLQ 也保证了低延迟类业务的时延要求 ;
     2) 发送调度时采用了 DWRR 算法, 相对公平的根据业务优先级对分组实行调度, 同 时还保证了最小的算法复杂度, 使系统实现所需资源降到最低, 保证了系统的稳定性。
     附图说明 图 1 为本发明一种 Linux 环境下基于用户和业务的 QoS 系统的现有技术中 Linux 流控过程 ;
     图 2 为本发明一种 Linux 环境下基于用户和业务的 QoS 系统的现有技术中 Linux 内核流量控制框架 ;
     图 3 为本发明一种 Linux 环境下基于用户和业务的 QoS 系统的结构框架图 ;
     图 4 为本发明一种 Linux 环境下基于用户和业务的 QoS 系统的多级队列 +LLQ 的 结构图 ;
     图 5 为本发明一种 Linux 环境下基于用户和业务的 QoS 系统的 DWRR 算法示意图。
     具体实施方式
     下面结合附图和具体实施例对本发明进行详细说明。
     实施例
     如图 3 所示, 一种 Linux 环境下基于用户和业务的 QoS 系统, 其特征在于, 该系统 包括过滤规则库 d、 过滤器 a、 分类规则库 e、 分类器 b、 队列维护模块 c, 所述的过滤规则库 d 与过滤器 a 连接, 所述的分类规则库 e 与分类器 b 连接, 所述的过滤器 a、 分类器 b、 队列维 护模块 c 依次连接, 所述的队列维护模块 c 采用多级队列 +LLQ 结构, 所述的队列维护模块 c 调度发送报文时采用 DWRR 算法。所述的过滤规则库 d 包括五元组、 ToS 值信息。所述的 分类规则库 e 包括类别号、 队列号。
     如图 4 所示, 所述的队列维护模块采用多级队列 +LLQ 结构, 假设将所有的网络用 户分为三类, 用户组 1、 组 2、 组 3, 其中用户组 1 为最高级别的用户, 以下即称超级用户, 而用 户组 2 的级别高于用户组 3, 以下统称普通用户。 以上的队列设计是考虑到了用户和业务双 重因素。
     由于超级用户是一个网络中特殊用户组, 他们相对普通用户享有较高的带宽保 证, 因此, 在设计中将他们与普通用户区别开, 单独为他们开辟一条网络通道, 借此保证他 们的用户带宽。针对普通用户, 他们将共享网络中剩余的带宽资源。在每个用户组中维护 一组队列, 分别表示不同类型的业务应用, 这是一级队列。在单个用户组外, 普通用户组内 另外维护一组队列, 同样表示不同应用, 这是普通用户的二级队列, 根据普通用户中不同用 户组的级别按照不同的权重调度一级队列中的分组, 实现普通用户的用户控制。超级用户 则是在其内部分别维护一组一级队列和二级队列, 二级队列根据其一级队列业务的级别按 照不同权重进行调度, 实现超级用户自身的业务控制。 在所有用户组外维护一个三级队列, 根据超级用户的保证带宽和普通用户不同业务的级别分别调度各自的二级队列, 实现超级 用户的用户控制和普通用户的业务控制。 以上的设计已经实现了对用户和业务进行双重控 制的目的。
     本发明针对实际应用中对网络时延特性要求较高的一类应用层业务, 如网络中的 RTP 流量 (IPTV、 VoIP 等 ), 提供了较好的低延迟服务, 以保证这类业务的业务质量和用户满 意度。在所述多级队列的第三级增加一条 LLQ 队列, 为低延迟业务单独开辟一条网络通道, 只调度超级用户和普通用户的低延迟业务。
     LLQ(Low Latency Queueing, 低延迟队列 ) 是一个具有较高优先级的队列, 在所述的多级队列中, 它的优先级高于三级队列中的其他任何队列。系统为 LLQ 分配一个最大预 留带宽, 当报文被调度出队时, 若 LLQ 中有报文则总是优先发送 LLQ 中的报文直到 LLQ 中没 有报文时或者超过为 LLQ 配置的最大预留带宽时, 才调度发送其他三级队列中其他队列的 报文。在报文进入 LLQ 时, 若网络没有发生拥塞, 则 LLQ 的报文能在第一时间被发送出去 ; 而网络发生拥塞时, 进入 LLQ 的报文则将被限速, 对于超出规定流量的报文将被丢弃。这 样在接口不发生拥塞的情况下可以使属于 LLQ 的报文能获得空闲的带宽在, 而在接口拥塞 的情况下又可以保证属于 LLQ 的报文不会占用超出规定的带宽, 保护了其他报文的应得带 宽。配置预留带宽可以通过在 LLQ 的队列前设置一个令牌桶来实现。另外由于只要 LLQ 中 有报文系统就会发送 LLQ 中的报文, 所以 LLQ 中的报文被发送的延迟最多是接口发送一个 最大长度报文的时间, 无论是延时还是延时抖动 LLQ 都可以将之降低为最低限度, 这为对 延时敏感的应用如 VoIP 业务提供了良好的服务质量保证。
     如图 5 所示, 所述的队列维护模块调度发送报文时采用 DWRR 算法。该算法是算 法复杂度和处理性能折中的算法, 保证了系统高速的运算性能和高效的转发性能。DWRR 是 WRR 的一种衍生算法, 它克服了 WRR 算法对变长报文的队列不能提供精确控制的缺点。 具体 算法如下 :
     1) 为每个队列设置一个差值计数器 DC, DC 的值就是调度器每次可以发送的字节总数 ; 2) 根据队列权值的大小比例, 为每个队列设置一个 quantity 变量, 变量代表的是 分配给队列的字节发送量 ;
     3) 调度器每次访问一个非空队列, 如果队列头部的报文字节数大于 DC, 那么调度 器移动到下一个队列, 如果队列头部的报文字节数小于或者等于 DC, 那么调度器就转发该 报文并将 DC 的值减少改报文的字节数 ;
     4) 继续这个过程, 直到该队列拖布报文的字节数大于 DC 为止 ;
     5) 剩余的值累积到下次使用, 如果队列为空, 则 DC 设置为 0, 这时调度器将服务下 一个非空队列。
     由于设置了差值计数器, 虽然限制了它可以发送的字节数量, 但只会影响本队列 的性能, 而不会影响到其他队列, 实现了业务隔离。
    

一种LINUX环境下基于用户和业务的QOS系统.pdf_第1页
第1页 / 共9页
一种LINUX环境下基于用户和业务的QOS系统.pdf_第2页
第2页 / 共9页
一种LINUX环境下基于用户和业务的QOS系统.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种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。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1