一种适合有线/无线混合网络的自适应拥塞控制方法

文档序号:7925558阅读:216来源:国知局
专利名称:一种适合有线/无线混合网络的自适应拥塞控制方法
技术领域
本发明涉及计算机网络传输技术领域,特别是一种适合有线/无线混合网络的自适应拥塞控制方法,是传输控制协议TCP的拥塞控制方法,尤其是一种基于有线/无线混合网络的能够区分不同丢包原因的自适应TCP拥塞控制方法。
背景技术
传输控制协议(TCP)经历了从TCP Tahoe到当前广泛使用的TCPNewReno多个版本的改进之后,其不断优化的拥塞控制方法保证了端到端的可靠的数据流传输服务。最初在TCP Tahoe中实现的拥塞控制机制包括两个部分慢启动和拥塞避免。TCP Reno进一步引入了快速重传和快速恢复算法,根据发送方收到的重复确认即可断定数据包丢失,不必像TCP Tahoe那样需等待丢失数据包的重传定时器超时。Newreno在Reno基础上又做了补充,使得在发生连续丢包的情况下,发送方能够更有效地进行拥塞控制。
这一系列的优化都是针对有线网络的。重复确认、超时所标识的数据包丢失均被解释为网络拥塞,通过启动拥塞控制机制进行流量控制加大重发间隔、缩小发送窗口来适应网络拥塞。这种方法对于链路质量良好的有线环境是合适的。
然而在无线网络中拥塞已不再是数据丢失的唯一原因。无线链路的高误码率导致大部分丢包都是由于链路出错造成的。如果TCP仍然遵循丢包必然是由拥塞引起的原则,盲目减小发送速率,就势必降低带宽利用率,导致TCP性能恶化。
现有为改善TCP在无线环境下性能的改进方法主要可分为三类(1)端到端方案(End-to-End)只修改TCP连接两端的协议,而不需要中间节点的支持,保证从发送方到接收方TCP连接的完整性。此类研究有TCP Westwood、TCP-Real等。在这些协议中性能最好的是TCPWestwood,该协议通过一个滤波器来估测链路的可用带宽,实时调整慢启动的门限值及拥塞窗口,从而显著提高TCP利用带宽的能力。其不足之处在于与传统TCP协议共存时,就会霸占其他协议流带宽,破坏了不同协议流之间的友好性(friendliness)。
(2)分段连接方案(Split Connection)与端到端方案不同,传输层连接在基站分成两段,对TCP发送方完全屏蔽了无线链路。无线部分可以另外使用其它的拥塞控制技术如SACK等。这类方案对移动主机和中间节点的TCP软件都要做修改而不必更改发送端的TCP实现。但是它破坏了端对端的TCP连接语义,因为在数据实际没有传送到接收方之前,伪造的确认就被送给发送方。
(3)本地链路层方案(Localized Link Layer)介于端到端和分段连接之间,它使用可靠链路层协议在链路层进行重传从而对发送端屏蔽与链路有关的丢包。但是由于链路层协议和高层协议都有独立的差错控制功能,这些功能有一定的重复性,因此链路层和传输层的重发功能相互竞争的结果会降低无线信道的有效利用率,导致端到端吞吐量下降。

