主动队列管理方法和设备技术

技术编号:10226471 阅读:145 留言:0更新日期:2014-07-17 19:11
本发明专利技术提供一种主动队列管理方法和设备。该方法包括接收数据包;确定所述数据包属于的流,以及确定所述数据包到达时的当前队列长度;根据所述当前队列长度以及预设的队列阈值和预设的队列容量,对所述数据包以及所述数据包属于的流的包计数进行处理。本发明专利技术实施例可以实现基于流的主动队列管理,并且实现复杂度低。

【技术实现步骤摘要】
主动队列管理方法和设备
本专利技术涉及通信技术,尤其涉及一种主动队列管理方法和设备。
技术介绍
在网络中,由于总会存在数据输入速率大于数据输出速率的情况,比如多个端口向一个端口转发数据,所以无论多快的网络,拥塞都可能存在。拥塞影响数据的有效传输,对网络性能有不良影响。目前主要有两类方法可以实现网络拥塞管理。一类是在源节点调整数据发送速率来控制拥塞;比如,传输控制协议(TransmitControlProtocol,TCP)拥塞控制机制就是一种源节点根据数据包丢失的情况控制数据发送速率来实现拥塞控制的方法。另一类是在数据的传输路径上对拥塞进行管理,主要是通过检测拥塞并以某种方式丢弃或标记数据包实现拥塞控制;丢弃或标记数据包可以将网络拥塞信息隐式或显式地传递到源节点,进而影响源节点的数据发送速率,所以也能实现拥塞控制。对于后一类方法,又可进一步分为两类。一类是被动的队列管理策略,以尾部丢包策略为代表。尾部丢包策略仅当队列满的时候才丢弃数据包。在这种策略下,队列平均长度大,通过队列的数据包会经历较长的排队时间,因此端到端延迟高,此外,当队列满时,需要进入队列的数据流会发生大量连续丢包。对于TCP流,这会引起超时重传,进而导致低吞吐率和全局同步问题。另一类是主动队列管理策略,以随机早期侦测(RandomEarlyDetection,RED)()策略为代表。RED的基本思想是,在队列满之前,根据网络拥塞状况以一定概率丢包。RED的问题是实现复杂度高,并且丢包时不区分流。
技术实现思路
有鉴于此,本专利技术实施例提供了一种主动队列管理方法和设备,用以解决现有技术中存在的复杂度高、不区分流的问题。第一方面,提供了一种主动队列管理方法,包括:确定接收的数据包属于的流;根据预设的队列阈值和预设的队列容量,确定所述数据包到达时的当前队列长度所在的阈值区间;根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理。结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理,包括:当所述阈值区间是所述当前队列长度小于最小的队列阈值时,将所述数据包放入队列,并将所述数据包属于的流的包计数加1;或者,当所述阈值区间是所述当前队列长度大于或等于最小的队列阈值,且小于队列容量时,根据预设的阈值区间与丢包间隔的对应关系,确定所述当前队列长度对应的丢包间隔,根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理;或者,当所述阈值区间是所述当前队列长度等于所述队列容量,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理,包括:判断所述当前包计数是否小于所述当前队列长度对应的丢包间隔;当所述当前包计数小于所述当前队列长度对应的丢包间隔时,将所述数据包放入队列,并将所述数据包所属的流的包计数加1;或者,当所述当前包计数大于或等于所述当前队列长度对应的丢包间隔时,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述预设的阈值区间与丢包间隔的对应关系表明:所述当前队列长度的值越大,则所述丢包间隔越小。结合第一方面或第一方面的第一种至第三种任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述确定所述数据包属于的流,包括:对所述数据包的包头信息进行哈希计算,得到哈希值,将得到的哈希值确定为所述数据包所属的流的流号。第二方面,提供了一种主动队列管理设备,包括:计算模块,用于确定接收的数据包属于的流;定位模块,用于根据预设的队列阈值和预设的队列容量,确定所述数据包到达时的当前队列长度所在的阈值区间;动作模块,用于根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理。结合第二方面,在第二方面的第一种可能的实现方式中,所述动作模块包括:第一处理单元,用于当所述阈值区间是所述当前队列长度小于最小的队列阈值时,将所述数据包放入队列,并将所述数据包属于的流的包计数加1;或者,第二处理单元,用于当所述阈值区间是所述当前队列长度大于或等于最小的队列阈值,且小于队列容量时,根据预设的阈值区间与丢包间隔的对应关系,确定所述当前队列长度对应的丢包间隔,根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理;或者,第三处理单元,用于当所述阈值区间是所述当前队列长度等于所述队列容量,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二处理单元包括:判断子单元,用于判断所述当前包计数是否小于所述当前队列长度对应的丢包间隔;更新子单元,用于当所述当前包计数小于所述当前队列长度对应的丢包间隔时,将所述数据包所属的流的包计数加1;或者,当所述当前包计数大于或等于所述当前队列长度对应的丢包间隔时,将所述数据包所属的流的包计数置为0;包操作子单元,用于当所述当前包计数小于所述当前队列长度对应的丢包间隔时,将所述数据包放入队列;或者,当所述当前包计数大于或等于所述当前队列长度对应的丢包间隔时,丢弃所述数据包。结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二处理单元采用的所述预设的阈值区间与丢包间隔的对应关系表明:所述当前队列长度的值越大,则所述丢包间隔越小。结合第二方面或第二方面的第一种至第三种任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述确定模块具体用于:对所述数据包的包头信息进行哈希计算,得到哈希值,将得到的哈希值确定为所述数据包所属的流的流号;以及,确定所述数据包到达时的当前队列长度。通过上述技术方案,本专利技术实施例在进行队列管理时,会确定数据包属于的流,会对该流的包进行针对性的处理,因此可以实现基于流的有区别地处理;在处理时可以根据预设的参数进行处理,相对于现有技术参数难以确定以及处理复杂的问题,可以降低处理复杂度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种主动队列管理方法的流程示意图;图2为本专利技术实施例提供的另一种主动队列管理方法的流程示意图;图3为本专利技术实施例提供的一种主动队列管理设备的结构示意图;图4为本专利技术实施例提供的另一种主动队列管理设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有本文档来自技高网...
主动队列管理方法和设备

