论文部分内容阅读
随着通信网络的日益发展,人们对网络的要求也逐渐提高,卫星网络以其覆盖广、通信距离远、不受地理条件限制、数据传输费用低廉、组网灵活等等特点使得许多原来基于Internet的服务及地面网络无法提供的服务应用到了卫星网络中。但是卫星通信网络的带宽相对于应用服务种类和数量的不断增加,显出明显的不足。因此在提高卫星网络链路带宽的同时,提高卫星网络带宽的利用率就显得尤为重要。TCP协议可以提供端到端的可靠的数据传输服务,提高网络带宽的利用率。然而,TCP是针对地面有线网络设计的,在传输时延长、误码率高的卫星通信环境中不能获得良好的性能。因此,如何将TCP有效地应用于卫星通信,成为人们研究的热点问题。本文首先详细阐述了TCP协议,然后分析了卫星链路的特殊性对TCP造成的影响,介绍了提高卫星通信网络中TCP性能的各种改进方案。综合分析这些方案,提出一种基于可用带宽估计的TCP Vegas的改进算法。本文通过引入确认包时间间隔阈值,调高了Westwood带宽估计的准确性。然后针对卫星链路的特点,结合可用带宽估计,对传统TCP Vegas进行改进,使其能够很好的适用于卫星通信。主要改进方面有:①针对卫星链路带宽不对称特点,使用延迟确认机制,减小反向链路的数据量,同时采用字节计数的窗口增长方式,避免了由于确认包减小而导致拥塞窗口增长过慢。②针对卫星链路往返时延长的特点,改进了Vegas窗口增长机制,慢启动阶段,使用大的初始窗口并取消观察期;拥塞避免阶段,结合可用带宽估计算法与Vegas拥塞避免策略动态调整拥塞窗口,使其网络状态反应更为敏感。③针对卫星链路误码率高的特点,一旦发现丢包,则根据预测的可用带宽与当前吞吐量进行丢包区分,若为差错丢包,则迅速重传丢失的数据;若为拥塞丢包,则进入快速重传与快速恢复阶段。利用NS2对改进的协议进行仿真,仿真结果表明,与传统TCP协议相比,改进的协议在长延时、高误码率的环境下都能够获得较高的吞吐量,在与Reno争抢带宽时,也能表现出良好的公平性。