《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于移动主机的传输控制协议的研究与实现

基于移动主机的传输控制协议的研究与实现

2008-05-14
作者:杨震宇,舒炎泰,张 亮

  摘 要: 基于无线网络的特点,提出了一种新的基于移动主机" title="移动主机">移动主机的传输层控制协议" title="控制协议">控制协议。该协议将以接收端" title="接收端">接收端为中心的传输层协议与以发送端为中心的传输层协议有机结合,以更好适应无线局域网。通过仿真实验验证了该协议的可行性。
  关键词: 无线局域网 传输控制协议 移动主机


  无线局域网WLAN(Wireless LAN)是最后一跳为无线链路" title="无线链路">无线链路的网络,具有覆盖面积广、带宽高、安装简易和使用方便等优点,因此被大规模应用。研究无线移动宽带接入互联网的基础理论与关键技术具有重要意义,提供高性能的无线互联网传输层协议是实现无线宽带接入互联网的关键。
1 传统TCP协议在无线环境下的局限性
  目前互联网使用的传输控制协议TCP是为固定主机和有线网络设计的。在TCP中,发送端根据接收端ACK的反馈信息判断网络状况,并假设丢包都是由网络拥塞造成的。当发生丢包时,发送端减小发送窗口,以减小网络的负载,避免拥塞。有线网络的拓扑结构变化不大,链路状况比较稳定,因此这种假设是成立的,但在无线环境下,丢包很可能是由无线链路本身的高误码率或移动主机切换等情况引起的,传统TCP缺乏针对不同丢包状况的处理机制,而将丢包都归结为拥塞,错误地进行拥塞控制,从而导致TCP性能严重下降。
2 现有方法及不足
  为解决上述问题,近年来一些文献[1~3]相继提出一些适应无线环境的TCP改进版本。这些改进的协议都是为了解决最后一跳为无线链路的网络带来的问题,如无线链路高随机误码率,移动主机在不同接入点AP(Access Point)之间切换等。但它们仍然保留了原始TCP以发送端为控制中心的特点,所以效果并不理想。
  2003年,Hsieh等人提出了一种以接收端为控制中心的传输层协议RCP(Reception Control Protocol)[4]。它只是将控制中心移到了接收端,仅考虑了无线移动主机作为客户端的情况,而忽略了服务器位于无线链路、无线互联网中多样化服务以及异构环境等情况。
3 MCP协议的提出与初步实现
3.1 MCP协议概述

  为更好地适应无线链路网络中的最后一跳,本文提出了以移动主机为控制中心的传输层协议称为MCP(Mobile host Control Protocol)。该协议将以发送端为中心的传输层协议和以接收端为中心的传输层协议有机结合,以移动主机为控制中心,让移动主机控制整个传输过程。在WLAN中,当从固定主机向移动主机传输数据时,采用以接收端为中心的控制机制;而当从移动主机向固定主机传输数据时,采用以发送端为中心的控制机制。
  在WLAN中,MCP协议具有传统TCP协议不具备的优点:移动主机可以根据网络状况判断丢包原因,根据不同原因采取不同的丢包恢复策略,从而可以避免TCP由于缺少丢包原因检测机制而造成的传输性能下降;同时,移动主机可以根据不同的无线链路状况采取不同的拥塞控制策略" title="控制策略">控制策略,克服了TCP协议使用单一拥塞控制策略,从而更好地适应不同的无线链路;MCP协议在处理移动主机切换时也有很大优势,传统TCP协议在切换过程中发送数据包失败时只能等待超时重传,同时触发丢包恢复机制,这样不但使原AP中缓存的数据包失效,而且浪费了传输时间,在MCP协议中,移动主机能够在第一时间判断切换是否完成,并主动请求发送端重传丢失的数据包,从而提高了传输性能。
3.2 MCP的初步实现
  MCP协议的初步实现主要是在仿真软件NS-2[5]上完成以移动主机为中心的连接建立、拥塞控制、丢包恢复等功能模块。
