空间通信中TCP协议及其改进的应用研究_第1页
空间通信中TCP协议及其改进的应用研究_第2页
空间通信中TCP协议及其改进的应用研究_第3页
空间通信中TCP协议及其改进的应用研究_第4页
空间通信中TCP协议及其改进的应用研究_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华 中 科 技 大 学研究生课程考试答题本考生姓名 考生学号 系、年级 类 别 考试科目空间通信与导航考试日期2014 年1月 17日评 分 题号得分备注 总分:评卷人: 注:1、无评卷人签名试卷无效。 2、必须用钢笔或圆珠笔阅卷,使用红色。用铅笔阅卷无效。 空间通信中TCP协议及其改进的应用研究摘要:本文首先介绍了空间通信系统和 TCP 协议的发展以及研究现状,并针对卫星通信系统特点和空间通信与传统 TCP 结合时出现的问题进行了分析,针对目前主流的基于 TCP 协议的空间数据传输算法改进策略进行了研究,根据其优点和缺点进行了综合评估,提出一种基于现有传统 TCP 协议改进的数据传输控制协议

2、SN-TCP,用以提高 TCP 协议在空间通信系统中的传输性能。在改进的协议中,针对空间链路长延时、高误码、链路不对称的特点,结合原有 TCP 协议在地面数据传输的优点并针对空间环境特点进行改进,使协议在空间数据传输环境中表现出更优的性能。通过网络仿真工具 NS-2 对 SN-TCP 协议性能进行了仿真,并将其与传统TCP 协议进行比较分析。仿真结果证明,本文提出的 SN-TCP 协议在空间数据传输性能上优于传统 TCP 协议,有效的提高了传统 TCP 协议在卫星链路上的传输性能。关键词:空间通信;TCP;性能改进;NS2第一章 引言1.1 卫星通信系统概述自上世纪第一颗通信卫星问世以来,卫星

3、通信以覆盖广、通信距离远、不受地理条件限制、数据传输费用低廉、组网灵活等特点,在全球数据通信领域发挥着重要的作用。卫星通信系统是指利用人造地球卫星作为中继站转发或反射无线电波,在两个或多个地球站之间进行通信的数据传输系统。卫星通信系统主要由空间分系统、通信地球站、跟踪遥测及指令分系统和监控管理分系统等四部分组成。其中跟踪遥测及指令分系统负责对卫星的轨道、位置及姿态进行监视和校正;监控分系统负责对卫星的性能及参数进行监测。图1.1 是通信系统的基本组成示意图。图1.1 通信系统的基本组成1.2 卫星与 Internet 融合为了满足全球因特网数据传输的需求,卫星通信已经朝着宽带因特网接入服务方向

4、发展1-4。结合卫星通信的自身特点,与地面网络相比,卫星宽带因特网特点鲜明,主要体现在:能够快速组网,短时间内可实现全球范围内的终端用户接入;以广播方式工作,具有大面积覆盖能力,通信灵活机动,适合多媒体业务的广播和组播业务;通信距离远,工作频段宽,通信容量大,可承载多种业务传输;传输能力强,数据传输量大,业务费用低廉。综上所述,基于卫星系统的 Internet 数据传输网具有空间跨越、远程通信和广播、大数据量传输的功能,成为解决目前 Internet 数据传输负荷重,传输跨度小等问题的重要途径,卫星通信与 Internet 结合成为目前互联网发展的重要趋势。总之,随着技术的发展和新型通信卫星的

5、不断涌现,空间通信系统被赋予新的任务,除了具有数字化、移动化、宽带化的特点外,还将具有网络化和 IP 化等新的特点。通信卫星将不仅仅实现数据的转发,还会实现数据的复用、交换,甚至是路由功能。卫星通信系统与 Internet 结合将会使得空地之间以 IP 为通信平台,形成空地合一的高速因特网。1.3面临的问题卫星网络由于传输距离远(赤道静止轨道卫星距离地球 35860km)、传输环境多变的特点(环境干扰、星体阻挡、雨衰、空间复杂电磁环境),在实际数据传输的过程中表现出数据传输延迟大,信道误码率高等特点。同时从卫星发射负荷能力和传输设备经济性考虑,要求卫星星体小巧轻便,因此可搭载的数据传输设备有限

