论文部分内容阅读
因特网的全球化应用规模正以指数的速率逐渐扩大,这增加了用卫星来传输因特网数据的需求,主要是因为卫星链路具有地面链路无法相比的优势:覆盖的地理区域广、提供更宽的频带范围、提供点到多点的传输.然而,传统的因特网的TCP/IP(互联网协议)是面向地面网络优化的,由于卫星联接的延迟长、比特误码率高、不对称,所以其信道利用率和吞吐量都很不理想.问题的根源在于:当TCP/IP协议组中的自动请求重发(ARQ)和流量控制算法在地面链路得到优化时,在卫星链路上却导致了严重的带宽浪费.本文首先分析了传输控制协议TCP的四个交互式的拥塞控制算法:慢启动、拥塞避免、快速重发和快速恢复.在此基础上对四种TCP实现方式(其中包括Tahoe、Reno、New Reno和SACK)从理论上分析了各自的优缺点.然后本文通过仿真研究了四种TCP实现方式应用于卫星链路的各自表现情况.以吞吐量、效率、平均队列延迟为指标比较了四种TCP方式的性能优劣;分析了拥塞窗口Awnd取不同值时,四种拥塞避免机制性能的改变,特别是拥塞窗口大于带宽延时积的情况;研究了所传输文件的大小对吞吐量的影响.经过仿真得出结论:SACK是一种比较适合卫星链路的TCP方式.由于TCP把分组的随机丢失也解释为网络拥塞造成的.因此高比特误码率的卫星链路里TCP的性能就急剧下降.本文最后据此提出了一个适应于卫星链路的SACK TCP的改进方案.它仅对SACK TCP拥塞检测机制进行了一个简单的修改,改进后的协议仅把在一个丢失窗口(Lwnd)中检测到k个分组丢失解释为网络拥塞(这里k和Lwnd是协议中被定义的参数).经过分析可以证明,这种修改对卫星链路吞吐量的提高是比较有效的,同时对地面网络的性能基本没有什么影响.