论文部分内容阅读
随着计算机网络和通信技术的飞速发展,新的无线和有线网络环境不断涌现,在给用户带来通信便利的同时,也对当前TCP协议的性能造成了较大影响。传统的TCP Reno协议是基于早期网络环境提出,发送端根据重复的ACK消息来判断数据报文丢失的产生,并将此类丢失解释为网络拥塞,然后采用加性增乘性减的方式来调整自身的拥塞窗口。而在新的网络环境下,由于上述拥塞判断和带宽调整方式逐步失效,TCP Reno协议也随之出现了越来越多的问题。相对于有线链路而言,无线链路中数据传输的可靠度很低,发送到无线链路上的数据帧可能由于发生碰撞或者无线信道中的干扰导致帧的损坏。当前被广泛使用的802.11协议在数据链路层提供了一定的校验机制来保证数据传输的正确性,但却不能有效的消除误码所带来的影响。由于TCP协议将所有的数据包丢失现象都解释为拥塞,在位误码率(Bit Error Rate,BER)较高的环境下,随着数据丢失概率的增高,TCP协议会经常性的认为网络中发生了拥塞,从而主动降低发送速率,造成TCP协议传输性能的下降和无线链路传输带宽的浪费。在有线网络的环境中,随着网络规模的增大和网络环境的改善,网络传输带宽随之大幅增加,同时传输路径的增长也导致传输延迟(RTT)和数据包丢失概率日渐增大。较高的延迟和丢包率使得采用AIMD机制的TCP协议不能获得好的传输性能,同时也降低了有线网络的带宽利用率。本文首先分析了TCP协议在新的网络环境下所遇到的困难和挑战,归纳总结了当前已有的TCP协议相关研究现状,并通过模拟和实验给出了不同网络参数对TCP协议性能所产生的影响。通过分析和测试,指出现有的TCP协议修改方案的主要问题在于部署和推广,而传输层之下的修改方案将是解决这一问题的理想方案。其次,为了满足无线网络中TCP协议的需求,本文提出了一种数据链路层上的动态分块校验机制,通过在数据帧中引入多个校验和来提高数据的成功传输概率,同时不会引入过多的头部和ACK的传输开销,并通过对重传次数的改进来进一步提高网络的传输性能。此外,为了适应无线链路上误码率的变化,本文还设计了一种动态调整分块数目的机制,该机制对当前无线链路的位误码率进行估算,并依此动态的增加或减少数据的分块个数。NS-2上的仿真实验表明,本校验机制可以有效提高数据包成功传输概率,进而改善了无线链路上的TCP传输性能,同时保证了多个数据流传输的公平性和数据的正确性。再次,为了满足远程接入用户数据传输的需要,尤其是VPN接入用户的需要,本文结合无线网络中的研究成果,提出基于VPN网关的快速重传机制,通过在VPN网络中引入隧道重传协议,降低点到点传输中TCP数据的丢失概率,并为TCP协议提供一条可靠的传输链路。实际的测试表明,网关上的快速重传机制可以有效的减小数据的丢失概率,并由此提升了TCP协议的传输性能。最后,针对快速重传机制在延迟和丢包率较高的情况下所出现的问题,进一步提出TCP代理(TCP-Proxy)的概念,VPN网关通过对TCP数据包的ACK确认号和通告窗口进行修改,屏蔽TCP发送端对于网络丢包的感知,并由此防止拥塞窗口的无谓降低。实际的测试表明,此方法可以有效的消除高丢包率所带来的影响,提高了链路的利用率以及远程TCP连接的传输速度。