N次弃头的被动队列管理的方法

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

发明内容
本发明的目的就是采用N次弃头的被动队列管理的方法,避免全局同步和死锁, 提高网络资源的利用率。在网络发生拥塞,瓶颈节点队列满时,丢弃瓶颈节点队列头部N个 数据包,。如果N小于2,则N设为2。该方法简单,不会增加瓶颈节点的计算量。由于是在 瓶颈节点队列满时才丢弃数据包,所以是一种被动式队列管理的方法。为了实现上述目的,本发明采用的技术方案是当瓶颈节点队列满时,从瓶颈节点队列头部丢弃N个数据包,N为瓶颈节点连接的 发送端数目的一半,N至少为2。采用丢包N次(N >2)的主要是因为(1)瓶颈节点队列 满时,说明拥塞比较严重,因此只丢弃1个数据包是不够的,如果同时丢弃多个数据包,就 能尽快地让更多的发送端检测到网络拥塞而减少发送速度,来减轻拥塞状况;( 网络拥 塞时弃尾队列管理丢弃后来的所有数据包而导致“全局同步”,本发明方法丢弃中间节点连 接的发送端数目的一半的数据包,让近一半的发送端检测到拥塞而降低发送速度,避免“全 局同步”,不至于瓶颈节点队列长度降为0,导致传输效率下降;C3)从队列头部丢弃数据包 能尽早地通知发送端网络已经拥塞。瓶颈节点具体操作步骤如下Q表示瓶颈节点队列的最大长度,q表示当前瓶颈节点队列长度,N为中间节点所 连接的发送端数目的一半,如果N为小数,则取整;如果N < 2,则N = 2。(1)瓶颈节点根据连接的发送端数目M,计算N = M/2 ;(2) N 取整;(3)判断是否N≥2 ;如果是则到第(5)步,如果不是则到第⑷步;(4) N = 2 ;(5)判断是否有新的数据包要进入瓶颈节点队列,如果否则还是在第(5)步,如果 是则到第(6)步;
(6)判断是否q彡Q-I,如果是则到第(7)步,如果否则到第(8)步;(7)丢弃瓶颈节点队列头部N个数据包;(8)新的数据包进入到瓶颈节点队列,然后转到第(5)步。本发明方法能避免全局同步和死锁,改善网络传输的公平性,提高网络资源的利 用率。该方法简单,适合在现有的hternet上使用。


图1是本发明方法的流程图;图2是本发明方法进行测试的网络拓扑;图3是本发明方法与其它队列管理比对结果。
具体实施例方式下面结合附图对本发明作进一步详细说明。本发明中Q表示队列的最大长度,q表示当前瓶颈节点队列长度,N为中间节点所 连接的发送端数目的一半,如果N为小数,则取整;如果N < 2,则N = 2。瓶颈节点对新数 据包的处理方法如图1所示,(1)瓶颈节点根据连接的发送端数目M,计算N,N = M/2 ;(2) N 取整;(3)判断是否N彡2 ;如果是则到第(5)步,如果不是则到第⑷步;(4) N = 2 ;(5)判断是否有新的数据包要进入瓶颈节点队列,如果否则还是在第(5)步,如果 是则到第(6)步;(6)判断是否q彡Q-1,如果是则到第(7)步,如果否则到第(8)步;(7)丢弃瓶颈节点队列头部N个数据包;(8)新的数据包进入到瓶颈节点队列,然后转到第(5)步。图2是本发明方法的测试网络环境,RO为瓶颈节点,瓶颈链路位于节点RO和节点 之间,链路容量12Mbps,延时15ms,分别采用不同的队列管理,缓存大小为30packetS ;节点&均 为持久性FTP业务源,他们与节点RO之间的链路容量均为20Mbps,延时15ms,向目标节点Di发 送数据;节点Di与节点Rl之间的链路容量均为20Mbps,延时15ms ;数据包均为1040Byte (包括 40Byte包头)。接收端Di的窗口设置足够大,使得TCP发送仅受拥塞窗口 Cwnd控制。图3是本发明方法图1实施例与弃尾被动队列管理、RED主动队列管理、1次弃头 被动队列管理方法在图2网络环境下进行比对,设置发送节点S的个数分别为2、4、6、8、10、 12,接收节点D的个数与发送节点相同,统计80s内瓶颈链路RO到Rl传输的有效包个数。 本发明方法的效率要高于弃尾被动队列管理、RED主动队列管理和1次弃头被动队列管理, 发送节点S的个数为2、4、6、8、10、12时,N的取值分别为2、2、3、4、5、6。特别是在6个发送 节点时,本发明的方法传输有效数据包比弃尾被动队列管理、RED主动队列管理、1次弃头 被动队列管理分别高出10. 2%U6. 1%,5. 2%。本发明方法能有效提高网络的传输效率。本实施例并非构成对本发明的限制,本领域技术人员在通过阅读本实施例后做出 的等同变换,也属于本发明的保护范围。
权利要求
1. 一种N次弃头的被动队列管理的方法,在网络发生拥塞,瓶颈节点队列满时,丢弃瓶 颈节点队列头部N个数据包,如果N小于2,则N设为2 ;其特征是,对于瓶颈节点具体操作 步骤如下Q表示瓶颈节点队列的最大长度,q表示当前瓶颈节点队列长度,N为中间节点所连接 的发送端数目的一半,如果N为小数,则取整;(1)瓶颈节点根据连接的发送端数目M,计算N= M/2 ;(2)N取整;(3)判断是SN> 2 ;如果是则到第(5)步,如果不是则到第(4)步;(4)N = 2 ;(5)判断是否有新的数据包要进入瓶颈节点队列,如果否则还是在第(5)步,如果是则 到第(6)步;(6)判断是否q^ Q-1,如果是则到第(7)步,如果否则到第⑶步;(7)丢弃瓶颈节点队列头部N个数据包;(8)新的数据包进入到瓶颈节点队列,然后转到第( 步。
全文摘要
本发明公开了一种N次弃头的被动队列管理的方法,在网络发生拥塞,瓶颈节点队列满时,丢弃瓶颈节点队列头部N个数据包。如果N小于2,则N设为2。本发明方法简单,不会增加瓶颈节点的计算量,避免全局同步和死锁,提高网络资源的利用率。
文档编号H04L12/56GK102082735SQ20111005391
公开日2011年6月1日 申请日期2011年3月7日 优先权日2011年3月7日
发明者姜文刚, 孙金生, 尚婕, 王执铨 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1