进一步发展Internet业务需要增大带宽并且要有移动性,因而卫星网与IP网结合成了热门话题。针对卫星网的信道差错率高,传延长和信道不对称性对TCP传播性能有不良影响。本文简单介绍了前向纠错和自动重传两种链路差错控制方案;着重介绍了TCP协议(包括基本TCP、选择性确认、非对称性和ACK控制等几个方面)的改进。最近,讨论了IP over卫星和IP over卫星ATM两种卫星IP网络技术 。
一、卫星IP网络与TCP/IP
其中基于地面的网络通过互联单元(IWU)与卫星调帛解调器相连。互联单元可以是协议网关,也可以是ATM卫星互联单元(ASU),这些互联单元(也很可能配置在卫星调制解调器中)完成WAN协议和卫星链路层协议间的转换。
1 卫星IP网络面临的主要问题
卫星IP网络面临的各种问题源于卫星信道和卫星网络的各种固有性,主要有3个方面。
(1)信道(差错率)
卫星信道的比特差错率(BER)大约为10的(负6次方)数量级。这远远高于高速有线传输媒质(如光纤)。另外空间信道的各种随机因素使得信道出现突发错误。噪声相对高的卫星链路大大地降低了TCP的性能。因为TCP是一个使用分组丢失来控制传输行为的丢失敏感协议,它无法区分拥塞丢失和链路恶化丢失。这时虽然网络并没有 拥塞,但较大的BER过早地触发了窗口减少机制,虽然这时网络并没有 拥塞。此外,ACK分组的丢失使吞吐量进一步恶化。
(2)传播时延
影响卫星网络时延有多种,其中主要的一种是传输时延。多数情况下低轨系统单向传输时延是20-25ms,中轨系统是10-130ms,静止轨道系统为250-280ms,系统时延还受星间路由选择、星上处理以及缓存等因素的影响。一般而言,时延对TCP的影响体现在:降低TCP对分组丢失的响应,特别是临界发送超过缺省启动窗口大小(仅超过一个TCP数据段)的连接更是如此。此时用户必须在慢启状态下,在第一个ACK分组收到前,等待一个完全的往返时延;卫星时延和不断增加的信道速度(10Mb/s或更高)还要求有效的缓存;增加的时延偏差(variance)反过来也会通过在估算中加入噪声影响TCP定时器机制,这一偏差会过早产生超时或重传,出现不正常的窗口大小,降低了总的带宽效率。简单地增加TCP定时器粒度(tranularity)在此没有多大帮助,因为尽管较大的值可以降低错误超时,但带宽利用不足也将因较长的时延而更严重。
(3)信道不对称
许多卫星系统在前向和反向数据信道间有较大的带宽不对称性,采用速度较慢的反向信道可使接收机设计更经济且节省了宝贵的卫星带宽。考虑到大量TCP传输的单向特性(如从WEB服务器到远端主机),慢速反向信道在一定程度上是可以接受的。但非对称配置对TCP仍有显著的影响。例如,由于ACK分组会丢失或在较大数据分组后排队,较慢的反向信道会引起像ACK丢失和压缩(compression)的有害影响,从而大大减少吞吐量,此外,前向和反向信道速率的较大不对称会由于线速率估发错误较大而明显加重前向缓存拥塞。
2 关于TCP/IP协议
TCP/IP是当今进行网络数据传输时使用的主要协议栈。该协议栈中,TCP和IP是核心,还包括一些其他协议。TCP和IP协议分别控制着数据在互联网上的传输和路由选择。IP是一个为广域网设计的无连接网络层协议,它被设计为网间互联协议,IP数据报可在几乎任何链路层协议上的网关(或路由器)间传递。从本质上说,IP无非是指导网络上的数据包从发方计算机送达收方计算机。TCP则负责确保数据在设备之间进行端到端的可靠交付。从这个意义上说,卫星链路对TCP/IP数据传输的影响主要体现在TCP这一层(虽说理论上讲TCP不必关心IP是运行于光纤还是卫星上,但实际上必须考虑这一点,否则可能会使TCP逻辑上正确,但实际性能极差)。
TCP使用基于滑动窗口的流量和拥塞控制方式,通过确认分组流实施控制(接收方窗口通知)。TCP使用基于往返定时器(round-trip timer)自适应时钟来调谐重发超时。TCP为完成对数据的确认使用了滑动窗口机制,为避免拥塞采用了称为“慢启动”的策略。
发方对丢失或损坏数据的重发,要求保留数据副本直至收到数据确认(ACK)。为避免大量可能丢失的数据副本占用大量存储器并浪费带宽,TCP采用了一个滑动窗口装置来限制传送中的数据数量。随着确认的返回,TCP在前移窗口的同时,发送不断增加的数据。一旦窗口被占满,发方必须停止传输数据直至更多的确认到达。
虽然TCP能发现数据没有送达,但重新发送会进一步加剧信道的拥塞,从而进一步导致数据丢失。为避免网络因拥塞而瘫痪,TCP只能降低传输速率以对数据丢失做出反应。但是从算法上讲,TCP每次进行新的连接都必须从最低的传输速率启动,TCP用返回的ACK来指示提高速率,这是一个较慢的线性增加的过程。这就是所说的“慢启动”,即发送窗口依每次往返时间递增,以发现可持续的吞吐量。
卫星信道对TCP/IP数据传输网络有一定的影响,因为卫星通信网是一个具有带宽延迟产物(bandwidth-delay product)网络。网络的基本属性是延迟(信息从发送节点传播到接收节点的双向等待时间,通常称为往返时间)和带宽(在某段时间内能传输的比特数)。带宽延迟产物指一个网络或信道是这两个属性(如网络能容纳的比特数)的产物。在传输/数据键路层,带宽延迟产物代表网络上任何时刻允许的最大待确认处理的信息数量,它占满整个链路。带宽延迟产物也指示出为了获得最佳性能,最终端用户必须拥有缓存要求的上限。
卫星IP网需要研究的问题还有QOS、互操作和路由选择等问题,但其影响主要体现在通信流量(拥塞)控制和协议带宽效率这两方面,因此卫星TCP/IP传输研究也主要集中在这两方面。
二、卫星TCP/IP传输的基本改进
TCP是TCP/IP中的用于可靠数据传输的数据传输协议,TCP要求反馈以确认数据接收成功。卫星信道的一些固有特性(如较大时延、较高比特差错率和带宽不对称等)对通过卫星链路进行TCP/IP传输有一定的负面影响,主要体现在过长的TCP超进和重传引起较大的带宽浪费,此外还要考虑卫星环境下的一些TCP特性,如窗口较小,往返定时器不精确,以及启动窗口等问题。研究人员对提高卫星网中的TCP性能提出了各种解决方案,研究涉及链路层差错控制方案和协议,更完善的TCP版本等各个方面。
1 链路层改进
卫星TCP中,链路差错率是一个主要考虑的方面。目前已有各种差错控制方案可供选择。前向纠错(EEC)方案和自动重传(ARQ)协议是两个主要的差错控制方法。前向纠错方案中可以选择卷积编码和级联编码,一些较高级的编码方案还同时采用比特交织技术 减小突发错误的影响。较好的系统通过采取这些差错控制方案,BER值可超过10-7的范围。从而使分组差错率达到10-9以上,但是由于差错控制方案引入了数据冗余,编码复杂度减慢了卫星调制解调器的速度并降低了带宽效率。因此不同的业务和网络条件支持的编码方案的范围是不同的。系统设计中应根据具体情况具体分析,例如,可根据业务对时延是否敏感采用不同的编码级数,还可使用数据压缩技术低消由编码引起的带宽效率降低。
自动重传协议包括停止--等待、返回和选择重传等三种类型。自动重传协议由于额外的重传时延不适合较高的BER环境。尽管选择重传较另两种自动重传效率高些,但需要调制解调器中有较高的复杂度,TCP和选择重传和相互影响还有待深入研究。
2 TCP改进
(1)基本TCP改进
TCP的一个问题是它的缺省窗口大小仅限于16bit, 这个值对于卫星高的带宽时延产物来说是不够的。由于要求的窗口大小很容易超出最大允许的65536字节,这限制了最大吞吐量接近1Mb/s(低于T1速率)。简单地为TCP窗口大小安排更多的比特是不可行的,因为对报头的相应改变会造成老版本网络互联的复杂化。窗口扩缩(window scaling)选项解决了这一问题,它允许启动时的连接协商一个比例因子,这个因子通常是2的幂,最大允许窗口达到32bit,这对于卫星网络是足够了。然而增大的窗口也会引起序列号回饶的问题,要求附加回饶保护序列号(PAWS)机制。这两个特点对于卫星TCP是基本的,特别对于GEO系统犹为如此。
(2)选择性确认改进
TCP接下来的一个主要缺点是它是易受多个丢失的影响,会推动它的“自计数”属性和超时。在长时延网络中,阻止不必要的窗口减小并仅重发受损/丢失分组,有助于提高带宽利用率,如ITU-T为卫星制定的SSCOP协议。这类协议称为选择性确认(TCP SACK),对TCP协议提出了明显的改进。TCPSACK是一个数据发现算法,其中接收方能够有选择地示意哪个数据块(数据段)没有收到。这允许接收方仅精确地重传这些遗漏的分组,从而有效地降低了不必要的重传。
研究结果显示TCP SACK适合于具有中等丢失率(低于窗口大小的50%)的长时延网络环境,对于线路丢失率较严重的网络,在SACK基础上改进的前向ACKFACK比较合适,前向ACK进一步地结合了拥塞控制以及数据发现算法,可望提供较高的性能增益。
(3)非对称性考虑
信道不对称问题的一个有效的解决办法是确保适当的反向带宽并使用充分大的分组。否则,增加的前向缓在要求处理较大的线性速率突发错误。像弹出“旧的”ACK分组,甚至是操纵ACK序列号这样更精细的ACK处理方案在这里也是有帮助的。这些方案试图保持和退回包含较高序列号的ACK分组,整合上改进了吞吐量。
(4)ACK控制方案
ACK控制方案最初用于改进在ATM上进行TCP传输的性能,由于TCP反馈环和ATM拥塞控制两者的时间度量差异较大(前者为几百毫秒,后者为几毫秒),引入ACK控制方案的目的是使两者更好地匹配。其中有两种方案引人注目,一种是延迟返回的ACK分组,一种是修改反回ACK分组中的接收机窗口率段。ACK控制的好年是不需修改TCP协议栈,仅发端变得复杂一些。ACK控制方案不是ATM专用的,它也很适合卫星网络。
三、卫星IP网络的实现
IP over卫星和IP over 卫星ATM这两种卫星IP网络各有特点,应用的通信卫星技术有所不同。
1 IP over卫星
这里的卫星主要指现阶段的C或KU波段静止轨道卫星,可用于作为地面网中继的大型卫星关口站或VSAT卫星通信网。这种方式主要是采用协议网关来实现。协议网络既可以单独的设备,也可以将功能集成到卫星调 制解调器中,它截取来自客户机的TCP连接,将数据转换成适合卫星传输的卫星协议(卫星协议是根据前面所述的针对卫星特点对TCP的改进),然后在卫星线路的另一端将数据还原成TCP,以达成与服务器的通信,整个过程中,协议网关将端到端的TCP连接分成三个独立的部分一是客户机与网关间的远程TCP连接;二是两个网关间的卫星协议连接;三是服务器方网关与服务器间的TCP连接。
这一结构采取分解端到端连接的方式,即保持了对最终用户的全部透明,又改进了性能。客户机和服务器不需做任何改动,TCP避免拥塞装置可继续保留地面连接部分,以保持地面网段的稳定性。同时通过在两个网关间采用大窗口大小对吞吐量的限制,避免了将分组丢失引起的传输超时误认为是拥塞所致。
2 IP over卫星ATM
为了满足多媒体通信业务的需求,许多宽带卫星计划正在快速发展中,采用KA波段、星上处理和ATM技术是其主要特点。IP over卫星ATM使宽带卫星缝传输Inernet业务,因而这种方式的卫星IP网将更好地满足未来人们对数据传输的需求。
在卫星ATM网络中,卫星被设计为能支持几千个地面终端。地面终端通过星上交换机建立虚拟通道,与另一个地面终端之间传输ATM信元,由于星上交换机有限的能力,每个地面终端能用于TCP/IP数据传输的VC数量有限。当路由选择IP业务进出ATM网时,这些地面终端成为IP与ATM间的边缘设备(路由器)。这些路由器必须能够将多个IP流聚集到单个VC中。除了流量和VC管理之外,地面终端还提供在IP和ATM网间拥塞控制的方法。星上ATM交换机必须在信元和VC级完成业务管理。此外,为了有效利用网络带宽,TCP主机实现各种TCP流量和拥塞控制机制。IP over卫星ATM可以利用前面讨论的卫星IP改进和协议网关等技术,地面网中IP over ATM的一些技术也适用。
摘自《卫星通信广播电视》2001.6