论文部分内容阅读
传输控制协议TCP由于“丢包即拥塞”的设计思想使其在网络随机丢包率较高的环境中传输性能急剧下降,针对这一不足产生过许多改进方案,然而出发点大都局限于如何区分造成丢包的原因或者对传输参数进行调整,因此并没有产生质的飞跃,而网络编码技术的出现为解决这一难题提供了新思路。基于网络编码设计的TCP/NC协议充分利用了节点的计算能力并对数据进行了融合,打破了原有数据包的顺序性,在不区分产生丢包原因的前提下很好地屏蔽了因网络随机丢包造成的拥塞控制机制的调用,从而在随机丢包率较高的网络中大幅提升了其传输性能。然而该协议只提供了一个基本框架,对如何进行有效的编解码操作并未提供具体的实现细节,并且由于编解码操作造成的大量传输和计算开销也没有得到很好的优化,而高效可用的编解码算法是设计与实现该协议的关键,因此尚需进一步研究和改进。本文在深入研究网络编码技术和TCP/NC协议的基础之上,对随机线性编解码操作进行了开发与实现,在仿真环境下实现了该协议,并针对协议中编解码算法的不足,提出了一种改进的固定系数矩阵编解码算法,具体研究工作主要包括以下几个方面:(1)基于伽罗华域运算设计实现了高可用的随机线性编解码算法,该算法利用查表法很好地降低了伽罗华域乘法计算的复杂度,并在仿真环境下验证了编解码的正确性。(2)设计并实现了一套算法验证系统,用于验证编解码算法的正确性和复杂性,并可根据接口规范修改和替换编解码函数,具有良好的可扩展性。(3)利用NS2对TCP/NC协议进行了仿真实现,并与母体协议TCP-vegas进行了对比评估。结果表明,在丢包率为5%和10%的网络中,TCP/NC的吞吐量达到了相同条件下TCP-vegas的4.7倍和8.1倍,传输速率是TCP-vegas的3.8倍和12.1倍。(4)针对随机线性编解码算法由于发送编码参数造成大量的额外网络传输开销,以及解码端复杂计算产生的计算CPU消耗和延时,提出了一种固定系数矩阵编解码算法,减小了网络传输开销。在相同参数设置的仿真环境下,执行一次解码操作减少了28.9%的伽罗华域运算次数,具有更低的计算复杂度。