《卫星通信中基于带宽估计的TCP传输控制算法研究》由会员分享,可在线阅读,更多相关《卫星通信中基于带宽估计的TCP传输控制算法研究(64页珍藏版)》请在金锄头文库上搜索。
1、华中科技大学硕士学位论文卫星通信中基于带宽估计的TCP传输控制算法研究姓名:王军申请学位级别:硕士专业:通信与信息系统指导教师:李自力20080531 华 中 科 技 大 学 硕 士 学 位 论 文 I I摘 要 卫星通信在军事和民用方面都发挥着日益重要的作用,提高卫星通信中传输层协议的性能是目前国内外正在研究的重要课题。传统TCP协议虽然为有线网络通信提供了可靠的端到端数据传输,但在长时延、高误码的卫星通信环境中,TCP并不能获得较高的传输性能。为了提高卫星链路中数据传输的吞吐量和带宽利用率,必须针对卫星通信的环境特点对现有的传输控制算法作出改进。 本文首先详细分析了TCP协议规范,描述了卫
2、星链路的特点,指出TCP应用于卫星通信时存在的问题。接着介绍了一些适合卫星通信的改进的传输层协议,并对它们的原理进行了阐述。带宽估计算法能改善传输协议在卫星通信中的性能,当发送端检测到数据包丢失时不盲目减小拥塞窗口,而是根据带宽估计值来设置拥塞窗口及慢启动门限值,能较好地解决卫星链路高误码带来的问题。由于受到突发数据、延迟确认、确认压缩等因素的影响,传统带宽估计算法存在着估计值偏高的问题,本文在此基础上提出了卫星通信中基于带宽估计的TCP传输控制算法BE-TCP(Bandwidth Estimation based Transmission Control Protocol),该算法改进了带宽
3、采样值的计算方法,取得了更准确的带宽估计值,并使用了一种新的更新门限值的方法。 在对BE-TCP算法的吞吐量和带宽估计准确性进行理论分析之后,我们使用NS2仿真工具对BE-TCP的传输性能和带宽估计的准确性进行了仿真,理论分析和仿真结果均显示BE-TCP能准确地估计链路可用带宽,改善了TCP在卫星通信中的传输性能。 关键词:卫星通信 传输控制协议 带宽估计 NS2 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明
4、确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本论文属于 保密,在 年解密后适用本授权书。 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 华 中 科 技 大 学 硕 士 学 位 论 文
5、 1 11 绪论 1.1 本文研究背景 随着卫星通信在军事和民用方面的作用日益重要,国际上对卫星通信中传输控制技术的研究逐渐深入,我国在这一领域也展开了相关研究。本文以国家863项目(一期编号2006AA0135,二期编号2007AA0821)为依托,对卫星通信中传输控制协议进行了研究和性能改进工作。 传统地面网络传输控制协议TCP是在短时延、低误码的环境下设计运行的,并在过去20多年的有线传输中取得了巨大的成功。由于卫星无线链路固有的长时延、高误码、信道带宽不对称等特性123,使卫星数据传输面临着一些特殊的挑战。如果将TCP协议直接照搬于卫星通信,传输性能会受到诸多限制。例如,较大的传输时延
6、会降低拥塞窗口增加的速度,在慢启动阶段,发送端必须等待一个往返时延RTT(Round Trip Time)收到对方确认信息ACK(ACKnowledgement)后才能发出新的数据包;高误码的卫星链路导致大量数据包因出错而丢失,但TCP无法正确区分数据包丢失的原因是网络拥塞还是数据包本身出错,仍然一味按照拥塞的处理方式减小拥塞窗口,错误地降低传输数据率,使传输效率变低;另外,卫星信道前向和反向信道带宽的不对称性造成ACK包丢失和压缩,影响了数据包的正常确认37。 卫星无线链路所具有的长时延、高误码率、信道带宽不对称等特性,使TCP协议很难在卫星通信中体现出其优势,因此,需要针对卫星链路的特点,
7、对传输层协议作一定改进和优化,更好地利用卫星链路进行高效的数据传输。 针对高误码对丢包响应方式的影响,本文使用了在发送端进行链路带宽估计的方法,无论当前网络出现拥塞丢包还是误码丢包,都会根据估计的带宽值,合理调整拥塞窗口和门限值,来确定正确的发送速率。 1.2 本文研究现状 国内外学者目前已经提出了多种适合卫星通信的解决方案,主要包括:链路层解 华 中 科 技 大 学 硕 士 学 位 论 文 2 2决方案、分割连接解决方案以及端到端解决方案。链路层解决方案用一种对传输层透明的方法,把自动请求重传ARQ(Automatic Repeat reQuest)和前向纠错FEC(Forward Erro
8、r Correction)结合起来,在链路层检测和纠正错误,减少传输层数据包的丢失率,能在一定程度上解决高误码对TCP造成的影响8910。分割连接是在网关站处对具有高度不同特性的链路进行分离,简化了用户终端和服务器使用的协议,但却增加了网关实现的复杂性111213。链路层协议和分割连接的协议均不同程度地提升了TCP在卫星通信中的性能,然而它们或者存在链路层重传与传输层重传的冲突,或者失去了端到端的语义,这些问题都有待进一步研究解决。端到端解决方案应用在传输层,并且具有保持端到端语义完整性的优势,是今后研究的重点和发展趋势。 端到端解决方案只需修改连接双方的传输层协议,而不需要中间节点的支持,保
9、证发送端和接收端之间TCP连接的完整性。此类算法有NewReno算法、SACK算法、TCP Weswtood算法等14-18。其中,TCP Weswtood是一种比较理想的算法,它在无线通信中取得了一定的性能提升,并在一些卫星通信实验中,也被证明能改善TCP的传输性能1920。Weswtood算法的主要思想是通过在发送端不断检测ACK的到达速率来进行带宽估计BWE(BandWidth Estimation),当拥塞发生时用带宽估计值BWE来调整拥塞窗口和慢启动门限值。它不仅能提高卫星通信中数据传输的吞吐量,而且与现行网络具有良好的兼容性和互操作性。卫星链路中数据包的丢失具有突发性,会造成同一窗
10、口中多个数据包丢失,重传计时器超时,发送端快速重传后进入慢启动,导致网络吞吐量大幅度下降。Westwood虽然在很大程度上消除了随机丢包给网络带宽利用率带来的负面影响,但是当随机丢包率超过一定值时,Westwood的性能会显著降低。由于受到数据包到达的突发性、延迟确认、压缩ACK等因素的影响,Westwood会过高地估计可用带宽。因此,我们对此进行了改进,解决了突发数据和压缩ACK对带宽估计准确性的影响。另外,对于卫星链路长时延造成带宽信息反馈不及时的问题,我们也做了相应研究。基于这些考虑,本文提出了卫星通信中基于带宽估计的TCP传输控制算法BE-TCP。 华 中 科 技 大 学 硕 士 学
11、位 论 文 3 31.3 本文主要研究工作及内容组织 本文针对TCP协议在卫星链路中传输性能低下的问题,提出了基于带宽估计的TCP传输控制算法BE-TCP,并对该算法作了详细的分析和仿真。本文首先阐述了TCP协议的原理,分析了卫星通信环境对TCP传输性能产生的影响,接着介绍了目前国内外提出的一些适合卫星通信的改进的传输层协议。最后提出了使用BE-TCP算法来改善卫星通信的传输性能。 本文各章节安排如下: 第一章 阐述了本文的研究背景传统TCP协议应用于卫星通信导致传输性能的低下,介绍了当前卫星通信中提高传输性能的三种方案,对本文即将展开的工作作了大致描述。 第二章 对TCP协议进行了分析,描述
12、了卫星链路的特点及其对TCP传输性能产生的影响,介绍了卫星通信中的一些传输层协议。 第三章 分析了影响带宽估计的因素,介绍和分析了Westwood带宽估计算法及其缺点,详细论述了基于带宽估计的TCP传输控制算法BE-TCP的原理,建立了BE-TCP算法吞吐量的数学建模,理论分析了BE-TCP带宽估计更准确的原因。 第四章 简单介绍了NS2网络仿真工具,详细阐述了BE-TCP算法的实现过程,说明了仿真平台的搭建和仿真方案的设计,对BE-TCP算法进行了全面的仿真和结果分析。 第五章 对本文所作的工作进行了总结,并对未来的研究方向提出了展望。 华 中 科 技 大 学 硕 士 学 位 论 文 4 4
13、2 TCP协议在卫星通信中的应用 带宽估计算法是对TCP协议所作的端到端改进,其拥塞控制原理以及重传机制也是在TCP基础上发展而来的,因此有必要对TCP协议作全面的介绍。在本章中,我们首先详细分析了TCP协议传输控制的细节,描述了卫星无线链路有别于地面有线链路的特点,进而分析了这些特点对TCP的传输性能造成的不利影响及原因。最后,本章介绍了国内外在卫星通信领域,提出的一些改进的传输层协议,并对它们的原理进行了阐述。 2.1 TCP协议原理 传输控制协议TCP(Transmission Control Protocol)是Internet协议族中基于连接的、端到端的可靠数据传输协议,在计算机通信
14、领域起着非常重要的作用。它能够根据用户需要提供各种服务质量的数据传输服务,如简单邮件传输服务(SMTP)、文件传输服务(FTP)以及虚拟终端服务(Telnet)等;也能在链路不可靠和拥塞出现时保证数据可靠传输。 2.1.1 TCP协议的功能 由于在TCP层之下,很少考虑到通信协议的可靠性,因此TCP假定从底层协议获得的数据报是不可靠的。而TCP的一个主要目的是在进程间提供可靠的,安全的数据传输服务。为了在一个比较不可靠的通信网络上提供这个服务,TCP具备这样一些功能:基本的数据传输(Basic Data Transfer)、可靠性(Reliability)、流量控制(Flow Control)、多路复用(Multiplexing)、保持连接(Connections)、优先级和安全性(Precedence and Security)2122。 (1)基本数据传输(Basic Data Transfer) TCP将一定量的字节打包成报文段在传输层逻辑链路上传输,在发送端和接收端之间建立双向传输的字节流。通常情况下,TCP决定何时阻塞以及推进数据传输。有时发送端应用进程指定发送某个报文段,这个功能由TCP定义的PUSH传输提供,