一种公平网络流量管控方法及装置制造方法及图纸

技术编号:28429479 阅读:98 留言:0更新日期:2021-05-11 18:39
本发明专利技术公开了一种公平网络流量管控方法及装置,包括:(1)当长度为l的分组到达时,流量控制器根据该分组所属的流的令牌占用量和当前全局令牌桶中的令牌数来决定是否允许该分组通过;如果该分组允许通过,则通过Count‑min Sketch将该流的令牌占用量增加l;如果允许分组通过且分组到达之前该分组所属流的令牌占用量为0,那么将该流插入到活跃流链表尾部;(2)以预设定的速度产生令牌,当令牌产生时,将全局令牌桶中的令牌数增加1,然后从活跃流链表的头部取出一条流,通过Count‑min Sketch结构将该流所占用的令牌数减少1,此时,如果该流的令牌占用量大于0,则将该流重新插入到活跃流链表的尾部。本发明专利技术能将公平地将令牌分配给各活跃流,从而使经过流量管控器的各流公平地共享带宽资源。

【技术实现步骤摘要】
一种公平网络流量管控方法及装置
本专利技术属于计算机网络
,具体涉及一种公平网络流量管控方法及装置。
技术介绍
在广域网中,互联网服务提供商常使用流量管控机制来限制用户的流量速度。最近的一项研究结果指出,由谷歌数据中心服务器发起的连接中,7%的连接被流量管控机制所限速。流量管控机制往往通过无缓存的令牌桶算法来实现。在该算法中,流量管控器以预设定的速度来产生令牌,并且将令牌放入令牌桶中。令牌桶有一定的容量,当令牌数超过令牌桶的容量时,产生的令牌会丢弃。当网络内的分组到达流量管控器时,如果分组大小不超过令牌桶内的令牌数,那么该分组允许通过流量管控器;否则,该分组将被丢弃。然而,在广域网中,这种流量管控机制会造成严重的不公平性问题。基于无缓存令牌桶算法的流量管控机制以令牌作为分配带宽资源的基本单位,按照先来先服务的方式来分配令牌。在传统广域网中,所有端系统都使用同类型的拥塞控制算法:即基于丢包的拥塞控制算法。然而,近期广域网中出现了大量的新型拥塞控制算法(如BBR)。这些新型拥塞控制算法对丢包是鲁棒的,即在检测到丢包时,不会立即降低发送速度,而是根据其它拥塞信号(如延迟)来综合地判断当前的拥塞状况。当使用新型拥塞控制算法的流和使用传统拥塞控制算法的流同时受流量管控机制的限速时,传统拥塞控制算法在分组被丢弃之后会不断减速,而新型拥塞控制算法则会迅速占据其释放的带宽。最终,绝大多数带宽为新型拥塞控制算法所占据,而传统拥塞控制算法仅能获得极少数地带宽。
技术实现思路
本专利技术提供了一种公平网络流量管控方法及装置,将带宽公平地分配给各流。为达到上述目的,本专利技术一种公平网络流量管控装置,包括流量控制器、全局令牌桶、存储器和令牌产生器;流量控制器,和全局令牌桶双向通讯连接,用于判断是否允许一个到达的分组通过;全局令牌桶用于存储当前未使用的令牌数;存储器,和流量控制器双向通讯连接,内置有Count-minSketch和活跃流链表;Count-minSketch结构用于存储每流的令牌占用量信息;活跃流链表用于维护当前活跃的流,是一个链表结构;令牌产生器,输出端和全局令牌桶的输入端连接,用于按照预设定的速度产生令牌。进一步的,全局令牌桶为计数器。进一步的,Count-minSketch结构为一种存储结构,存储结构由一个d行×w列的二维数组构成,数组中的每个元素均为一个计数器;每行都有一个对应的哈希函数,共有d个相互独立的哈希函数,哈希函数用于将流的五元组信息映射到{0,1,…,w-1},Count-minSketch结构支持更新和查询流的令牌占用量。一种公平网络流量管控方法,以预设定的速度产生令牌,当令牌产生时,将全局令牌桶中的令牌数增加1,然后从活跃流链表的头部取出一条流,通过Count-minSketch结构将该流的令牌占用量减少1;此时,如果该流的令牌占用量大于0,则将该流重新插入到活跃流链表的尾部;当长度为l的分组到达时,流量控制器根据该分组所属的流的令牌占用量和当前全局令牌桶中的令牌数来决定是否允许该分组通过;如果该分组允许通过,则通过Count-minSketch将该流的令牌占用量增加l;如果允许分组通过且分组到达之前该分组所属流的令牌占用量为0,则将该流插入到活跃流链表尾部。进一步的,令牌发生器按照预设定的速度产生令牌,每当产生一个令牌时,执行以下步骤:S1:将令牌桶中的令牌数增加1;S2:在活跃流链表的头部取出一个表项,并且提取出五元组信息;S3:根据S2提取出的五元组信息,将Count-minSketch中当前流的令牌占用量减少1;S4:根据S2提取出的五元组信息,查询Count-minSketch中当前流的令牌占用量,用o(i)来表示;S5:如果o(i)>0,则将S2所取出的表项插入至活跃流链表的尾部;否则不进行任何操作。进一步的,当长度为l的分组到达时,执行以下步骤:步骤1:当分组到达交换机时,流量控制器解析分组,获得分组的五元组信息,并且记录分组长度l;步骤2:流量控制器根据步骤1获得的五元组信息,通过查询Count-minSketch获得当前流的令牌占用量,用o(i)来表示;步骤3:流量控制器查询全局令牌桶中的令牌数k;步骤4:当o(i)≥k或者l>k时,将分组丢弃;否则,将分组发送出去;步骤5:将令牌桶中的令牌数减少l;步骤6:通过步骤1获取的五元组和长度信息,将Count-minSketch中当前流的令牌占用量o(i)增加l;步骤7:若o(i)为0,则将该分组的五元组信息封装为一个表项,插入到活跃流链表的尾部;如果o(i)不为0,不进行任何操作。进一步的,S4和步骤2中,查询Count-minSketch获得当前流的令牌占用量,包括以下步骤:步骤1:利用d个哈希函数将f映射到分别位于d行中的d个计数器,d为Count-minSketch结构的行数;步骤2:返回d个计数器中的最小值。进一步的,步骤6中,更新流的令牌占用量包括以下步骤:步骤1:利用d个哈希函数将f映射到分别位于d行中的d个计数器;步骤2:令所有定位到的计数器的值更新c,若c>0,则分别将d个计数器的值增加c;若c<0,则分别将d个计数器的值减-c,c=l。进一步的,步骤1中,流的五元组信息为源IP地址、目的IP地址、源端口号、目的端口号、协议号;其中,源IP地址、目的IP地址和协议号从分组的IP包头中获得;对于TCP或UDP报文,源端口号和目的端口号从分组的TCP或者UDP包头中获得,对于其它报文,源端口号和目的端口号为0。与现有技术相比,本专利技术至少具有以下有益的技术效果:本专利技术所述的装置,本专利技术以令牌作为带宽分配的基本单位,使用Count-minSketch结构来存储每流的令牌占用量,以固定速率产生令牌,产生的令牌使用轮询的方式分配给处于活跃状态的流,使得处于活跃状态的流总能分配到令牌,从而将带宽公平地分配给处于活跃状态的流。无论其它流的流量大小如何变化,本专利技术所述的方法总给处于活跃状态的流预留一定的令牌,因此,本专利技术能避免恶意竞争流量将带宽占满,使其它正常流量无法获取到带宽的“挤死现象”。本专利技术通过令牌来分配带宽,分组到达流量管控器时仅会执行发送和丢弃两种动作,不会将分组缓存在流量管控器中排队等待发送,能够降低经过流量管控器的分组的排队时延,从而在整体上降低短流的传输时间。本专利技术的各个操作步骤均为基本的硬件操作,所需的资源开销小,故易于在硬件中实现。附图说明图1为一种公平网络流量管控装置的结构图;图2为分组到达时的该装置的流程示意图;图3为产生一个令牌时该装置的流程示意图;图4为一种公平网络流量管控装置的部件连接关系图;图5为不同类型流的吞吐量随着时间的变化过程图;图6所示为客户端网页加本文档来自技高网...

