基于随机回退的TCP拥塞窗口的控制方法技术

技术编号:4108657 阅读:287 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于随机回退的TCP拥塞窗口的控制方法,其特征是在瓶颈节点拥塞时,每个TCP各自计算一个[0,1]范围内的随机数,然后每个TCP按照各自计算的随机数减少自己的拥塞窗口;在拥塞避免阶段,每个TCP各自计算一个[0,1]范围内的随机数,然后每个TCP按照各自计算的随机数增加自己的拥塞窗口。本发明专利技术通过随机调整TCP拥塞窗口,不需要TCP发送端的进行复杂的计算和带宽预测,减缓了TCP全局同步,提高了网络带宽的传输效率,适合在现有的Internet上使用。

【技术实现步骤摘要】

本专利技术涉及数据通信领域,尤其涉及TCP (Transmission Control Protocol,传输 控制协议)拥塞窗口随机回退的控制方法。
技术介绍
TCP通过“慢启动”、“拥塞避免”、“快速重传”、“快速恢复”4个算法设置不同 的参数来实现不同TCP拥塞控制,就是和式增加积式减少(AIMD,additive increase multiplicative decrease),TCP根据拥塞窗口来调整发送速度。瓶颈节点中最常用的队列 管理策略是“弃尾”(Drop Tail),即随着缓冲区的溢出而丢包,是一种被动队列管理机制。 “弃尾”的缺陷包括数据流的全局同步,缓冲区队列长度振荡以及持续队满造成的延迟较大 等。当一个基于TCP协议的发送端检测到连续三个重复应答(ACK)或包的重传计时器超时, 都进行重传,然后发送端减小发送窗口,进入慢启动或拥塞避免等拥塞控制阶段。这会立刻 降低发送端的发送速率,以便减轻路由器拥塞。此后,发送端会逐渐将发送窗口恢复至拥塞 发生前的大小。当多个相同控制方法的TCP都产生丢包时,它们都要减少自身发送速率,由 于相同算法的TCP都按相同的系数减少发送速率,会造成路由器从拥塞状态进入低利用率 状态,当探测到路由器空闲时,各发送端又增大发送速率,路由器又进入拥塞状态,如此往 复,产生了“全局同步”问题。“全局同步”导致链路带宽的利用率下降,造成网络资源浪费。
技术实现思路
本专利技术的目的所要解决的问题就是为在网络发生拥塞时,TCP能按随机数调整拥 塞窗口,缓和全局同步,提高网络资源的利用率,提出一种基于随机回退的TCP拥塞窗口的 控制方法。为了实现上述目的,本专利技术采用的技术方案是本专利技术只改变TCP拥塞控制过程中“快速重传”阶段的拥塞窗口减小机制和“拥塞 避免”时的拥塞窗口增加机制,其余部分不涉及。当瓶颈节点拥塞时,每个TCP各自计算一个W,l]范围内的随机数,然后每个TCP 按照各自计算的随机数减少自己的拥塞窗口,这样有的TCP拥塞窗口减少的多,而有的TCP 拥塞窗口减少的少,每个TCP的发送速度减少不一致,避免瓶颈节点的发送速度减少过多 而导致效率下降;在拥塞避免阶段,每个TCP各自计算一个W,1]范围内的随机数,然后每 个TCP按照各自计算的随机数增加自己的拥塞窗口,有的TCP拥塞窗口增加的多,而有的 TCP拥塞窗口增加的少,这样每个TCP的发送速度增加不一致,这样防止发送速度过快地增 长,有效延迟下次拥塞发生的时间和平缓拥塞窗口的波动。对于每一个运行的TCP来说,具体包括如下步骤(1)按照当前拥塞窗口发送数据;(2)收到应答信号,判断是否新数据包应答,如果是则到第(3)步,如果否则到第 (6)步;(3)判断数据是否发送完,如果是到第(9)步,如果否到第⑷步;(4)判断TCP当前拥塞窗口是否大于等于慢启动阈值,也就是判断是否在拥塞避 免阶段,如果是则到第(5)步,如果否则到第(8);(5)则将其拥塞窗口的增加量设置为R(e, f)*l/Cwnd, R(e, f)表示为e到f之间 的随机数,其中0彡e彡f彡1,Cwnd为当前的拥塞窗口,然后到第(1)步;(6)则判断是否第3个非新数据包应答,也就是判断是否第3个重复应答,如果是 则到第(7)步,如果否则到第⑶步;(7)则其将其拥塞窗口的减少量设置为R(c,d)*Cwnd,Cwnd表示当前拥塞窗口, R(c,d)表示为c到d之间的随机数,其中0彡c彡d彡1,然后到第(1)步;(8) TCP其它过程处理,不在本专利技术范围内,然后到第(1)步;(9)该次发送结束。TCP如果都按同样的量减少或增加拥塞窗口,必然会导致“全局同步”,在TCP都按 照同样的量减少拥塞窗口时,经常会使瓶颈节点的发送速度下降到0,导致瓶颈节点空闲, 利用率下降。因此,如果每个TCP随机减少拥塞窗口,会使瓶颈节点的发送速度下降到0的 次数减少,从而提高网络的传输效率。本专利技术通过随机调整TCP拥塞窗口,不需要TCP发送端的进行复杂的计算和带宽 预测,减缓了 TCP全局同步,提高了网络带宽的利用率,适合在现有的Internet上使用。附图说明图1是本专利技术方法的流程图;图2是本专利技术方法进行测试的网络拓扑。具体实施例方式下面结合附图对本专利技术作进一步详细说明。在本专利技术的实例中,c,d,e,f取值为c = 0. 2,d = 0. 55,e = 0. 38, f = 1.0。本专利技术中TCP按随机数调整拥塞窗口,Cwnd表示TCP拥塞窗口,每个TCP其处理 方法如图1所示,(I)TCP按照当前拥塞窗口发送数据;(2)收到应答信号,判断是否新数据包应答,如果是则到第(3)步,如果否则到第 (6)步;(3)判断数据是否发送完,如果是到第(11)步,如果否到第(4)步;(4)判断TCP当前拥塞窗口是否大于等于慢启动阈值,也就是判断是否在拥塞避 免阶段,如果是则到第(5)步,如果否则到第(8);(5)Cwnd = Cwnd+R(0. 38,1. 0)*1/Cwnd,R(0· 38,1. 0)表示为 0. 38 到 1. 0 之间的平均分布随机数,然后到第(1)步;(6)则判断是否第3个非新数据包应答,也就是判断是否第3个重复应答,如果是 则到第(7)步,如果否则到第(9)步;(7)Cwnd = Cwnd-R(0. 2,0. 55)*Cwnd,Cwnd 表示当前拥塞窗口,R(0. 2,0. 55)表示 为0. 2到0. 55之间的平均分布随机数,然后到第(1)步;(8)当前是慢启动阶段,Cwnd = Cwnd+Ι,然后到第(1)步;(9)判断重复应答是否超过3个,如果是则到第(10)步,如果否则到第⑴步;(IO)Cwnd = Cwnd+Ι,然后到第(1)步;(11)本次发送结束。图2是本专利技术方法的测试网络环境,RO为瓶颈节点,瓶颈链路位于节点RO和节 点Rl之间,链路容量12Mbps,延时15ms,采用弃尾队列管理,缓存大小为30packetS ;节点 Si均为持久性FTP业务源,他们与节点RO之间的链路容量均为20Mbps,延时15ms,向目标 节点Di发送数据;节点Di与节点Rl之间的链路容量均为20Mbps,延时15ms ;数据包均为 1040Byte (包括40Byte包头)。接收端Di的窗口设置足够大,使得TCP发送仅受拥塞窗口 Cwnd控制。表1是本专利技术方法图1实施例与目前Internet使用最广泛的TCP Rewnero在图 2网络环境下进行比对,设置图2中的TCP发送节点S个数分别为2、4、6、8、10时,接收节 点D个数同时也为2、4、6、8、10时,分别采用TCP Rewnero和本专利技术方法,统计100秒内瓶 颈节点RO发送的有效数据包个数。由表1可见本专利技术方法的网络传输效率明显高于TCP Rewnero ο表1本专利技术方法与TCP Newreno比对结果本文档来自技高网...

