卫星TCP/IP数据传输技术
卫星TCP/IP传输的基本改进
TCP是TCP/IP中的用于可靠数据传输的数据传输协议,TCP要求反馈以确认数据接收成功。卫星信道的一些固有特性(如较大延迟、较高比特差错率和带宽不对称等)对通过卫星链路进行 TCP/IP传输有一定的负面影响,主要体现在过长的TCP超时和重传引起较大的带宽浪费,此外还要考虑卫星环境下的一些TCP特性,如窗口较小,往返定时器不精确,以及启动窗口等问题。研究人员对提高卫星网中的TCP性能提出了各种解决方案,研究涉及链路层差错控制方案和协议,更完善的TCP版本等各个方面。
1.链路层改进
卫星TCP中,链路差错率是一个主要考虑的方面。目前已有各种差错控制方案可供选择,由于它们不是TCP专用的,放在此仅简单介绍一下。
前向纠错(EEC)方案和自动重传(ARQ)协议是两个主要的差错控制方法。前向纠错方案
中可以选择卷积编码和级联编码,一些较高级的编码方案还同时采用比特交织技术减小突发错误的影响。较好的系统通过采取这些差错控制方案,BER值可超过10-7的范围,从而使分组差错率达到 10-9以上。但是由于差错控制方案引入了数据冗余,编码复杂度减慢了卫星调制解调器的速度并降低了带宽效率。因此不同的业务和网络条件支持的编码方案的范围是不同的。系统设计中应根据具体情况具体分析,例如,可根据业务对延迟是否敏感采用不同的编码级数,还可使用数据压缩技术抵消由编码引起的带宽效率降低。
自动重传协议包括停止一等待、返回N和选择重传等三种类型。自动重传协议由于额外的重传延迟不适合较高的BER环境。尽管选择重传较另两种自动重传效率高些,但需要调制解调器中有较高的复杂度,TCP和选择重传间的相互影响还有待深入研究。
2.TCP改进
由前述可知,对于卫星TCP/IP数据传输,由于延迟时间过长,通常的TCP,滑动窗口大小限制了卫星链路的最高吞吐量;同样,由于ACK从卫星返回得十分缓慢,TCP达到全速时需要一个较长的提速时间,即使对于一个较小的数据连接也是如此。
许多调整的参数可用于增强TCP的性能,包括数据段、定时器和窗口的大小。TCP实现中含有大量拥塞避免算法,如俊启动、选择重传和选择确认,它通常能改进像Internet这样的共享网络的性能。但在许多拥塞控制算法,特别是慢启动中,当中等数量数据正在一个具有较大带宽延迟特性的链路上传输时,会产生端到端通信的低效带宽利用问题。对此需要有相应的解决办法。
(1)基本TCP改进
TCP的一个问题是它的缺省窗口大小仅限于16bit,这个值对于卫星高BDP来说是不够的。由于要求的窗口大小很容易超出最大允许的65 536字节,这限制了最大吞吐量接近1Mbit/S(低于T1 速率)。简单地为TCP窗口大小安排更多的比特是不可行的,因为对报头的相应改变会造成老版本网络互联的复杂化。窗口扩缩(window scaling)选项解决了这一问题,它允许启动时的连接协商一个比例因子,这个因子通常是2的幂,最大允许窗口达到32 bit,这对于卫星网络是足够了。然而增大的窗口也会引起序列号回绕的问题,要求附加回绕保护序列号(PAWS)机制。这两个特点对于卫星TCP是基本的,特别对于GEO系统犹为如此。
较大的往返延迟偏差将导致不精确的往返时间估计,它最终将降低TCP的丢失检测机制的
效能,可能导致拥塞崩溃。TCP的定时机制一次仅计时一个TCP数据段,造成对于动态条件和较大窗口环境而言过粗的取样速率,特别是在缓存延迟与传播延迟数量级相同时。在启动(如SYN握手)时显示的TCP,回应(echo)选项通过将一个发端时激与每个数据段相关联解决了这个问题。接收方回应这些时戳,给出处理延迟的ACK定时器和不连续序列号(如丢掉的数据段)的措施。考虑到较大的延迟偏差和增加的缓存要求,回应选项对于TCP卫星网络很重要。
(2)选择性确认改进
TCP接下来的~个主要缺点是它易受多个丢失的影响,造成它失去它的“自计数”属性和超时。在长延迟网络中,阻止不必要的窗口减小并仅重发受损/丢落分组,有助于提高带宽利用率,如ITU-T为卫星制定的SSCOP协议。这类协议称为选择性确认(TCP SACK),对TCP协议提出了明显的改进。TCP SACK是一个数据发现算法,其中接收方能够有选择地示意哪个数据块(数据段)没有收到。这允许接收方仅精确地重传这些遗漏的分组,从而有效地降低了不必要的重传。
研究结果显示TCP SACK适合于具有中等丢失率(低于窗口大小的50%)的长延迟网络环
境,对于线路丢失率较严重的网络,在SACK基础上改进的前向ACK FACK)建议比较适合。前向ACK进一步地结合了拥塞控制以及数据发现算法,尽管对于高噪声卫星环境还有待进一步研究,前向ACK有望提供较高的性能增益。
(3)非对称性考虑
信道不对称问题的一个有效的解决办法是确保适当的反向带宽并使用充分大的分组。否则,增加的前向缓在要求处理较大的线性速率突发错误。像弹出“旧的”ACK分组,甚至是操纵ACK序列号这样更精细的ACK处理方案在这里也是有帮助的。这些方案试图保持和退回包含较高序列号的 ACK分组,整体上改进了吞吐量。
(4)ACK控制方案
ACK控制方案最初用于改进在ATM上进行TCP传输的性能,由于TCP反馈环和ATM拥塞控制两者的时间度量差异较大(前者为几百毫秒,后者为几毫秒),引入ACK控制方案的目的是使两者更好地匹配。其中有两种方案引人注目,~种是延迟返回的ACK分组,一种是修改返回ACK分组中的接收机窗口率段。ACK控制的好处是不需修改TCP协议栈,仅发端变得复杂一些。ACK控制方案不是 ATM专用的,它也很适合卫星网络。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论