论文部分内容阅读
无线Ad hoc网络是一种没有固定基础设施支持的移动网络,具有多跳路由、无中心、自组织、动态拓扑等特点。这些特点造成无线Ad hoc网络中丢包的原因多样化,而上层协议在对丢包原因不加区分的情况下,盲目的采取控制,严重影响了TCP的整体性能。一方面,Ad Hoc网络下许多丢包是由于路由失效导致的,但传统TCP及其改进方案无法将其与拥塞丢包区分开,错误地调用拥塞控制,造成TCP性能严重下降;另一方面,对于MAC层竞争导致的丢包,按需路由协议不能够将其同移动丢包区分开,错误的进行新的路由发现操作,进一步降低了TCP的性能。针对以上问题,本文提出了一种改进Ad hoc网络下TCP性能的方案。该方案利用AODV路由协议的机制和特点,通过MAC层、网络层和传输层之间的信息交互来提高TCP的性能。在MAC层,利用已有的链路失败原因判断算法来判定丢包原因,并将判断结果反馈到网络层。在网络层,路由协议根据MAC层的反馈信息,能够感知网络中拥塞的发生,进而启动一种逐跳的拥塞控制方法,积极地参与拥塞控制;在此过程中,利用AODV协议的RERR消息将丢包原因捎带回源端,源端利用ICMP协议将丢包原因反馈到传输层。在传输层,TCP对于拥塞造成的丢包,立即减小拥塞窗口以降低发送速率;对于节点移动造成的丢包,TCP冻结一段时间,从冻结状态恢复后,TCP调整拥塞窗口大小、慢启动阈值和RTO,从而计算出一个合适的速率进行数据传输。本文在NS2上实现了该方案,并在多种场景下对该方案进行检验。仿真结果表明,该方案能够降低TCP慢启动次数,减少路由发现次数,在静态场景下吞吐率能够比原方案提高15%到20%,动态场景下也有小幅的提高。