【技术保护点】
一种基于随机回退的TCP拥塞窗口的控制方法,其特征在于在瓶颈节点拥塞时,每个TCP各自计算一个[0,1]范围内的随机数,然后每个TCP按照各自计算的随机数减少自己的拥塞窗口;在拥塞避免阶段,每个TCP各自计算一个[0,1]范围内的随机数,然后每个TCP按照各自计算的随机数增加自己的拥塞窗口。

【技术特征摘要】
一种基于随机回退的TCP拥塞窗口的控制方法,其特征在于在瓶颈节点拥塞时,每个TCP各自计算一个范围内的随机数,然后每个TCP按照各自计算的随机数减少自己的拥塞窗口;在拥塞避免阶段,每个TCP各自计算一个范围内的随机数,然后每个TCP按照各自计算的随机数增加自己的拥塞窗口。2.根据权利要求1所述的基于随机回退的TCP拥塞窗口的控制方法,其特征在于每一 个运行的TCP的运行方式如下(1)按照当前拥塞窗口发送数据;(2)收到应答信号,判断是否新数据包应答,如果是则到第(3)步,否则到第(6)步;(3)判断数据是否发送完,如果是到第(9)步,否则到第(4)步;(4)判断TCP当前拥...

【专利技术属性】
技术研发人员:姜文刚孙金生王执铨尚婕
申请(专利权)人:江苏科技大学
类型:发明
国别省市:32[中国|江苏]

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

1