2_卫星信道tcp改进_网络协议工程作业讲述Word下载.docx
《2_卫星信道tcp改进_网络协议工程作业讲述Word下载.docx》由会员分享,可在线阅读,更多相关《2_卫星信道tcp改进_网络协议工程作业讲述Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
![2_卫星信道tcp改进_网络协议工程作业讲述Word下载.docx](https://file1.bdocx.com/fileroot1/2022-10/4/68f771fe-3d92-4615-9156-7a129ae9cd63/68f771fe-3d92-4615-9156-7a129ae9cd631.gif)
因此,若要使TCP在卫星网络环境中仍能保持较高的性能,就必须改进原有的传输控制协议,使其适应卫星信道这个特殊的链路环境。
二、传统TCP协议的特点
TCP协议拥塞控制的主要机制由慢启动和拥塞规避、快速重发和快速恢复策略组成
(一)慢启动和拥塞规避策略
根据TCP协议,发送端在建立连接后和错误恢复时使用慢启动来确定发送速率,并用“拥塞窗口”来控制速率。
在慢启动过程中,发送端每接收到一个应答就将拥塞窗口增加一倍,直到拥塞窗口达到慢启动门限为止。
不难看出慢启动时间随信道延时线性增加。
而慢启动时间越长,TCP的传输效率越低。
“慢启动”过程中另一个造成信道传输能力浪费的因素是延迟应答。
因为慢启动过程中发送端接收应答越快,拥塞窗口增加得也就越快,而延迟应答减少了应答的数
量和速度。
在“慢启动”结束后“拥塞规避”策略开始工作。
在这个阶段,“拥塞规避”策略将以更加缓慢的速度增加“拥塞窗口”尺寸。
在这个期间,每接收到一个确认数据包,拥塞窗口增加的长度为当前“拥塞窗口”长度的倒数。
(二)快速重发和快速恢复策略
当TCP连接发生数据帧传输错误或者次序错误时,发送端将启动快速重发和快速恢复策略。
这些策略在纠正错误和恢复传输的同时不需要过度减小发送窗口。
接收端在接收到错误数据时向发送端重复应答。
如果发送端收到3个重复的应答,就启动快速重发策略重发丢失的数据。
在此之后,进入快速恢复阶段。
在这个阶段,接收端对接收到的每个重发数据帧重复应答。
发送端接收到重复应答后
认为重发成功,开始发送新的数据,进入正常传输状态。
快速重发的设计思想是,如果收到重复应答,表示数据帧能够通过网络传输到接收端,网络没有发生拥塞,因此不需要进入慢启动过程和减小信息传输速率。
三、传统TCP协议在卫星链路上运行时遇到的主要问
题
TCP在应用于卫星网络环境时,所面临的是与传统有线
网络截然不同的网络环境。
其在卫星网络中所面临的挑战。
主要有以下几个方面:
(一)链路误码率高。
卫星链路比地面有线链路具有更高的误码率。
而且常会受到射线、雨衰等自然条件随机因素造成突发错误。
TCP最初是按照链路误码率相对较低这种假定来工作的,即认为由链路误码造成的分组丢失可以忽略不计,若有分组丢失则说明链路上发生了拥塞。
而在卫星网络环境下分组的丢失基本上都是由于链路误码引起的,TCP无法区分是拥塞丢包还是链路恶化丢包,会默认的认为是出现了拥塞故障,并自动采取拥塞控制机制,从而降低了TCP对网络可用带宽的利用率。
(二)往返时延(RTT)大。
往返时延是指从发送一个TCP数据包到收到该数据包的ACK确认包所经历的时间间隔。
主要由传播时延、传输
时延和排队时延组成。
例如在GEO系统中,往返时间为540ms,这样大的延时使TCP的慢启动花费很长的时间。
拥塞控制等机制也要花费好几个往返时间,无法高效率的运作。
(三)高带宽时延积(BDP)。
卫星链路中的高时延现象也是造成网络带宽时延积
(BDP,信道延时与带宽乘积)比较大的主要原因。
TCP传输的最大速率为:
最大速率=最大发送窗口RTT。
为了有效地利用有限的卫星带宽资源,TCP数据发送窗口必须达到一个较大值。
但是,以大窗口发送数据不仅使TCP在拥塞阶段容易
丢失更多的数据包,还使同一连接上丢失多个数据包的几率大大增加。
综上所述,由于卫星无线信道所具有的高误码率、大传播时延、高带宽时延积等特性,使得地面传统的TCP协议很难在卫星网络中体现出其优越性,因此本文基于这个问题,提出了使用带宽估计技术来改进卫星网络中的TCP协议,使得TCP协议能够更好的应用于卫星无线信道中。
四、TCP协议在卫星链路上的改进方案
TCP协议在卫星链路上的改进方案可以分为两类:
一类是保持TCP的基本算法,通过优化参数和加入一些可选的增强机制来改善TCP在无线网络和同步卫星中继网络中的性能;
另一类是针对网络特点和所存在的问题,对TCP协
议拥塞控制算法进行相应改进或设计新的算法。
(一)参数优化和增强机制选项,包括修改以下参数:
1.增大初始窗口。
如果使用较大的拥塞窗口初始值,就可以提高TCP连接建立初期时的吞吐量,缩短TCP加速所用的时间,有利于克服长时延、大带宽时延积对TCP拥塞控制带来的不利影响。
2.窗口扩展。
TCP窗口大小最早为16bit,在大带宽时延积的同步卫星中继网络中,这个值不足以使TCP充分利用链路带宽。
RFC1323将窗口扩展为32bit,能够避免cwnd的大小成为制约吞吐量的瓶颈。
3.时间戳。
采用时间戳选项能够区分TCP包的发送时间,有利于在大带宽时延积的同步卫星中继网络中使用窗口扩展后TCP包序号的重用,避免发生混淆。
4.路径最大传输单元(MTU)发现。
RFC1191中的路径最大传输单元发现机制允许TCP探测以及使用路径中最大可用的数据包尺寸,而避免使用IP分段。
这样可以避免分段和重组的开销,而较大的数据包尺寸又有利于提高传输效率和加快TCP发送速率的增长。
5.T/TCP(TCPforTransaction)。
RFC1644提出减少TCP建立连接时的握手次数,以此缩短TCP连接建立所用的等待时间。
这种机制对于同步卫星中继网络长时延条件下,
数据量较小的传输业务作用尤为明显。
6.选择确认(SACK)。
选择确认是针对TCP协议中的累积确认机制而提出的。
它使得接收方能告诉发送方哪些报文段丢失,哪些报文段重传了,哪些报文段已经提前收到等信息。
根据这些信息TCP就可以只重传哪些真正丢失的报文段。
选择确认可以进行有选择地确认和重传,使发送端只重传那些确实丢失的数据包,避免对已经接收的数据包进行不必要的重传,从而提高TCP性能。
在同步卫星中继网络中,由于TCP发送窗口较大,而链路可靠性低,同一窗口内丢失多个数据包的概率相对较高。
使用选择确认可以在一定程度上改善TCP在长时延网络中的性能。
(二)对TCP协议算法的改进
近年来,针对同步卫星中继网络长时延、高误码率等特点,国内外专家和学者提出了很多TCP协议的改进方法。
1.空间通信协议标准-传输协议(SCPS-TP)
SCPS-TP可以根据实际应用情况,选择不采取拥塞控制,即在外部提供拥塞避免保证。
如在为传输业务连接保留带
宽的情况下,使用指定的发送速率,将丢包原因判断为链路错误,这样就不会因为丢包而减小发送速率。
SCPS-TP使用拥塞控制时,可以选择使用标准TCP拥塞控制机制或TCPVegas。
TCPVegas可以估计网络的有效带宽,
不会连续增大cwnd,而是通过比较实际吞吐量和期望吞吐量来检测拥塞程度。
当实际吞吐量和期望吞吐量的之间的差值超过设定门限时,TCPVegas就减小发送速率;
如果差值是可接受的,则按常规方式增大发送速率。
因此,TCPVegas的发送速率能保持在最佳速率附近,而不会大幅震荡。
2.卫星传输协议(STP)
与TCP类似,STP提供的是可靠的、面向连接的数据传输服务。
它放弃使用TCP中的肯定确认ACK,采用的是选择否定确认,并且没有设置重传计时器。
STP是卫星的专用协议,只能用于TCP分割结构中,在性能增强代理PEP之间使用。
3.TCP-Peach
TCP-Peach是针对长时延网络提出的一种拥塞控制策略。
它使用了两个新的算法:
突发启动和高速恢复,分别取代
传统TCP中的慢启动和快速恢复算法。
TCP-Peach的算法思想如下:
针对长时延对传输效率的影响,通过快速发送较多的虚报文段,来更快地获得确认ACK,从而加快TCP启动和重传后的恢复速率。
在这里,虚报文段指的是由发送端产生的优先级较低的数据包。
对接收端来说,虚报文段不包含任何新的信息。
TCP发送端使用虚报文段来探测可用网络资源。
4.明确拥塞指示(ENC)
明确拥塞指示在拥塞造成数据丢失前通知TCP发送端网络即将发生拥塞。
让发送端减小发送速率。
从而达到对拥塞进行控制的目的:
它有两种实现方案BENC(后向ENC)和FENC(前向ENC)。
在BENC机制中。
路由器直接给数据发送端发送消息通知它网络拥塞。
在FENC机制中,路由器在拥塞即将发生时在收到的数据帧中放一个标志。
转发这个数据帧。
数据接收端收到这个数据帧后通过应答通知发送端网络即将拥塞。
路由器是通过检测队列是否将溢出来判断网络是否即将拥塞的。
5.多个数据连接(MDC)
卫星信道中单个TCP连接的速率很低。
一个很直观的解决办法就是使用多个连接来传送一个文件。
从而达到提高信道带宽利用率的目的。
这就是MDC。
它的优点是:
使用多个连接能加快慢启动、拥塞恢复的速度。
但也给网络带来不稳定因素。
因为它的发送过程过于主动。
发送窗口增加得过快。
6.TCP头压缩(THC)
TCP头压缩就是将TCP/IP头信息进行压缩从而提高传输效率。
在TCP/IP头中有很多域在一个连接中是不变或很少变化的,或者可以从别的途径获得。
如源地址和目标地址是不变的,帧长度可以从链路层帧长度计算出来。
因此
对这些信息进行压缩是完全可能和有效的。
7.共享状态信息
在TCP连接中有很多参数需要通过慢启动和拥塞规避来确定和调整,在延时长的卫星信道上这种调整需要的时间长, 效率低。
但是在同一信道上传输的TCP连接可以认为它们需要的参数是一样的,因此在共享状态信息机制中,后建立的连接就可以直接使用先建立的连接的参数(如拥塞窗口),而不需要经过调整了。