6、,导致卫星传输上下行链路带宽不对称1。于是综合考虑环境、通信链路、能源等诸多方面的制约,与地面数据传输网络相比,表现出网络拓扑复杂、数据传输时延长、信道误码率高,上下行链路不对称的诸多差异。TCP 协议之所以在空间通信环境下存在诸多问题,关键是缺乏全面的应用于空间链路的传输控制机制。首先,TCP 的错误控制主要是以网络拥塞丢包为中心,而忽略了链路传输错误等其他问题,这在传统网络上是成立的;但在空间通信环境下,链路错误产生的丢包是典型的错误特征,TCP 缺乏处理这些错误的能力其次,TCP 在数据发送速率控制方面主要采用慢启动和拥塞避免策略,采用缓慢增长数据发送速度用以探测网络传输带宽的方法,逐步

7、满负荷发挥线路传输性能。因此,现有成熟的地面通信网络协议并不能直接应用于苛刻的空间数据通信环境中。所以卫星网络协议面临两种选择:一是在地面通信网络协议的基础上进行修改,使其适合空间网络环境;二是根据卫星网络的各种约束条件,重新设计新的网络协议。第二章 SN-TCP的基本原理2.1传统的TCP协议TCP/IP 协议族开始于 60年代,到了 90 年代就已经发展成为使用最为广泛的计算机互联协议。TCP/IP 协议族主要分为两个部分,即 TCP 协议和 IP 协议。从协议层次上讲,IP 协议40位于网络层中,它为各种高层协议提供了一个通用平台。高层协议和应用程序只需做好与 IP 的“沟通”,不必关心

8、底层协议和链路接口,就可以实现不同网络和终端的广泛互联。IP 具有简单、灵活优点的同时也有不足之处:不提供数据传输的质量保证,也就是通常所说的“尽力而为”的服务。设计 TCP 协议3的目的就是为了弥补 IP 在这方面的不足,解决数据传输不可靠的问题。TCP 协议位于传输控制层,它以适应网络特性为目标,提供可靠、面向连接的服务。目前,TCP 协议已经成为因特网中数据传输的实事标准,大约 80%的业务是通过 TCP 协议来保证数据的可靠传输。TCP 协议是一种面向连接的传输层协议8。图2.1 TCP/IP 分层模型TCP 协议在发展的过程中经历了几次改动,形成了几种不同的协议版本,但各个版本的 T

9、CP 协议都包含了连接管理、差错控制、流量控制和拥塞控制机制等。2.2卫星链路特点及对 TCP 协议性能的影响卫星信道属于无线信道,它具有较高的信道误码率和较长的信号传播时延。另外,出于成本等因素的考虑,卫星链路带宽采用的是不对称的连接方式。这些都直接影响TCP协议的性能,降低TCP协议对卫星数据传输信道资源的有效利用。2.2.1 传播延时长地面网络的往返时延RTT 在几个到几十个毫秒内,卫星信道的传播延时则大的多,其传播延时大约为 240250ms,往返时延 RTT 达到 480ms500ms 之间,行星之间的传播时延还要更长。长传播时延会严重影响 TCP 的性能。2.2.2 高误码率在空间

10、通信链路中,噪声会引起较高的数据传输误码率。在某些情况下,前向纠错(FEC)技术可以修正某些差错(以带宽换取有效的数据传输速率),但空间链路噪声并不像地面网络那样较为单一。TCP协议通过确认信息和重传丢失数据段来控制丢包率;然而,TCP协议假定所有丢包都是由网络拥塞造成的。在丢包发生时,TCP协议就会启用拥塞控制机制,降低其拥塞窗口及数据传输速率,因此数据传输速率取决于丢包率。在由较高误码率而非拥塞造成丢包的通信链路中(如空间通信链路)使用这种处理机制是不合适的。TCP的拥塞控制机制能够较好地处理拥塞造成的丢包,而降低吞吐量的做法却不能给拥塞发生几率小、噪声较大、误码率较高的链路带来好处3。2

