无线网上TCP改进的研究综述

2023-01-10

目前所用的无线网络通常可以分为蜂窝网络、ad hoc网络和卫星网络三类。在蜂窝网络中, 移动主机通过基站和固定网络连接起来, 这也是目前应用最为广泛的无线网。无线网络通常有以下特点:

BER高:无线网络的BER通常明显高于有线网络, 并且由于无线网络所处环境的变化, 往往同一连接会话上的BER都会发生数量级上的变化。

带宽低:无线信道提供的可利用带宽 (1Mbps~2Mbps) 往往小于有线网络提供的带宽 (10Mbps~100Mbps) 。带宽对无线网络来说是一种稀有资源, 因此如何高效地使用这些带宽是一个重要问题。

切换 (handoff) 问题:移动设备在切换过程中, 也就是设备从一个蜂窝移动到另外一个蜂窝, 通信从原来的基站转移到新基站时, 通常会导致丢包或者延迟。

能量有限:和有线网络中的固定主机比起来, 移动设备通常使用电池提供有限的能量, 从而使得其通讯时间受到限制。因此如何进行有效的能量管理是无线网络面临的一个很大的挑战。

1 传统TCP在无线网络上的问题

由于移动计算环境存在着BER高、带宽低、移动性及能量有限等特点, 使得原本为固定主机、有线网络设计的TCP协议在这种环境下出现了很多不适应的问题, 主要表现在以下几个方面。

(1) 在包含有线网络和无线网络的异质环境中缺乏有效的错误检测机制。TCP只能检测到发生了错误也即有数据包被丢弃而无法检测出错误的性质。对传输过程中出现的错误, TCP假设丢包都是由于网络拥塞造成的。由于有线网络的BER很低, 这种假设基本上是成立的。但是在无线网络环境下存在许多于拥塞无关而可以导致丢包的原因。如无线信道突发性位错误、移动设备处在切换过程中、衰减信道 (fading channel) 等。在ad hoc网络中由于网络拓扑结构的变化而使路由变动也会导致丢包。TCP则将丢包都归结于网络拥塞的发生, 而无法检测出错误的属性。

(2) 缺乏有效的错误恢复机制。一旦检测出丢包, TCP便触发拥塞控制处理过程, 首先重传未被确认的包, 减小拥塞窗口从而降低发送速率;然后激活拥塞控制机制, 包括超时时钟指数回退、减小慢启动阈值 (ssthreshold) ;最后进入拥塞避免阶段以确保拥塞得以解除。如果丢包是由于无线网络的BER高或者移动设备切换时发生的而不是网络的拥塞, 那么TCP的这种错误恢复机制会导致协议性能下降, 包括吞吐量的下降和延迟的增加。

(3) 在无线环境下, 移动主机可用带宽往往较低, 从而使得TCP源端的发送速率受到限制, 使其用较小的拥塞窗口发送数据。在这种情况下, 一旦有数据包丢失, 源端就不能收到足够多的重复确认包从而触发快速重传, 而只能通过超时机制恢复, 因而降低了可用带宽的使用效率并且增加了延迟。

TCP协议之所以在无线网络环境下存在诸多问题, 最关键的是其缺乏全面的错误控制能力。目前的TCP/IP协议是为有线网络、固定主机设计的, TCP的错误控制主要是以网络拥塞丢包为中心, 而忽略链路传输错误等其他问题, 这在传统网络上是成立的;但在无线网络环境下, 链路BER错误、切换过程中的丢包问题等是典型的错误特征, TCP缺乏处理这些错误类型的能力, 因此必须进行改进。

2 TCP的改进

为了增强TCP在移动计算环境下的性能, 研究人员已经提出了很多方案。根据其基本工作原理, 这些方案大致可以划分为三类。

2.1 基于反馈信息的改进

Ramakrishnan等提出的显式拥塞指示 (Explicit Cogestion Notification, ECN) 机制是一种和主动式队列管理 (Active Queue Management, AQM) 机制结合使用的方法。在执行AQM机制的路由器中, 当拥塞发生并且队列没有溢出时, 对数据包进行拥塞标记而不是丢弃。接受端收到拥塞标记包后将此拥塞信息通过确认包传送到发送端。于是发送者激发拥塞控制机制。ECN需要在现有的TCP/IP结构上进行修改, 主要是在IP包头部和TCP包头部分别定义两个标记位。

Balakrishnan等提出了称为显式丢失通知 (Explicit loss notification, ELN) 的方法。当接收端或基站估计出丢包是与拥塞无关时, 便设置TCP包头部的ELN位, 并传回发送端。发送端收到ELN通知时, 只需重传丢失的包而无需进行拥塞控制。ELN的缺点是, 如果ELN由接受端发出, 则其在无线链路上也容易损坏;如果由基站发出, 则基站必须跟踪每个包是否已确认过, 从而增加了基站的负担。

2.2 基于分段连接的改进

在TCP的分段连接方法中, 固定节点和无线节点之间的单条TCP连接将被无线基站分割为两段:一段连接固定节点和无线基站, 另一段则连接无线基站和无线节点。通过分割, 原有的TCP连接被划分为有线链路上的“有线TCP连接”和无线链路上的“无线TCP连接”两部分, 从而对有线和无线链路中的TCP传输进行区分。图1给出了TCP分段连接方法的示意图 (见图1) 。

