论文部分内容阅读
传统的TCP协议主要是针对可靠信道所进行研究设计的,在有线网络中它能表现出良好的性能。然而,在Ad-hoc网络中,TCP协议会因丢包率上升而出现性能下降的问题。为此,研究者从链路层设计方案、端到端设计方案等多方面进行改进。但这些策略都是对传统TCP协议的拥塞控制方案进行修改,破坏了TCP/IP协议的原始控制策略。本文试在不改变原拥塞控制的基础上来优化无线网络中TCP的性能。网络编码技术为这一思路尝试提出了新的方案。研究者根据网络编码技术提出了新的TCP/NC协议,该协议很大程度的提高了TCP-Vegas无线网络的性能,但对于现在普遍流行的TCP-Reno协议来说,这种策略在编码方式和编码控制策略方面并不适用。为此,本文使用流水线编码来替换原始的随机线性编码,并设计了新的编码解码策略,进而提出了TCP-Reno/NC协议,以改进TCP-Reno的性能。本文首先介绍了无线网络中TCP协议所遇到的问题和网络编码的研究现状,接着深入分析了流水线编码的基本原理和特点。在此基础上,利用流水线编码和网络编码技术,提出了TCP-Reno/NC协议。基于TCP/NC协议的设计思想,重新设计了网络编码层(NC层),研究了适合TCP-Reno协议的缓冲区管理策略,给出了基于ACK和编码包序号的缓冲区管理算法。为进行性能评价,将TCP-Reno/NC协议和原始的TCP-Reno协议在相同的无线拓扑结构中进行了比较。在NS2中实现了TCP-Reno/NC协议,并针对典型的链式Ad-hoc网络和节点移动的Ad-hoc网络进行了仿真。结果表明,TCP-Reno/NC协议在无线网络出现丢包的情况下能够很好地屏蔽部分网络丢包现象,吞吐量明显高于传统的TCP-Reno协议。从传输层来看,TCP-Reno/NC的滑动窗口在高丢包情况下平稳上升,而TCP-Reno协议则出现了较大的波动,这也符合我们希望TCP-Reno/NC协议的滑动窗口在无线网络中不会因丢包率的升高而出现较大波动的初衷,说明采用网络编码技术可以提高TCP-Reno协议在无线Adhoc网络中的性能。