11、.2.3 非对称性信道位于航天器和地面终端之间的通信信道在信道容量和误差特性方面均具有非对称性。下行链路带宽(从航天器到地面终端)通常要远远大于上行链路带宽,有时候比例会达到1000:1。TCP接收端通常每隔一个数据段进行一次确认,由此可知确认信息所需信道容量与数据传输信道容量呈正比,而且是数据段大小的函数。对于一个长度为1024byte的数据段来说,当下行链路与上行链路的带宽比小于50:1的时候,TCP协议的吞吐量通常不会受到影响;但是在下行与上行链路带宽比较高的时候,吞吐量仍会受到确认信道容量的影响。2.3卫星网络传输控制协议研究现状针对目前 TCP 协议广泛应用于日常地面通信领域,将其扩

12、展到卫星通信系统中来,有着深远的意义。而针对目前 TCP 协议在空间通信中出现的种种弊端,如何改进地面数据传输协议以使之适应空间通信网络环境要求,一直是人们广泛关注和研究的热点。各种科研结构和工作组制定了多个 RFC 文档,而且提出了很多改进方案。这些改进方案主要分为几个方面:1、TCP 协议修改方案;2、其他协议层修改方案;3、代理方案。这里我们主要研究了链路层解决方案、端到端解决方案,TCP连接分割方案。在链路层解决方案中,采用 TCP 确认去触发链路重传,并抑制确认传送到 TCP发送端,因此能很好的将链路层丢失掩盖起来,使 TCP 发送端不会降低其拥塞窗口,但仍然需要访问 TCP 头从而

13、得到包序列号和确认号。如果基站保持确认在端到端之间进行传送,那么卫星长时延传播就会产生不公平问题。在端到端解决方案中,每种方案只是根据卫星链路传输特点的一部分进行考虑,如大的初始窗口,只是改进了 TCP 协议在卫星链路长时延情况下,慢启动阶段拥塞窗口增长缓慢的问题,如果在高拥塞情况下,大的初始窗口有可能会增加 TCP 连接的数据包丢失。同样,字节记数和慢启动后延时确认也只是针对卫星链路距离远时延长的特点,采用加速拥塞窗口增长的方法;在差错控制方面,没有采取完备的差错控制检测策略。选择性确认(SACK)只是在差错控制方面,采用添加 TCP 选项的方式,通知发送端有效重传丢失的包。但是当一个拥塞窗

14、口出现3个以上洞的时候,SACK不能有效回传包错误位置,导致 ACK 回传性能下降。TCP 连接分割采用的协议转换网关的策略,将地面链路和卫星链路分割开来,在卫星链路段采用适合卫星数据传输的协议,而在另一个协议转换网管再将数据还原为 TCP 数据,但这种方法在很大程度上增加了协议转换网关的复杂性,对于协议转化的开销很大。2.4 SN-TCP 协议设计SN-TCP 协议总体结构如图 3.1 所示。协议主要包括 Faster start、Congestion Avoidance、bandwidth detect、Loss Detect 和 Snack Retransmission 等策略。其中,F

15、aster start 策略采用大的初始窗口策略,取代了传统 TCP-Reno 协议和TCP-Newreno 协议中所采用的 Slow Start 策略;Loss Detect 策略用以区分数据具体丢失原因而改进的丢包信息检测策略;Congestion Avoidance 策略是在原有TCP-Reno 的拥塞避免策略上做了修改。图2.2 SN-TCP工作流程2.5改进之处针对卫星链路长传播延时造成的数据传输增长缓慢的问题,我们提出了改进型的快速启动(Faster Start)策略。为了判别数据丢失具体情况,我们提出了丢失检验(Loss Detect)策略,这样 SN-TCP 协议能有效识别丢包

16、所在位置等相关信息和后续丢包的确认。在发送端和接收端成功建立连接后,发送端首先进入到 Faster Start 阶段。2.5.1快速起始(Faster Start)策略在发送端和接收端成功建立连接后,发送端首先进入到 Faster Start 阶段。由于卫星链路长时延特点,数据传输时间长,发送方在发送一个分组后,要等待较长时间(因为卫星链路 RTT 很大)才能接收到对数据的应答,根据传统TCP 协议的慢启动策略,接收端每收到一个分组就才发出一个 确认信号ACK。如果接收方采用延迟确认机制,发送方收到 ACK 个数大约只有上面的一半,拥塞窗口cwind 从一个分组到达通告窗口(awin)所需要的