Bakre和Badrinath提出的Indirect-TCP (I-TCP) 是最早建议采用分段连接的。I-TCP两段均使用标准的TCP连接。发往MH的数据首先被基站接收, 基站向FH发送ACK然后将数据转发到MH。I-TCP有助于对固定网络屏蔽无线链路的不确定性, 并且FH上的TCP不需要改变。I-TCP的缺点一是不能维持TCP端到端的语义 (semantics) ;二是基站和MH之间使用标准TCP连接, 不能有效处理无线丢包问题, 从而导致整体性能的下降。

M-TCP是一种分段连接的方法。它的体系结构可以这被看作三层, 在最低层移动主机 (MH) 和每个蜂窝的基站通信;多个基站由一个监视主机 (Supervisor Host, SH) 控制;最上层是SH和固定主机FH通讯。M-TCP中FH仍然使用标准的TCP。与I-TCP中基站一旦收到FH的数据即发送确认不同, M-TCP中只有当收到来自MH的确认时才发送确认到FH, 从而维持了TCP端到端的特性。另外M-TCP还采用了FreezeTCP中的零窗口通告机制, 因此可以有效处理无线链路上发生的丢包。M-TCP的缺点是基站的任务过于复杂。

分段连接方案由于基站维持了两段连接, 因此必须缓冲大量的状态信息, 包括连接控制信息和未确认数据包。当业务量很大时, 基站的负荷会变得非常重, 而且需要更大的缓冲区。如果移动设备频繁地切换, 基站之间状态信息的传输会带来较大时延, 导致丢包。

2.3 基于传输层信息的改进

这种方案的目的是使TCP发送端能够区分拥塞相关的数据包丢失和其它形式的数据包丢失。只有当网络拥塞发生时, TCP拥塞控制处理过程才被激活, 而对于其他形式的丢包则执行其他错误恢复处理过程。

Samaraweera等提出了一种称为“非拥塞数据包丢失检测”的方法 (Non-congestion Packet Loss Detection, NCPLD) 。NCPLD利用了网络中knee点的概念, 将该点测量到的R T T称为延迟阈值 (delay thresho-ld) 。如果当前测量到的RTT比延迟阈值要小, 则认为丢包不是由于网络拥塞引起的;否则就认为丢包是由于拥塞引起的。NCPLD只需在发送端进行少量改动即可。

TCP-WESTWOOD:Mascolo提出了TCP-Westwood, 其主要特点是, 当收到3个重复的ACK或出现超时时, 并不是将拥塞窗口减半, 而是试图选择一个和出现拥塞时有效带宽相称的慢启动阈值及拥塞窗口。源端通过测量返回ACK的平均速率来估计TCP连接的可用带宽。从而避免了过分保守的减少拥塞窗口和慢启动门限, 有效地利用了带宽。

2.4 基于底层信息的改进

链路层方案的目标是通过在无线链路上进行重传或错误纠正来屏蔽不可靠的无线链路对有线网络的影响。其优点是可以独立与高层协议而提高数据传输的可靠性, 并且无需保留每连接状态信息。

Balakrishnan介绍了一种运行于基站的snoop代理 (Agent) 。Snoop代理监视通过TCP连接的每一个数据包, 包括确认包。Snoop代理维持了一个TCP包的缓冲 (cache) , 这些包是由FH发送而来, 但还没有被MH确认。同时它跟踪每个从MH而来的ACK包, 通过到达的重复ACK包或局部超时来检测包的丢失。当丢包发生时, 如果snoop代理已经缓存此包, 则进行局部重传, 并且重复的ACK包被丢弃以避免导致源端进入快速重传。使用局部重传, 可以使基站通过不传送重复的ACK, 对固定的源端主机屏蔽包在无线链路上的丢失。snoop代理的主要缺陷是没有考虑切换导致的延时和丢包, 并且链路层的重传和传输层的重传会相互干扰。

采用链路层方案来进行错误恢复的方法可以独立于上层协议进行独立操作, 并且不需要维持每个链接的状态。其主要问题是, 连路层重传和端到端的重传之间的相互干扰。DeSimone等指出, 链路层重传不一定能够提高性能, 而只有当数据包的错误率超过了一定的阈值后, 采用链路层重传才会提高应用层的吞吐量

3 结语

总之, 以上几种方案在区分错误原因的精确性、是否保持端到端特性、是否需要基站参与、基站执行功能复杂性和代码修改量等几个方面各有优劣, 但是这几种方案都没有能够很优化地解决无线网络环境下地TCP问题。之所以这样, 一方面是由于TCP是一种可靠的面向连接的传输协议;另一方面就是由于移动/无线网络环境的特点造成的。这也决定了增强无线网络环境下的TCP性能将仍然是一个热点研究问题, 也是一个难点问题。

摘要:无线网络越来越趋向于与有线网络结合, 共同构建起一体化的移动Internet, 因此无线网络上服务质量的保证成为新的研究热点。而无线网由于自身的特点, 使得原来为有线网设计的TCP不再适应这种变化, 本文就这个问题进行了分析, 总结了TCP在无线网络上应用的诸多改进方法, 并对各种主流的改进TCP进行了对比。

关键词:无线网络,TCP,服务,改进

上一篇:赞美办公室同事的技巧下一篇:浅论公安院校警务化管理的创新