3.2.1 MCP采取移动主机为中心的数据发送机制
  传统TCP采用DATA-ACK机制,即发送端主动发送数据包,接收端在收到数据包时发送相应的确认信息ACK,发送端收到ACK后,根据ACK信息判断网络状况,采取适当的速率继续发送。
  在MCP中,当移动主机作为发送端时,采用上述的DATA-ACK机制;当移动主机作为接收端时,则采用REQ-DATA机制,即移动主机主动发送数据请求包,发送端在收到请求包之后,根据其中的要求进行发送。具体方法是:接收端将接收窗口的右值填入请求包头部的adno字段,发送端只维护一个变量seqno,用来指向下一个要发送的数据包的序号,发送端每收到一个请求包,就读取包头的adno字段,并发送序号从seqno到adno的数据包。
3.2.2 MCP的连接建立过程
  传统TCP的连接建立是通过三次握手过程实现的。MCP的连接建立同样通过三次握手过程实现,只是在一次连接建立的过程中,移动主机要向固定主机指明此次连接采用的控制机制。具体方法是:如果移动主机作为发送端,在建立连接的过程中会告知接收端采用以发送端为中心的控制机制;当移动主机作为接收端时,则会在连接建立的过程中指明采取以接收端为中心的控制机制。
3.2.3 MCP的流量控制策略
  传统TCP协议在发送端维护拥塞窗口(cwnd)和慢启动门限(ssthresh)两个变量,以完成流量控制。当cwnd小于ssthresh时,采用慢启动机制(Slow Start),用来探测网络的可用带宽,每个数据包被应答后,cwnd就加1;当cwnd大于ssthresh时,采用拥塞避免机制,以避免发生拥塞,并尽可能利用可用带宽,每个数据包被应答之后,cwnd=cwnd+1/cwnd。MCP的流量控制机制与TCP基本相同,只是当移动主机作为接收端时,上述两个参数要在接收端进行维护。
3.2.4 MCP的丢包恢复策略
  在传统TCP中,当发送端收到重复的ACK(DupACK,通常是连续三个相同序号的ACK包)时,就认为发生丢包,从而采用快速重传机制,重发序号为DupACK+1的数据包,并对cwnd和ssthresh重新赋值,避免进入慢启动阶段;当重传定时器RTO(Retransmission TimeOut)超时,发送端会重新发送那个没有收到ACK的数据包,同时进入慢启动阶段。
  在MCP中,作为接收端的移动主机如果发现接收包序号连续三次发生乱序,就认为发生丢包,此时接收端主动发送一个重传请求包,要求发送端重发丢失的数据包。
  为了将重传请求包与数据请求包加以区别,在请求包头加入loss字段和rtxno字段。如果是重传请求包就将包头loss字段设置成1,然后将rtxno字段设置成请求重发的数据包序号。如果是正常的数据请求包,则包头的loss字段就设置成0。接受端收到请求包时首先检查包头的loss字段,如果loss为1,则重传rtxno对应的数据包,如果loss为0,则进行正常的数据包发送。