发明内容
本发明的目的是提出一种适合有线/无线混合网络的自适应拥塞控制方法,适合于传输层拥塞控制方法。它能够自适应地根据链路状况,区分丢包的不同原因,并采取相应的恢复措施。同时保持已有的有线网络的传输协议语意和端到端语义完整性,即只对发送方的TCP协议进行少量的修改,而不改变中间节点的TCP协议,并且修改只涉及到传输层,与其它层协议无关。
技术方案一种适合有线/无线混合网络的自适应的拥塞控制方法,根据确认包(Acknowledgments,以下简写为ACK)的相对单向延迟变化趋势来判断链路的拥塞状况,进而区分丢包是因为链路拥塞引起的还是因为无线链路出错导致,自适应地根据不同的丢包原因采取不同的恢复机制,其特征在于,主要步骤如下步骤1计算相对单向延迟;步骤2估测相对单向延迟的变化趋势;步骤3区分丢包原因;
步骤4恢复措施。
本发明的技术解决方案是提供一种能够区分对待不同丢包原因的拥塞控制方法。基本思想是根据包的延迟变化趋势来判断链路的拥塞状况,进而区分丢包是因为链路拥塞引起的还是因为无线出错导致,自适应地根据不同的丢包原因采取不同的恢复机制。其中的关键点是包的延迟如何反映链路的拥塞状况。
包在网络中的延迟可以分为四个部分介质访问延迟、传播延迟、传输延迟和每个中间路由器内部的排队延迟。其中介质访问延迟取决于网络媒体的特性;传播延迟指电信号从链路的一端传播到另一端所需要的时间,通常为5us/1km;传输延迟取决于每个连接所分配的带宽;排队延迟指包在路由器中排队所造成的延迟,它与路由器本身的特性、链路拥塞状况等较为相关。对于一个实际运行的有线/无线异构网络,传播延迟和介质访问延迟主要反映了路径本身的物理特征,即组成路径的各条链路的长度、介质等,是端到端延迟的不变部分合称固有延迟;传输延迟和排队延迟组成延迟的可变部分,合称动态延迟,它主要由每条连接抢占的带宽和在网络转发节点中的排队造成,反映了网络的繁忙程度。因此我们可以根据延迟变化也即动态延迟的变化趋势来估测网络的拥塞情况。
当网络瓶颈部分接收到的数据包超过了它所能处理的容量,新到的数据包由于不能发送出去,将不断插入缓存队列中,造成队列长度的增长,数据包的延迟将呈增加趋势。如果队列长度超出了瓶颈路由器的缓存能力,分组就会被丢弃。可见延迟增加是拥塞导致丢包的显著特征。如果只是因为无线链路突发性链路出错使得分组丢失,而数据流并没有造成链路超载,也就不会有不断增加的积压队列,延迟序列也就不会表现出明显增加趋势。另一种不可避免的情况是如果在网络轻度拥塞的同时无线链路出错导致丢包,根据延迟的变化我们可能会将它误判为拥塞丢包,但是这种误判是可以接受的,毕竟此时端系统向网络输出的负载已经逼近网络资源容量和处理能力的极限。总之,我们可以根据延迟的变化来判断链路状况从而采取更有效的拥塞控制机制。
本发明基于发送方收到的ACK包来计算相对单向延迟。每收到一个ACK包,发送方记录下当前的时间戳时钟ai,在该ACK包中还携带着接收方发送它的时间戳si。根据ai和si这两个时间,可以得到每个ACK包i的相对延迟(RODRelative One-way Delay)Di=ai-si,Di实际上是从发送方到接收方的绝对延迟加上/减去一个偏移量θ,θ是两个端系统间的时钟偏差。由于在下一步的统计分析中只关注延迟的相对量,因此这种测量方法不需要进行时钟同步。
将样本值Di存入数组rod_arr中,显然只有最近的N个ROD的变化趋势才反映网络的当前状况,因此可以把数组大小设置为固定值N(N取经验值100),使其成员随时间推移不断变化。
一旦收到丢包标识,发送方根据此前采样的延迟序列的变化趋势来作为区分不同丢包的判据。统计方法如下1)预处理把K个样本{D1,D2,...,Dk}分成Γ=K]]>组,每组有Γ个连续的样本,求出每组的中值 然后使用以下两种统计方法来检测数据流的变化趋势;2)PCT(Pairwise Comparison Test)SPCT=Σk=2ΓI(D^k>D^k-1)Γ-1]]>I(X)若X成立,I(X)=1,否则为0,PCT测量的是相邻两个呈增加趋势的样本在所有样本中占的比例,0≤SPCT≤1,如果两个样本是不相关的,那么SPCT的期望值是0.5;如果有很强的增加趋势,那么应该接近1;如果SPCT>0.66,即判为增加趋势;如果SPCT<0.54判为不增加趋势;否则即为不确定趋势;3)PDT(Pairwise Difference Test)SPDT=D^Γ-D^1Σk=2Γ|D^k-D^k-1|]]>PDT量化了相对于样本值的绝对变化其首尾变化的程度,其中-1≤SPDT≤1。如果样本是不相关的,那么SPDT的期望值为0;如果有很强的增长趋势,SPDT接近1;如果SPDT>0.55时,为增加趋势;如果SPLDT<0.45判为不增加趋势;否则,即为不确定趋势;4)综合PCT和PDT如果PCT/PDT之一为增加趋势,另一个为增加或者不确定趋势,那么即可判为ROD呈增加趋势,否则ROD不呈现明显的增加趋势。
区分丢包的判据是根据前面PCT和PDT综合判断的结果,如果ROD呈增加趋势,可知三次重复ACK或超时所反映的丢包情况就是由于链路拥塞导致的,反之丢包是因为无线链路出错引起的。
以此作为区分丢包原因的判据,即可针对不同原因导致的丢包做出合适的恢复策略如果延迟呈明显增加趋势,即可判为丢包是因为网络拥塞所致,那么仍然按照传统TCP的拥塞控制策略,降低分组进入网络的传输速率,并重传丢失的报文段;否则,丢包可认为是无线链路出错造成的,此时只需重传而不必改变发送速率。
这种自适应地拥塞控制方法可以直接应用于有线/无线混合网络发送方的TCP实现中。


