主动队列管理方法及系统技术方案

技术编号:16783491 阅读:125 留言:0更新日期:2017-12-13 02:08
本发明专利技术公开了一种主动队列管理方法及系统,用以增强队列管理的控制力度,所述方法包括:统计在本次更新时间的流公平参数,获取在前次更新时间的流公平参数;基于本次更新时间流的公平参数和前次更新时间的流公平参数,采用流公平原则并结合BLUE算法,确定本次更新时间的丢包率;基于本次更新时间的丢包率,进行主动队列管理。

【技术实现步骤摘要】
主动队列管理方法及系统
本专利技术涉及计算机领域,特别是涉及一种主动队列管理方法及系统。
技术介绍
队列管理分为主动队列管理和被动队列管理两种方式,被动队列管理主要是针对设定的固定的阈值进行丢包管理,这种管理方式较为笨拙,不能根据流量的实际情况进行丢包,所以目前采用主动队列管理的方式较为普遍。主动队列管理的核心方法也比较多,常见的RED方法以及基于RED方法的改进、BLUE算法,但是这些方法在网络拥塞时控制力度低和系统的吞吐率低。
技术实现思路
由于现有的主动队列管理方法中丢包率计算方式缺乏公平性,从而导致现有技术的上述缺陷。鉴于上述发现及为了克服上述现有技术的上述缺陷,本专利技术要解决的技术问题是提供一种主动队列管理方法及系统,用以增强队列管理的控制力度。为解决上述技术问题,本专利技术中的一种主动队列管理方法,包括:统计在本次更新时间的流公平参数,所述本次更新时间的流公平参数包括在本次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量;获取在前次更新时间的流公平参数,所述前次更新时间的流公平参数包括在前次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量,以及前次更新时间的丢包率;基于本次更新时间流的公平参数和前次更新时间的流公平参数,采用流公平原则并结合BLUE算法,确定本次更新时间的丢包率;基于本次更新时间的丢包率,进行主动队列管理。作为本专利技术的主动队列管理方法的改进,所述方法还包括:基于下式确定本次更新时间的所述丢包率:式中,N为本次更新时间的TCP数据包连接的数量,last_N为前次更新时间的TCP数据包连接的数量,W为本次更新时间的平均窗口值,last_W为前次更新时间的平均窗口值,lenQ为本次更新时间的缓冲区队列的长度,last_lenQ为前次更新时间的缓冲区队列的长度,det为丢包率的变化幅度值,Pmark是前次更新时间的丢包率,为本次更新时间的丢包率。作为本专利技术的主动队列管理方法的另一种改进,所述基于本次更新时间的丢包率,进行主动队列管理的步骤,包括:在确定的本次更新时间的丢包率达到预设的丢包率阈值时,将新进入缓冲区队列的TCP数据包丢弃。作为本专利技术的主动队列管理方法的进一步改进,所述方法还包括:确定在本次更新时间所有TCP数据包占用所述缓冲区队列的长度;确定占用的所述缓冲区队列的长度和本次更新时间的缓冲区队列的长度的比值;将所述比值设置为所述丢包率阈值。作为本专利技术的主动队列管理方法的又一种改进,所述统计在所述缓冲区队列中所有TCP数据包的平均窗口值步骤,包括:在所述缓冲区队列中判断每个以太网数据包上层是否是IP数据包;在判定是IP数据包时,判断所述IP数据包上层是否为TCP数据包;在判定是TCP数据包时,读取所述TCP数据包的SYN报文的窗口值字段的值;将读取的所有所述TCP数据包的窗口值字段的值进行平均,得到平均窗口值;所述统计在所述缓冲区队列中TCP数据包连接的数量的步骤,包括:从所述缓冲区队列的协议栈流表的中读取TCP数据包连接的数量。为解决上述技术问题,本专利技术中的一种主动队列管理系统,包括:参数统计模块,用于统计在本次更新时间的流公平参数,所述本次更新时间的流公平参数包括在本次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量;参数记录模块,用于获取在前次更新时间的流公平参数,所述前次更新时间的流公平参数包括在前次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量,以及前次更新时间的丢包率;丢包率计算模块,用于基于本次更新时间流的公平参数和前次更新时间的流公平参数,采用流公平原则并结合BLUE算法,确定本次更新时间的丢包率;管理模块,用于基于本次更新时间的丢包率,进行主动队列管理。作为本专利技术的主动队列管理系统的改进,所述丢包率计算模块基于下式确定本次更新时间的所述丢包率:式中,N为本次更新时间的TCP数据包连接的数量,last_N为前次更新时间的TCP数据包连接的数量,W为本次更新时间的平均窗口值,last_W为前次更新时间的平均窗口值,lenQ为本次更新时间的缓冲区队列的长度,last_lenQ为前次更新时间的缓冲区队列的长度,det为丢包率的变化幅度值,Pmark是前次更新时间的丢包率,为本次更新时间的丢包率。作为本专利技术的主动队列管理系统的另一种改进,所述管理模块,具体用于在确定的本次更新时间的丢包率达到预设的丢包率阈值时,将在本次更新时间进入的缓冲区队列的TCP数据包丢弃。作为本专利技术的主动队列管理系统的进一步改进,所述管理模块,还用于确定在本次更新时间所有TCP数据包占用所述缓冲区队列的长度;确定占用的所述缓冲区队列的长度和本次更新时间的缓冲区队列的长度的比值;将所述比值设置为所述丢包率阈值。作为本专利技术的主动队列管理系统的又一种改进,所述参数统计模块,还用于在所述缓冲区队列中判断每个以太网数据包上层是否是IP数据包;在判定是IP数据包时,判断所述IP数据包上层是否为TCP数据包;在判定是TCP数据包时,读取所述TCP数据包的SYN报文的窗口值字段的值;将读取的所有所述TCP数据包的窗口值字段的值进行平均,得到平均窗口值;以及从所述缓冲区队列的协议栈流表的中读取TCP数据包连接的数量。本专利技术有益效果如下:本专利技术主动队列管理方法及系统通过采用流公平原则并结合BLUE算法,基于本次更新时间的流公平参数和前次更新时间的流公平参数,确定本次更新时间的丢包率,并据此进行主动队列管理,从而不仅能对拥塞流量进行有效的控制,同时也提高系统吞吐率。附图说明图1是本专利技术实施例中一种主动队列管理方法的详细流程图;图2是本专利技术实施例中一种主动队列管理方法的吞吐量变化图;图3是本专利技术实施例中主动队列管理方法的丢包率变化图;图4是本专利技术实施例中一种主动队列管理系统的结构示意图。具体实施方式为了解决现有技术的问题,本专利技术提供了一种主动队列管理方法及系统,以下结合附图以及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不限定本专利技术。本专利技术实施例中的一种主动队列管理方法,包括:S101,统计在本次更新时间的流公平参数,所述本次更新时间的流公平参数包括在本次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量;S102,获取在前次更新时间的流公平参数,所述前次更新时间的流公平参数包括在前次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量,以及前次更新时间的丢包率;S103,基于本次更新时间流的公平参数和前次更新时间的流公平参数,采用流公平原则并结合BLUE算法,确定本次更新时间的丢包率;S104,基于本次更新时间的丢包率,进行主动队列管理。在本专利技术的一个实施方式中,所述方法还包括:基于下式确定所述丢包率:式中,N为本次更新时间的TCP数据包连接的数量,last_N为前次更新时间的TCP数据包连接的数量,W为本次更新时间的平均窗口值,last_W为前次更新时间的平均窗口本文档来自技高网...
主动队列管理方法及系统

