论文部分内容阅读
无线Mesh网络由于能够提供随时随地的低廉的Internet访问而被广泛的应用。但是城市结构和各种干扰的存在使得无线Mesh网络面临低链路质量的问题。机会路由通过高效使用无线传输的广播特性显著地提高了无线网络的吞吐量。基于网络编码的机会路由可以避免复杂的调度,更加易于实现,同时进一步提高了吞吐量。然而网络编码的引入也给机会路由协议带来了新的问题,即节点的冗余转发问题。依据平均链路状况信息计算节点期望转发的编码包数目,并按照该期望值以一定的频率来转发编码包的协议在链路状况不稳定的无线环境中,协议性能会显著下降。为了减少网络动态变化对协议性能的影响,近来一些研究通过逐跳反馈正交向量进行确认的方式来减少编码包的冗余发送。本文通过理论分析指出基于正交向量确认的机制存在“信息空间已覆盖而无法正交”的漏判问题,并会导致不必要包的发送。在此基础上,本文提出了一种基于累积编码系数确认的网络编码机会路由协议C3ACK。该确认机制中转发节点侦听下游节点的编码向量,并将其与来自上游节点的编码向量做相关性分析,从而获知下游节点信息是否覆盖自身信息。论文证明了在无差错网络环境下该确认机制不存在误判和漏判的可能。同时针对有差错网络环境下,对该确认机制的有效性进行了分析,结果表明在一般节点分布情况下,利用额外的一次携带确认,可以确保90%以上的准确性。NS2仿真测试表明,相比采用正交向量确认机制的协议,C3ACK显著提高了网络的吞吐量,同时在编码计算、存储和包头开销上都少于采用正交向量确认机制的协议。为了进一步验证协议的有效性,我们在基于Linux的平台上搭建了无线Mesh测试床,在测试平台上利用模块化路由器Click实现了CCACK和C3ACK协议,并将其与MORE协议一起运行在测试平台上,通过多个测试点的部署,对三者的实测性能进行了比较。尽管C3ACK在测试床上的性能表现受到了测试床规模的限制,但是长路径拓扑上的测试结果还是表明了在真实的网络环境中,C3ACK同样能够显著提高网络的吞吐量。