图1是本发明的自适应拥塞控制方法的流程图,主要包括如下步骤(1)等待ACK包到达;一旦ACK包到达,则进入步骤(2);否则如果在等待过程中未收到ACK包而重传定时器超时,则转到步骤(3);(2)计算该ACK包的相对单向延迟(ROD)记录当前发送方的时间戳时钟ai,以及该ACK包中携带的接收方发送它的时间戳si。根据ai和si这两个时间,可以得到该ACK包i的相对延迟Di=ai-si。将样本值Di存入数组rod_arr中,数组rod_arr的大小N取经验值100。发送方判断该ACK包是否是第三个重复ACK包,如果是则转入步骤(3),否则继续传统TCP协议的相应操作;(3)估测相对单向延迟的变化趋势根据前文所述的PCT、PDT统计方法估测最近的N个ROD样本的变化趋势,作为区分丢包的判据,进入步骤(4);(4)区分丢包原因如果ROD呈增加趋势,可知三次重复ACK或超时所反映的丢包情况是由于链路拥塞导致的,接着执行步骤(5.1)反之丢包是因为无线链路出错引起的,转入步骤(5.2);(5)恢复措施(5.1)如果丢包是拥塞所致,仍然按照有线TCP的拥塞控制策略减小拥塞窗口并重传丢失的数据包;(5.2)如果丢包是无线链路出错所致,只需重传丢失的数据包而不必减小拥塞窗口。
优点本发明能够明确区分网络拥塞导致的丢包和无线链路出错造成的丢包,对不同原因造成的丢包采用相应的恢复策略,从而避免了传统TCP协议调整拥塞窗口的盲目性。对于有线/无线混合网络这种拥塞控制方法能够明显提高吞吐量同时有很好的公平性和友好性表现。另外,由于它只是对发送端的TCP协议进行了少量修改,而不改变中间节点的TCP协议,并且修改只涉及到传输层,与其它层协议无关。保持了已有的有线网络的传输协议语意和端到端语义完整性。
权利要求
1.一种适合有线/无线混合网络的自适应的拥塞控制方法,根据确认包ACK的相对单向延迟变化趋势来判断链路的拥塞状况,进而区分丢包是因为链路拥塞引起的还是因为无线链路出错导致,自适应地根据不同的丢包原因采取不同的恢复机制,其特征在于,主要步骤如下步骤1计算相对单向延迟;步骤2估测相对单向延迟的变化趋势;步骤3区分丢包原因;步骤4恢复措施。
2.根据权利要求1所述的自适应拥塞控制方法,其特征在于,其中步骤1中所述的相对单向延迟ROD,是发送端根据收到的ACK包携带的时间戳ai和发送端的当前时间si得到Di=ai-si。
3.根据权利要求1所述的自适应拥塞控制方法,其特征在于,其中步骤2所述的估测相对单向延迟变化趋势,采用的方法如下1)预处理把K个样本{D1,D2,...,Dk}分成Γ=&Kgr;]]>组,每组有Γ个连续的样本,求出每组的中值 然后使用以下两种统计方法来检测数据流的变化趋势;2)PCTSPCT=Σk=2ΓI(D^K>D^k-1)Γ-1]]>I(X)若X成立,I(X)=1,否则为0;如果SPCT>0.66,即判为增加趋势;如果SPCT<0.54判为不增加趋势;否则即为不确定趋势;3)PDTSPDT=D^Γ-D^1Σk=2Γ|D^k-D^k-1|]]>如果SPDT>0.55时,为增加趋势;如果SPDT<0.45判为不增加趋势;否则,即为不确定趋势;4)综合PCT和PDT如果PCT/PDT之一为增加趋势,另一个为增加/不确定趋势,那么即可判为ROD呈增加趋势,否则ROD不呈现明显的增加趋势。
4.根据权利要求1所述的自适应拥塞控制方法,其特征在于,其中步骤3中所述的区分丢包的判据是根据前面PCT和PDT综合判断的结果,如果ROD呈增加趋势,可知三次重复ACK或超时所反映的丢包情况就是由于链路拥塞导致的,反之丢包是因为无线链路出错引起的。
5.根据权利要求1所述的自适应拥塞控制方法,其特征在于,其中步骤4中所述的恢复措施如下1)如果丢包是拥塞所致,仍然按照有线TCP的拥塞控制策略减小拥塞窗口并重传丢失的数据包;2)如果丢包是无线链路出错所致,只需重传丢失的数据包而不必减小拥塞窗口。
全文摘要
本发明涉及计算机网络传输控制协议TCP的拥塞控制技术领域,是一种基于有线和无线混合网络的能够区分不同丢包原因的自适应的TCP拥塞控制方法。其步骤计算相对单向延迟;估测相对单向延迟的变化趋势;区分丢包原因;恢复措施。本发明的特点是根据确认包ACK的相对单向延迟变化趋势来判断链路的拥塞状况,进而区分丢包是因为链路拥塞引起的还是因为无线出错导致,自适应地根据不同的丢包原因采取不同的恢复机制。它只对发送方的TCP协议进行少量的修改,而不改变中间节点的TCP协议,并且修改只涉及到传输层,与其它层协议无关。保持了已有的有线网络的传输协议语意和端到端语义完整性。
文档编号H04Q3/64GK1487698SQ03155730
公开日2004年4月7日 申请日期2003年9月1日 优先权日2003年9月1日
发明者葛鸽, 张国清, 葛 鸽 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1