4 仿真实验与性能比较
  为了验证MCP协议的可行性,在仿真软件NS-2下进行了3组对比实验。实验采用的WLAN场景中,无线链路带宽为11Mbps,有线链路带宽为100Mbps。
  实验1:研究移动主机作为接收端时,MCP协议的发送窗口随时间的变化情况。
  分别采用初步实现的MCP和TCP协议从有线主机向无线主机发送FTP数据,仿真时间为0~500s,从中分别截取两种协议在0~30s之间发送窗口随时间的变化情况,得到MCP和TCP发送窗口随时间变化如图1所示。


  从图1可以看出,初步实现的MCP协议的发送窗口随时间的变化趋势与原始TCP基本相同,这从微观上验证了两种协议在控制发包速率方面是基本一致的。
  实验2:研究MCP协议的吞吐量和公平性。
  分别采用初步实现的MCP协议和TCP协议从同一个有线节点向多个无线节点发送FTP数据。作为接收端的无线节点数分别为5、10、15、20和25个,仿真时间均为0~500s,从中截取200~450s之间各个数据流的吞吐率,研究各个流之间的公平性和平均吞吐率。公平性指数的计算公式采用目前比较通用的:
  
  其中FI是公平性指数,n为节点数,xi是第i个节点的吞吐率,当FI为1时,说明所有节点是完全公平的,FI越小说明公平性越差。各个流的公平性指数随无线节点数变化情况如图2所示。


  从图2可以看出,由MCP协议得到的公平性指数与具有良好公平性的原始TCP协议基本持平,说明初步实现的MCP协议在WLAN环境下具有很好的公平性。
  各个流的平均吞吐量随无线节点数变化情况如图3所示。


  图3中的平均吞吐量是由200~450s内各个数据流的吞吐量取平均值得到的。从中可以看出,在WLAN下,这种初步实现的MCP协议的吞吐量同原始TCP协议十分接近。
  实验3:研究MCP协议和TCP协议的兼容性。
  采用两条FTP数据流,其中一条从无线节点到有线节点使用TCP协议;另外一条从有线节点到无线节点使用MCP协议。仿真时间均为0~500s,从中分别截取两条数据流200~450s的即时吞吐量,如图4所示。


  图4中的即时吞吐量计算的是每一秒内的吞吐量,从中可以看出,两条数据流并没有出现互相压制的情况,并且它们的即时吞吐量都在同一均值附近上下波动。这就验证了在WLAN下,这种初步实现的MCP协议与TCP协议具有良好的兼容性。
  上述3组仿真实验,表明了这种初步实现的MCP协议在WLAN环境下,具有与传统TCP几乎相同的性能,而且与传统TCP协议存在良好的兼容性,从而证明了MCP协议的可行性,这就为下阶段根据无线链路的特点,对MCP协议进行功能上的改进提供了良好的基础。
  本文提出的以移动主机为中心的传输层协议MCP将控制中心移到移动主机,可以较好地解决最后一跳是无线链路的网络带来的拥塞控制、丢包恢复以及切换等传统TCP及其改进版本都不能很好解决的问题,是一种从根本上改善无线互联网传输层性能的有效途径。
  现阶段主要是将以接收端为中心的传输层协议和以发送端为中心的传输层协议进行有机集成,并通过仿真实验,验证了MCP协议的可行性。下阶段的工作主要是结合无线链路高误码率、切换等特点,对MCP进行改进。其中工作的重点是提出一种稳定的丢包原因检测机制,并针对不同丢包原因采取不同措施,从而更好地体现MCP在WLAN环境下性能的优越性。
参考文献
1 Bakshi B,Krishna P,Vaidya N et al.Improving performance of TCP over wireless networks.In:Proceedings of IEEE ICDCS,Baltimore,MD,USA,1997
2 Goff T,Moronski J,Phatak D.Freeze-TCP:A true end-to- end TCP enhancement mechanism for mobile environments.In:Proceedings of IEEE INFOCOM,Tel-Aviv,Israel,2000
3 Sinha P,Venkitaraman N,Sivakumar R et al.WTCP:A reli-able transport protocol for wireless wide-area networks.In:Proceedings of ACM MOBICOM,Seattle,WA,USA,1999
4 Hsieh K,Kim Y Z,Sivakumar R.A Receiver-Centric Trans-port protocol for mobile hosts with heterogeneous wireless interfaces.In:Proceedings of the ninth ACM annual inter-national conference on mobile computing and networking,San Diego,CA,USA,2003
5 Ns-2 Network Simulator.http://www.isi.edu/nsnam/ns.A collaboration between researchers at UC Berkeley,LBL,USC/ISI,and Xerox PARC,2000

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。