17、时间就增大至大约两倍。可以看出 TCP 所采用的延迟响应策略也影响了慢启动,减慢了 Cwind 的增加速度,降低了 TCP 的性能。针对这个问题,我们采用动态扩大初始 Cwind 的方法,增加初始的 Cwind 的大小,这样对较短的数据流和低带宽极为为有利。如首先使用一个较大的 Cwnd 的初始值 Iw,在发生超时重传时才设置为 1,这样就能提高慢启动时的网络带宽利用率6。算法改进如下:在慢启动阶段中将初始拥塞窗口 Iw(Initial window)设定为 2 个分组。如果分组大小不超过 1460bytes,Iw 设为 3 个分组。如果分组大小不超过 1095byets,Iw 设为 4 个分

18、组。这样,Iw 值由一个分组扩大为 24 个分组,在多数情况下会使得 Iw 值大约在4K 左右,Iw 的精确值可由公式(1)确定IW=MIN(4*Mss,max(2*Mss,4380bytes) (1)2.5.2拥塞避免(Congestion Avoidance)策略采用传统 TCP 对于拥塞的处理方法,在发送端进入到 Congestion Avoidance阶段后,执行如下步骤:每接收到一个应答信息,判断是否有数据丢失:a) 若没有数据丢失,则 Cwnd=Cwnd+1,直到 Cwnd=Rwnd7。Cwnd = Cwnd + SMSSCwnd = Cwnd + SMSS * SMSS/Cwnd

19、b) 若有数据丢失,则退出 Congestion Avoidance 阶段,进入到 Loss Detect 阶段。2.5.3丢失判决(Loss Detect)策略在丢失判决策略中,采用检测数据包在发送窗口中是否成“洞”的方式判断数据丢失情况。根据 TCP 包结构,TCP 协议在发送数据包时,对每个数据包设定序列号,协议每发送一个数据包的同时将下一个数据包的序列号增加 1 以标注数据,再通过等待相应序列号数据包应答返回的方法判断数据包是否被正确接收,这种策略保证了数据有效可靠的传输。 在数据接收端,协议对比接收到的数据包与上一个已经成功接收的数据包的序列号。接收端在接收到本数据包的时候发送应答,

20、将下一期望接收到的数据包序列号发送给数据源端,希望下一时刻数据端发送本数据。如果在发送过程中,数据窗口的数据包发生丢失,接收端接收到了其他的数据,这样在接收到的数据包序列号与已经接收到的最大序列号数据包进行比较时,发现序列号不相符,当前数据包并非期望接收到的包,这表明数据包丢失,数据发送窗口出现“洞”,于是进入差错控制机制进行丢失数据。第三章 协议仿真及结果分析3.1仿真工具及过程本文中协议的代码撰写、性能测试及其他相关协议间的比较都是运行于Linux系统上的网络仿真NS-2(Network Simulatorversion 2)平台下完成的。使用 NS2 进行方针的基本操作流程如图 4.3

21、所示,用户首先要进行问题定义,根据自己所需要仿真的内容设计仿真拓扑,并根据需要对源代码进行修改、重新编译和调试;如果需要添加或修改代码,有一个对 NS2 源码进行修改、重新编译和调试的过程;如果不需要修改代码,即采用 NS2 已有构件就可以完成仿真工作,那么用户的主要任务就是编写 Tcl/OTcl 仿真代码,生成一个 tcl 脚本文件,并用NS2 执行该脚本进行仿真,仿真程序结束后会生成相应的 Trace 文件,即仿真结果文件,用户使用不同的工具对该脚本中的内容进行分析得到我们想要的结果图表,如果结果是我们的预期,那么整个仿真过程可以顺利结束,否则,应该分析问题所在,并重新考虑问题定义、源码修

