[发明专利]主动队列管理方法和设备有效
| 申请号: | 201310010306.0 | 申请日: | 2013-01-11 |
| 公开(公告)号: | CN103929372B | 公开(公告)日: | 2017-10-10 |
| 发明(设计)人: | 胡农达;包雯韬 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
| 主分类号: | H04L12/863 | 分类号: | H04L12/863 |
| 代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 马爽 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 主动 队列 管理 方法 设备 | ||
技术领域
本发明涉及通信技术,尤其涉及一种主动队列管理方法和设备。
背景技术
在网络中,由于总会存在数据输入速率大于数据输出速率的情况,比如多个端口向一个端口转发数据,所以无论多快的网络,拥塞都可能存在。拥塞影响数据的有效传输,对网络性能有不良影响。
目前主要有两类方法可以实现网络拥塞管理。一类是在源节点调整数据发送速率来控制拥塞;比如,传输控制协议(Transmit Control Protocol,TCP)拥塞控制机制就是一种源节点根据数据包丢失的情况控制数据发送速率来实现拥塞控制的方法。另一类是在数据的传输路径上对拥塞进行管理,主要是通过检测拥塞并以某种方式丢弃或标记数据包实现拥塞控制;丢弃或标记数据包可以将网络拥塞信息隐式或显式地传递到源节点,进而影响源节点的数据发送速率,所以也能实现拥塞控制。对于后一类方法,又可进一步分为两类。一类是被动的队列管理策略,以尾部丢包策略为代表。尾部丢包策略仅当队列满的时候才丢弃数据包。在这种策略下,队列平均长度大,通过队列的数据包会经历较长的排队时间,因此端到端延迟高,此外,当队列满时,需要进入队列的数据流会发生大量连续丢包。对于TCP流,这会引起超时重传,进而导致低吞吐率和全局同步问题。另一类是主动队列管理策略,以随机早期侦测(Random Early Detection,RED)()策略为代表。RED的基本思想是,在队列满之前,根据网络拥塞状况以一定概率丢包。RED的问题是实现复杂度高,并且丢包时不区分流。
发明内容
有鉴于此,本发明实施例提供了一种主动队列管理方法和设备,用以解决现有技术中存在的复杂度高、不区分流的问题。
第一方面,提供了一种主动队列管理方法,包括:
确定接收的数据包属于的流;
根据预设的队列阈值和预设的队列容量,确定所述数据包到达时的当前队列长度所在的阈值区间;
根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理,包括:
当所述阈值区间是所述当前队列长度小于最小的队列阈值时,将所述数据包放入队列,并将所述数据包属于的流的包计数加1;或者,
当所述阈值区间是所述当前队列长度大于或等于最小的队列阈值,且小于队列容量时,根据预设的阈值区间与丢包间隔的对应关系,确定所述当前队列长度对应的丢包间隔,根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理;或者,
当所述阈值区间是所述当前队列长度等于所述队列容量,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述当前队列长度对应的丢包间隔和所述数据包属于的流的当前包计数,对所述数据包以及所述数据包属于的流的包计数进行处理,包括:
判断所述当前包计数是否小于所述当前队列长度对应的丢包间隔;
当所述当前包计数小于所述当前队列长度对应的丢包间隔时,将所述数据包放入队列,并将所述数据包所属的流的包计数加1;或者,
当所述当前包计数大于或等于所述当前队列长度对应的丢包间隔时,丢弃所述数据包,并将所述数据包所属的流的包计数置为0。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述预设的阈值区间与丢包间隔的对应关系表明:所述当前队列长度的值越大,则所述丢包间隔越小。
结合第一方面或第一方面的第一种至第三种任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述确定所述数据包属于的流,包括:
对所述数据包的包头信息进行哈希计算,得到哈希值,将得到的哈希值确定为所述数据包所属的流的流号。
第二方面,提供了一种主动队列管理设备,包括:
计算模块,用于确定接收的数据包属于的流;
定位模块,用于根据预设的队列阈值和预设的队列容量,确定所述数据包到达时的当前队列长度所在的阈值区间;
动作模块,用于根据所述阈值区间,对所述数据包以及所述数据包属于的流的包计数进行处理。
结合第二方面,在第二方面的第一种可能的实现方式中,所述动作模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310010306.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电机保护器及其编程和操作方法
- 下一篇:一种用于铁路线路监测的巡线机器人