【技术保护点】
一种主动队列管理方法,其特征在于,包括:确定接收的数据包属于的流;根据预设的队列阈值和预设的队列容量,确定所述数据包到达时的当前队列长度所在的阈值区间;根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理。

【技术特征摘要】
1.一种主动队列管理方法,其特征在于,包括:确定接收的数据包属于的流;根据预设的队列阈值和预设的队列容量,确定所述数据包到达时的当前队列长度所在的阈值区间;根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理;所述根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理,包括:当所述阈值区间是所述当前队列长度小于最小的队列阈值时,将所述数据包放入队列,并将所述数据包属于的流的包计数加1;或者,当所述阈值区间是所述当前队列长度大于或等于最小的队列阈值,且小于队列容量时,根据预设的阈值区间与丢包间隔的对应关系,确定所述当前队列长度对应的丢包间隔,根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理;或者,当所述阈值区间是所述当前队列长度等于所述队列容量,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。2.根据权利要求1所述的方法,其特征在于,所述根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理,包括:判断所述当前包计数是否小于所述当前队列长度对应的丢包间隔;当所述当前包计数小于所述当前队列长度对应的丢包间隔时,将所述数据包放入队列,并将所述数据包所属的流的包计数加1;或者,当所述当前包计数大于或等于所述当前队列长度对应的丢包间隔时,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。3.根据权利要求1所述的方法,其特征在于,所述预设的阈值区间与丢包间隔的对应关系表明:所述当前队列长度的值越大,则所述丢包间隔越小。4.根据权利要求1-3任一项所述的方法,其特征在于,所述确定接收的数据包属于的流,包括:对所述数据包的包头信息进行哈希计算,得到哈希值,将得到的哈希值确定为所述数据包所属的流的流号。5.一种主动队列管理设备,其特征在于,包括:计算模块,用于确定接收的数...

【专利技术属性】
技术研发人员:胡农达包雯韬
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1