22、改、Tcl 脚本修改的必要性。按照这个基本流程,本文在 NS2 网络仿真平台上对 SN-TCP 协议方案进行仿真。图3.1 NS仿真流程3.2 SN-TCP 协议方案仿真2由于卫星信道带宽不对称的特点,我们需要在不对称信道链路拓扑中仿真协议性能,并进行对比。为尽最大可能逼近空间数据传输真实网络环境,我们采用非对称带宽4设置GEO 卫星链路传输参数,如图3.2所示,考虑到卫星链路单连接、不对称的情况,模型由 4 个节点组成,n1 为 server 端,通过地面路由 n2 向卫星 n3 发送数据,n2 和 n3 之间采用两条带宽不对称的单向卫星链路建立数据通信连接,下行链路远大于上行链路,在 GE

23、O 卫星链路上分别采用 TCP-Tahoe、TCP-Newreno、TCP-Sack 和 SN-TCP.仿真网络拓扑参数如表 3.1 所示,链路拓扑图如下:图3.2 非对称链路参数如表所示:表3.1 拓扑设置3.3 非对称链路数据发送量和序列号增长情况仿真分析在图 3.2所示网络拓扑环境中,对非对称链路数据发送量和不同协议序列号增长情况进行仿真,分析仿真数据,进而比较不同协议在非对称链路数据发送能力方面的差异。仿真环境为非对称网络拓扑结构,上行链路带宽 5M、下行带宽 0.025M,带宽比 200:1,在 GEO 卫星链路中传输 10000Bytes 大小数据包,信道误码率为 4e-5,仿真时

24、间 100s,仿真数据如图 4.12 所示。表3.2实验结果数据图3.3 数据包发送量对比从图 3.3可以看出,SN-TCP 在相同条件下,数据包发送量较其他协议高出50%,这是由于 SN-TCP 协议采用了比其他传统 TCP 协议更为有效的流量控制机制、差错控制机制和数据重传机制,确保了链路带宽得到充分利用。图3.4 数据发送量对比如图 3.4和表 3.2 所示,在相同的仿真时间内,非对称链路上 SN-TCP 传输的数据量为传统 TCP 的 1.8 倍左右。基于 SN-TCP 的详细准确标注发送窗口内丢失数据包信息的机制和不依赖于快速重传算法探测数据丢失的算法,降低了 ACK数据包发送的频率

25、,发送端几乎不能收到重复的 ACK 包,所以 SN-TCP 每隔一端时间才发送一个 ACK 数据包,有效的节约了上行链路带宽资源。从仿真的数据来看,在 100s 的仿真时间内,SN-TCP 共发送数据包 2119 个,而其它协议 Tahoe、TCP-Reno 和 TCP-SACK 在相同的仿真时间内,数据包发送量均小于 SN-TCP 协议。同时,SN-TCP 每 1000 个数据包发送 788 个 ACK,而传统 TCP 每 1000 个数据包发送大约为 1047 个 ACK 包。在仿真时间内,SN-TCP 发送 ACK 的比率为 0.7881,而传统 TCP 为 1.0473,传统 TCP

26、的 ACK 发送率是 SN-TCP 的 1.3 倍;在单位数据传送量中,由于 SN-TCP 的高效传输机制,单位时间的数据传输量优于标准 TCP协议,网络吞吐量比传统 TCP 高出 5410byte/s 的数据传输量。第四章 结论随着卫星通信的不断发展以及地面数据传输协议的在空间通信中更加广泛的应用,基于卫星数据传输的互联网将成为现在宽带卫星通信发展的重要方向,因此,对于如何使应用于地面数据传输的通信协议适应空间通信要求,已经成为空间数据通信的重要课题。增强传统 TCP 协议在卫星链路上的性能,采用更加高效的算法,有效避免空间链路对传输协议影响是目前空间通信研究的发展趋势。本文基于现有 TCP 传输协议,研究设计一种用以改进型在空间链路上数据传输性能的 SN-TCP 协议,针对空间数据传输长延时、高误码、线路不对称等特点,设计了快速开始策略、带宽探测策略丢失判决策略和差错控制策略。在实际的仿真过程中,本文所设计的 SN-TCP 协议在对称链路、非对称链路、实际卫星链路等网络环境中采用不同链路延迟、不同误码率分别与传统 TCP 协议进行仿真,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论