【技术保护点】
一种主动队列管理方法,其特征在于,包括:统计在本次更新时间的流公平参数,所述本次更新时间的流公平参数包括在本次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量;获取在前次更新时间的流公平参数,所述前次更新时间的流公平参数包括在前次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量,以及前次更新时间的丢包率;基于本次更新时间流的公平参数和前次更新时间的流公平参数,采用流公平原则并结合BLUE算法,确定本次更新时间的丢包率;基于本次更新时间的丢包率,进行主动队列管理。

【技术特征摘要】
1.一种主动队列管理方法,其特征在于,包括:统计在本次更新时间的流公平参数,所述本次更新时间的流公平参数包括在本次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量;获取在前次更新时间的流公平参数,所述前次更新时间的流公平参数包括在前次更新时间的缓冲区队列的长度、在所述缓冲区队列中所有TCP数据包的平均窗口值和TCP数据包连接的数量,以及前次更新时间的丢包率;基于本次更新时间流的公平参数和前次更新时间的流公平参数,采用流公平原则并结合BLUE算法,确定本次更新时间的丢包率;基于本次更新时间的丢包率,进行主动队列管理。2.如权利要求1所述的方法,其特征在于,所述方法还包括:基于下式确定本次更新时间的所述丢包率:式中,N为本次更新时间的TCP数据包连接的数量,last_N为前次更新时间的TCP数据包连接的数量,W为本次更新时间的平均窗口值,last_W为前次更新时间的平均窗口值,lenQ为本次更新时间的缓冲区队列的长度,last_lenQ为前次更新时间的缓冲区队列的长度,det为丢包率的变化幅度值,Pmark是前次更新时间的丢包率,为本次更新时间的丢包率。3.如权利要求1或2所述的方法,其特征在于,所述基于本次更新时间的丢包率,进行主动队列管理的步骤,包括:在确定的本次更新时间的丢包率达到预设的丢包率阈值时,将新进入缓冲区队列的TCP数据包丢弃。4.如权利要求3所述的方法,其特征在于,所述方法还包括:确定在本次更新时间所有TCP数据包占用所述缓冲区队列的长度;确定占用的所述缓冲区队列的长度和本次更新时间的缓冲区队列的长度的比值;将所述比值设置为所述丢包率阈值。5.如权利要求1或2所述的方法,其特征在于,所述统计在所述缓冲区队列中所有TCP数据包的平均窗口值步骤,包括:在所述缓冲区队列中判断每个以太网数据包上层是否是IP数据包;在判定是IP数据包时,判断所述IP数据包上层是否为TCP数据包;在判定是TCP数据包时,读取所述TCP数据包的SYN报文的窗口值字段的值;将读取的所有所述TCP数据包的窗口值字段的值进行平均,得到平均窗口值;所述统计在所述缓冲区队列中TCP数据包连接的数量的步骤,包括:从所述缓冲区队列的协议栈流表的...

【专利技术属性】
技术研发人员:徐晓燕李高超周渊
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

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

1