随机和弃头结合的被动队列管理的方法

文档序号:7600230阅读:167来源:国知局
专利名称:随机和弃头结合的被动队列管理的方法
技术领域
本发明涉及数据通信领域,尤其涉及随机和弃头结合的被动队列管理的方法。
背景技术
TCP通过“慢启动”、“拥塞避免”、“快速重传”、“快速恢复” 4个算法设置不同 的参数来实现不同TCP拥塞控制,就是和式增加积式减少(AIMD,additive increase multiplicative decrease),TCP根据拥塞窗口来调整发送速度。瓶颈节点中最常用的队列 管理策略是“弃尾”(Drop Tail),即随着缓冲区的溢出而丢包,是一种被动队列管理机制。 “弃尾”的缺陷包括数据流的全局同步,死锁及持续队满造成的突发数据流被扼杀等。主动 队列管理虽然可以有效地解决“全局同步”问题,但存在参数设置敏感,响应相对滞后于实 际网络状况的缺陷,其算法比较复杂。在实际使用中,复杂的算法给网络设备带来很大的开 销,中间节点的性能下降,反而加重了网络拥塞,所以目前各种主动队列管理算法并没有在 网络上大量使用。

发明内容
本发明的目的就是采用随机和弃头结合的被动队列管理的方法,网络发生拥塞, 瓶颈节点队列满时,先从瓶颈节点队列头部丢弃一个数据包,然后再在队列中随机丢弃一 个数据包,能有效改善公平性,消除全局同步和死锁,提高网络传输性能,并且算法计算量 小。由于是在瓶颈节点队列满时才丢弃数据包,所以是一种被动式队列管理的方法。为了实现上述目的,本发明采用的技术方案是当瓶颈节点队列满时,先从瓶颈节点队列头部丢弃一个数据包,然后再计算一个1 到当前队列长度减1的随机数,再丢弃位于该随机数的数据包。采用随机和弃头结合丢包 主要是因为(1)瓶颈节点队列满时,说明拥塞比较严重,因此只丢弃1个数据包是不够的, 如果同时丢弃2个数据包,就能尽快地让更多的发送端检测到网络拥塞而减少发送速度, 来减轻拥塞状况;(2)弃头方式比其它数据包丢弃方式而言,能尽快地通知发送端网络已 经拥塞;(3)同时采用随机丢包时,如果一个TCP链接在队列中的数据包个数为η个,队列 最大长度为Q个数据包,则该TCP链接被丢包的概率为n/Q,对占据队列较多的TCP链接有 更好的惩罚作用,改善公平性。瓶颈节点具体操作步骤如下Q表示瓶颈节点队列的最大长度,q表示当前瓶颈节点队列长度。(1)判断是否有新的数据包要进入瓶颈节点队列,如果否则还是在第(6)步,如果 是则到第(2)步;(2)判断是否q≥Q-1,如果是则到第(3)步,如果否则到第(7)步;(3)丢弃队列最前面的一个数据包;(4)调用随机函数计算得到[1,q-2]之间的随机数;(5)丢弃位于步骤(4)计算得到的随机数位置的数据包;(6)新数据包进入瓶颈节点队列,然后再到第⑴步。
本发明方法能避免全局同步和死锁,改善网络传输的公平性,提高网络资源的利 用率。该方法简单,适合在现有的hternet上使用。


图1是本发明方法的流程图;图2是本发明方法进行测试的网络拓扑;
具体实施例方式下面结合附图对本发明作进一步详细说明。本发明中Q表示瓶颈节点队列的最大长度,q表示当前瓶颈节点队列长度。(1)判断是否有新的数据包要进入瓶颈节点队列,如果否则还是在第(6)步,如果 是则到第(2)步;(2)判断是否q彡Q-I,如果是则到第(3)步,如果否则到第(7)步;(3)丢弃队列最前面的一个数据包;(4)调用随机函数计算得到[1,q-2]之间的随机数;(5)丢弃位于步骤⑷计算得到的随机数位置的数据包;(6)新数据包进入频率节点队列,然后再到第⑴步。图2是本发明方法的测试网络环境,RO为瓶颈节点,瓶颈链路位于节点RO和节点 Rl之间,链路容量12Mbps,延时15ms,分别采用不同的队列管理,缓存大小为30packetS ;节 点Si均为持久性FTP业务源,他们与节点RO之间的链路容量均为20Mbps,延时15ms,向目 标节点Di发送数据;节点Di与节点Rl之间的链路容量均为20Mbps,延时15ms ;数据包均 为1040Byte (包括40Byte包头)。接收端Di的窗口设置足够大,使得TCP发送仅受拥塞窗 口 Cwnd控制。表1是本发明方法图1实施例与弃尾被动队列管理、RED主动队列管理、单独弃头 被动队列管理、单独随机丢包被动队列管理方法在图2网络环境下进行比对,设置发送节 点S的个数分别为2、4、6、8、10,接收节点D的个数与发送节点相同,统计80s内瓶颈链路 RO到Rl传输的有效包个数。本发明方法的效率要高于弃尾被动队列管理、RED主动队列 管理、单独弃头被动队列管理、单独随机丢包被动队列管理。特别是在2个发送节点时,本 发明的方法传输有效数据包比弃尾被动队列管理、RED主动队列管理、单独弃头被动队列管 理、单独随机丢包被动队列管理分别高出8^^15.4^3.8^^6.3 ^本发明方法能有效提 高网络的传输效率。表 权利要求
1. 一种随机和弃头结合的被动队列管理的方法,在网络发生拥塞,瓶颈节点队列满时, 先从瓶颈节点队列头部丢弃一个数据包,然后再在队列中随机丢弃一个数据包,其特征是, 对于瓶颈节点具体操作步骤如下Q表示瓶颈节点队列的最大长度,q表示当前瓶颈节点队列长度;(1)判断是否有新的数据包要进入瓶颈节点队列,如果否则还是在第(6)步,如果是则 到第⑵步;(2)判断是否q^ Q-1,如果是则到第(3)步,如果否则到第(7)步;(3)丢弃队列最前面的一个数据包;(4)调用随机函数计算得到[1,q-2]之间的随机数;(5)丢弃位于步骤(4)计算得到的随机数位置的数据包;(6)新数据包进入瓶颈节点队列,然后再到第(1)步。
全文摘要
本发明公开了一种随机和弃头结合的被动队列管理的方法,网络发生拥塞,瓶颈节点队列满时,先从瓶颈节点队列头部丢弃一个数据包,然后再在队列中随机丢弃一个数据包,能有效改善公平性,消除全局同步和死锁,提高网络传输性能,并且该方法计算量小。
文档编号H04L12/56GK102088414SQ201110052820
公开日2011年6月8日 申请日期2011年3月7日 优先权日2011年3月7日
发明者姜文刚, 孙金生, 尚婕, 王执铨 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1