TCP丢包检测技术详解 | |||||||||||
| |||||||||||
2007年12月6日 10:23 中国新通信 作 者:李雪徐昌彪 | |||||||||||
1、引言 传输控制协议(TransportControlProtocol,TCP)是目前Internet中广泛采用的一种传输协议,它为各个主机之间提供可靠、按序传输、端到端的数据包传输服务。TCP拥塞控制是其成功的重要因素。TCP拥塞控制的前提是网络拥塞为数据丢失的唯一原因,即只要终端检测出有数据丢失,均认为是网络拥塞所致,于是调用拥塞控制机制。 随着无线通信技术的发展,由于无线环境具有误码率高、信号衰落以及频繁的移动等特性,网络拥塞已不能再被看成是数据丢失的唯一原因,直接沿用现有的TCP技术势必会恶化TCP性能。这样,能否区分丢包自然成为改善无线环境下TCP性能的关键。为此,人们在这方面做了大量的研究和探索,提出了多种技术。但是针对特定丢包情况给出某一方法的文章还很少见。 2、无线网络环境中三种丢包情况分析 TCP拥塞控制机制的前提是网络拥塞为数据丢失的唯一原因,由于无线信道特性,在无线网络环境中大量的数据会因切换、信道衰落、干扰等而被丢弃,在这种情况下若TCP启动拥塞控制,会造成不必要的数据发送速率的降低,导致带宽利用率不高、系统时延加大、吞吐量下降。 2.1随机丢包(RandomLoss) 传统的TCP拥塞控制机制是为有线网络而设计的。由比特差错以及链路差错引起的数据丢失几乎可以忽略不计。但是在无线网络中,数据丢失是由信号衰落引起的。对基于IS-95CDMA数据服务来说,有1%~2%是随机丢包。 2.2突发丢包(BurstLoss) 突发丢包是在一段很短的时间内,导致许多数据连续的丢失。它是由信号衰落引起的。 以无线局域网为例,对一个移动主机来说,它的所有通信量(流入和流出)都是通过与它相连的基站路由出去的。当移动主机从一个基站的覆盖范围移出时,它需要在它所运动到的另一基站处登记它的信息。所有之后的通信都是通过新的基站来完成的。然而,当发生切换时,通过原基站递交给移动主机的一系列数据包将会丢失。因此,切换可以导致突发丢包事件的发生。 2.3包的重新排序(PacketReordering) 当接受端收到包的顺序与发送端发送顺序不同时,就要对包进行重新排序。同样是以无线局域网为例,包的重新排序与切换有关。当移动主机从一个基站切换到另一个基站时,发往移动主机或者是从移动主机发出的包通过新的基站路由信息。因为数据包在不同的路径上传输会经历不同的RTT,导致了数据包不能按序递交。 3、针对三种情况的解决方案 我们对一些有代表性的端到端的解决方案进行了总结,并分析了相应的一些解决方法。 3.1随机丢包的解决方案 3.1.1TCPWestwood TCPWestwood是一种由发送方通过测量ACK的速率来调整拥塞窗口的TCP协议。它是在发生拥塞之后用于设置ssthresh和cwnd的,不像传统的TCP拥塞控制机制检测到数据丢失后盲目将发送速率减半,因此TCP-W在面临随机丢包的情况下可以达到较高的链路利用率。带宽估算方法如下: bn是在tn时刻第n个ACK到达时的估计带宽,tn是接收到第n个ACK的时刻,Ln是被确认的分组n的尺寸。实验结果表明,TCP-W在吞吐量、公平性方面都优于Reno,但它也有不足之处,如与Reno共存时,友好性问题以及过高的估计带宽出现ACK压缩。
|
TCP丢包检测技术详解
最新推荐文章于 2025-03-28 15:37:28 发布