论文部分内容阅读
近年来,IPv6技术进入规模化部署阶段。与IPv4技术相比,IPv6技术具有地址资源丰富、网络传输效率高和安全性强等优点,使互联网上的设备连接更加简单、高效和安全。文件分发是P2P(Peer-to-Peer)技术的一个典型应用领域。但传统P2P文件分发系统存在依赖种子结点、数据块分布不均匀和带宽利用率不高等问题。因此,如何提升系统稳定性和带宽利用率成为文件分发研究的关键问题。喷泉码是一种纠删码技术,其最早应用于删除信道。近年来,喷泉码成为工程应用领域研究的热点。LT(Luby Transform)码是第一个实用喷泉码,且具有无码率、利于并行下载和各编码块等价的优点。本文对LT码应用于P2P文件分发系统这一课题进行了研究与实现,主要工作内容如下:(1)深入研究了LT码编码算法和译码算法的基本原理,介绍了两种常见的译码算法:置信传播(Belief Propagation,BP)译码算法和即时高斯消元(On the Fly Gaussian Elimination,OFG)译码算法。此外,本文对LT码的BP算法和OFG算法进行仿真实验和分析。基于C++语言,本文实现了对文件进行LT编码的功能。之后,利用BP算法和OFG算法的原理将编码后的文件成功恢复。(2)在Qt开发框架下设计并实现了P2P文件分发系统。系统组成包括Tracker服务器和P2P客户端。基于模块化设计的思想,本文分别实现了Tracker服务器和P2P客户端的功能。在此基础上,对独立设计的LT编码模块、译码模块和P2P文件分发模块进行了系统集成,并完成系统在IPv6环境下的配置。(3)在系统测试的过程中,完成了LT码参数的选择,并对编码时间、译码时间、译码开销和系统下载性能进行了测试。结果表明,对于同一个文件,随着数据块数目的增加,LT编译码的时间变长,译码性能变好。加入LT码的P2P文件分发系统能提高并行下载能力并改善数据块分布不均匀的情况。系统中参与下载的客户端越多,下载性能越好。