[发明专利]大用户量的QoS公平调度方法无效
申请号: | 201210064607.7 | 申请日: | 2012-03-13 |
公开(公告)号: | CN102624625A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 王东泉;刘继明;谢炜;林恩峰 | 申请(专利权)人: | 网经科技(苏州)有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 王玉国;陈忠辉 |
地址: | 215021 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用户 qos 公平 调度 方法 | ||
技术领域
本发明涉及一种大用户量的QoS公平调度方法,属于网络安全技术领域。
背景技术
随着Internet网络的越来越盛行,网络应用越来越多,网络带宽与需求的矛盾越来越突出,一方面每个上网的人员都想要无穷大的带宽和最小的延迟,另一方面网络的总带宽是有限的,而且网络处理总会带来时间延迟。目前多种操作系统,包括Unix(linux)、网络操作系统(CISCO IOS)等等,都提供了QoS实现,主要包括出入端口的流量限速和整形、出端口的队列调度,这些功能一般只能匹配若干个对象,包括IP、MAC、端口等等。
实际应用中经常有如下场景,同一个局域网内,所有用户共享100M带宽,用户总数最多可能有500个,为防止某用户使用P2P工具占用带宽,在通用QoS设备中必须下发500条规则来限制所有人的带宽占用,每个人的带宽上限为200K,而且如此配置下某个用户的带宽无法动态调整,比如当前仅有10个人在线,该用户也只能使用200K,无法使用剩余的带宽。即通用QoS设备需要下发大量的规则,会导致性能显著下降,同时又无法使用剩余的带宽。
发明内容
本发明的目的是克服现有技术存在的不足,提供一种大用户量的QoS公平调度方法,使用户享受剩余的带宽,同时下发的规则也相当少,对系统性能的影响也很小。
本发明的目的通过以下技术方案来实现:
大用户量的QoS公平调度方法 ,特点是:每个用户构造一个队列,目前用户以IP为唯一标志,用户需要发送的报文均入队列,用户队列以HASH链表方式存储;在端口发送报文时,轮循每个队列进行发送,使公平调度、分享带宽,当同时上线的用户较少时,每个用户获取大的带宽,随着上线的用户逐渐增多,每个用户获取的带宽逐渐减少;同时实现带宽上限功能,引入一个活动链表概念,链表记录当前所有可发送的用户,轮循链表发送报文,每个用户按照令牌桶算法决定是否已超过带宽上限,若超过则移出活动链表,等待一段时间后再加入活动链表等待发送。
进一步地,上述的大用户量的QoS公平调度方法,报文入队列,输入为出端口的报文,首先按照报文的IP获取对应的用户队列,如果获取不到则新建一个用户队列,将报文入队列;如果用户队列不属于活跃链表,且仅有一个本次处理的报文,则将用户队列加入到活跃链表;
报文出队列,首先获取活跃链表中的当前用户队列,同时标记当前用户队列的下一个结点,作为下一次轮循的当前用户队列;当前用户队列的队头报文为需要发送的报文,查看报文发送是否超过带宽上限,如果超过则不允许发送,计算需要延期等待的时间,如果不超过则直接发送报文。
本发明技术方案突出的实质性特点和显著的进步主要体现在:
本发明确保设定范围内的用户公平调度,平均分享带宽,获取几乎相同的时间延迟,还可以设置这些用户的上限带宽;为每个用户构造一个队列,目前用户以IP为唯一标志,该用户需要发送的报文均入此队列;用户队列以HASH链表方式存储,可以适用于相当大的规模;在端口发送报文时,轮循每个队列进行发送,达到公平调度、分享带宽的效果,当同时上线的用户较少时,每个用户可以获取大的带宽,随着上线的用户逐渐增多,每个用户获取的带宽逐渐减少;同时为实现带宽上限功能,引入一个活动链表概念,该链表记录当前所有可以发送的用户,轮循该链表发送报文,每个用户按照令牌桶算法决定是否已超过带宽上限,若超过则移出活动链表,等待一段时间后再加入活动链表等待发送;本发明可以任意设定范围内的用户,可以使用网络地址范围、MAC地址集合、部门等等,有极强的应用性;提出QoS公平调度算法,极大的改善了网络环境和网络质量,具有丰富的实用场景。
附图说明
下面结合附图对本发明技术方案作进一步说明:
图1:入队列流程示意图;
图2:出队列流程示意图。
具体实施方式
大用户量的QoS公平调度方法,为每个用户构造一个队列,目前用户以IP为唯一标志,该用户需要发送的报文均入队列;用户队列以HASH链表方式存储,当前的HASH表长度为256,适用于相当大的规模;为实现带宽上限功能,引入一个活动链表概念,该链表记录当前所有可以发送的用户,轮循该链表发送报文;在端口发送报文时,轮循活跃链表的用户队列进行发送,达到公平调度、分享带宽的效果,当同时上线的用户较少时,每个用户可获取大的带宽,随着上线的用户逐渐增多,每个用户获取的带宽逐渐减少;同时每个用户按照令牌桶算法决定是否已超过带宽上限,若超过则移出活动链表,等待一段时间后再加入活动链表等待发送。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网经科技(苏州)有限公司,未经网经科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210064607.7/2.html,转载请声明来源钻瓜专利网。