
TCP协议在宽带多媒体卫星通信系统中的性能分析与增强(下).docx
5页TCP协议在宽带多媒体卫星通信系统中的性能分析与增强(下) 冯少栋李广侠张更新解放军理工大学通信工程学院卫星重点实验室`由于目前大部分用户终端系统仍采用标准TCP协议,用户无法对TCP协议相关参数进行设置和调整,短期内新的改进协议也很难大规模应用于终端系统,因此针对TCP传输性能的优化只能在卫星段进行,最常见的是性能增强代理(PEP,PerformanceEnhancement Proxy)法,即通过增加硬件设备,将TCP端到端语义连接断开实现协议性能的增强PEP的实现方案有很多,根据层次不同可分为基于链路层PEP、基于运输层PEP、基于应用层PEP其中基于运输层PEP应用最为广泛,主要通过TCP进程之间的交互实现对TCP性能的增强;根据实现方式不同还可以分为TCP欺骗(TCP spoofing)和TCP分段(TCP splitting)两种PEP的优势在于,终端系统感觉不到PEP的存在,也无需针对PEP做任何改动基于链路层的PEP基于链路层PEP的典型代表一是Lincoln实验室开发的LLLL协议,二是TCP-aware链路层协议,链路层PEP通过查看TCP报头进行快速重传并删除重复的ACK。
这种方式可以改进误码对协议性能的影响,但无法克服慢启动带来的影响TCP欺骗原理TCP欺骗主要思想是屏蔽卫星信道的长传播时延来加速增大TCP发送窗口的大小,主要作法是通过位于发送端的PEP向发送端发送针对TCP报文的ACK,使得发送端认为到接收端的传播时延很短使滑动窗口稳定增加,从而使发送速率提高的一种方法,TCP spoofing实现原理如图l所示,该方法通常需要位于发送端的PEP将来自接收端的ACK进行过滤,并将丢失的报文进行重发TCP spoofing主要针对卫星信道长传播时延并克服慢启动算法带来的影响,但破坏了TCP连接原有的基于端到端连接的特性,因此对于某些需要依靠这个特性的应用来说,会产生一定的问题并且效率不高,而且传输性能仍会受到滑动窗口大小和信道误码的影响图2为TCP欺骗(也称二分段法)的实际应用示意,该方法的主要优点在于只需要在发送端安装PEP,由于在大量的远端站上安装PEP不经济,因此适用于星状网的应用场景,通过在中心站安装PEP可提高从中心站到远端站的吞吐量图3为TCP欺骗的协议栈结构,从图中可以看出,PEP将端到端的TCP连接分为两段其中TCP发送端和PEP之间、PEP和TCP接收端之间通信均采用标准TCP协议。
当位于发送端的PEP收到一个数据包并且把它传送给接收端的时候,在不考虑是否能收到来自接收端确认信息的情况下应回送一个确认信号给发送端这样做的目的是为了促使发送端继续发送数据,从而提高整个TCP端到端链路的吞吐量图4是标准TCP与TCP欺骗(二分段)的对比,从中可以看出,两者的主要区别在于PEP处采用了本地确认和重传机制性能分析通过搭建仿真平台针对点对点卫星链路上TCP欺骗的性能进行仿真分析(如图5所示)其中信道模拟器来模拟卫星信道传播延时和误码,在TCP连接数分别为l、2、4、8条,卫星链路速率为384~ 1536kbit/s,信道误码为lO-s、107、10-6、105,信道传播时延为250ms情况下对TCP连接的吞吐量进行测试,结果如图6~10所示从图6和图7可以看出,在链路误码率为1.OE-8且网关的TCP欺骗功能关闭时,单条TCP连接的最大吞吐量不超过200kbit/s,两条TCP连接的最大吞吐量不超过400kbit/s.当网关的TCP欺骗功能启动时,TCP吞吐量有明显的改善从图8可以看出,若8条TCP连接同时进行,其吞吐量可以达到1.5Mbit/s而且此时TC[来自wwW.lw5u.cOm]P欺骗功能对TCP性能的提升不大。
这说明TCP欺骗功能在TCP共发连接数较少的情况下对性能的提升较为明显从图9可以看出,当链路误码率为l.OE_时,TCP欺骗功能对性能的提升变弱,当链路误码率为1.OE-6时,TCP欺骗基本上没有了效果从图10中可以看出,当链路存在突发错误时,也会影响到TCP欺骗的性能,这说明TCP欺骗主要适用于误码率较低(优于1.OE- 7)的场景TCP分段原理TCP分段的核心思想是通过性能增强代理(PEP)将整个TCP连接的卫星段部分转换为适合于卫星链路的专有协议这种方式对于终端系统来说同样是透明的卫星段采用的可以是TCP改进协议也可以是新的运输层协议,该协议可以根据实际需要承载l条或多条TCP连接图11为TCP分段的实际应用示意,该方法的主要优点在于通过在通信双方安装PEP,使TCP吞吐量在两个传输方向上均得到了提高,适合点对点(IP干线连接)的应用场景,但随着终端处理能力的增强,PEP功能可以软件形式嵌入终端,在中心站安装PEP服务器,这样一来TCP分段也可应用于星状网应用场景图12给出了TCP分段实现的协议栈,从图中可以看出,PEP将端到端的TCP连接分为3段其中两个PEP之间(即卫星段),采用改进的TCP协议或新型运输层协议。
图13给出了TCP分段的交互流程,从图中可以看出,TCP分段过程中PEP除了要完成发送/接收终端的功能,也要完成TCP欺骗中的本地确认功能SCPS-TP PEP在众多TCP PEP实现方案中,SCPS-TP PEP最为成熟和广泛,系统连接如图14所示,通过在信关站和用户终端处设置PEP,PEP之间采用SCPS - TP协议SCPS - TP完成的功能与TCP协议类似,可与现有TCP协议实现互通,与TCP协议相比更有利于在卫星通信系统中的传输目前已在卫星通信系统中广泛应用并被纳入ISO标准和美国军标,该协议融合了若干RFC建议,主要包括如下TCP报头压缩:参照RFC1144将连接过程当中TCP报头中相对不变的部分进行压缩并省去与传输无关的部分,可以使一般的TCP报头开销节省50%;选择性否定确认( SNAK):参照RFC1106对丢失或损坏的数据包进行标识并通知发送端无需等待3个重复的ACK就立即重传,可在误码率较高的信道环境中提高带宽的利用率;速率控制:在链路速率已知且业务连接可以管理的情况下,控制每条连接的传输速率以保证业务聚合后的速率在允许的范围内,通常在无拥塞控制机制的情况下使用;智能拥塞控制:针对卫星信道设计,通过区分丢包是由误码还是由拥塞造成的,避免启动不必要的拥塞避免;滑动窗口大小:参照RFC1323,发送端窗口可由原来的64kbytes扩展至最大230kbytes。
除此之外,当PEP应用于VPN网络时,由于VPN会将IP数据包加密,因此需要将PEP置于VPN设备前端,当用户终端带有多条VPN连接时,SCPS - TP协议可以通过检测数据包的往返时延进行拥塞控制,避免了多条PEP连接争用卫星信道造成网络拥塞的问题,因此得到广泛使用全文完-。