【技术保护点】
1.一种公平网络流量管控装置,其特征在于,包括流量控制器、全局令牌桶、存储器和令牌产生器;/n所述流量控制器,和全局令牌桶双向通讯连接,用于判断是否允许一个到达的分组通过;/n所述全局令牌桶用于存储当前未使用的令牌数;/n所述存储器,和流量控制器双向通讯连接,内置有Count-min Sketch和活跃流链表;所述Count-min Sketch结构用于存储每流的令牌占用量信息;所述活跃流链表用于维护当前活跃的流,是一个链表结构;/n所述令牌产生器,输出端和全局令牌桶的输入端连接,用于按照预设定的速度产生令牌。/n

【技术特征摘要】
1.一种公平网络流量管控装置,其特征在于,包括流量控制器、全局令牌桶、存储器和令牌产生器;
所述流量控制器,和全局令牌桶双向通讯连接,用于判断是否允许一个到达的分组通过;
所述全局令牌桶用于存储当前未使用的令牌数;
所述存储器,和流量控制器双向通讯连接,内置有Count-minSketch和活跃流链表;所述Count-minSketch结构用于存储每流的令牌占用量信息;所述活跃流链表用于维护当前活跃的流,是一个链表结构;
所述令牌产生器,输出端和全局令牌桶的输入端连接,用于按照预设定的速度产生令牌。


2.根据权利要求1所述的一种公平网络流量管控装置,其特征在于,所述全局令牌桶为计数器。


3.根据权利要求1所述的一种公平网络流量管控装置,其特征在于,所述Count-minSketch结构为一种存储结构,所述存储结构由一个d行×w列的二维数组构成,数组中的每个元素均为一个计数器;每行都有一个对应的哈希函数,共有d个相互独立的哈希函数,所述哈希函数用于将流的五元组信息映射到{0,1,...,w-1},Count-minSketch结构支持更新和查询流的令牌占用量。


4.一种公平网络流量管控方法,其特征在于,
以预设定的速度产生令牌,当令牌产生时,将全局令牌桶中的令牌数增加1,然后从活跃流链表的头部取出一条流,通过Count-minSketch结构将该流的令牌占用量减少1;此时,如果该流的令牌占用量大于0,则将该流重新插入到活跃流链表的尾部;
当长度为l的分组到达时,流量控制器根据该分组所属的流的令牌占用量和当前全局令牌桶中的令牌数来决定是否允许该分组通过;如果该分组允许通过,则通过Count-minSketch将该流的令牌占用量增加l;如果允许分组通过且分组到达之前该分组所属流的令牌占用量为0,则将该流插入到活跃流链表尾部。


5.根据权利要求4所述的一种公平网络流量管控方法,其特征在于,令牌发生器按照预设定的速度产生令牌,每当产生一个令牌时,执行以下步骤:
S1:将令牌桶中的令牌数增加1;
S2:在活跃流链表的头部取出一个表项,并且提取出五元组信息;
S3:根据S2提取出的五元组信息,将Count-minSketch中当前流的令牌占用量减少1;

【专利技术属性】
技术研发人员:单丹枫张鹏李昊
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1