BT分析libTorrent分析.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BT分析libTorrent分析

BT协议库libtorrent的种子文件解析方法探究 吴海1 1 北京邮电大学信息与通信工程学院,北京 (100876) E-mail :nosea921@ 摘 要:本文首先简单介绍了近年流行起来的P2P 通信模式的网络架构,将其与传统的C/S 架构进行比较并总结出了 P2P 的三种应用方式及其各自的代表软件。之后,本文介绍了构 成BitTorrent 协议的三大部分(种子文件、Http 协议、peer wire 协议)并分析了协议的工作 过程细节。根据种子文件的特定格式和Bencoding 编码规则,本文对BT 协议库libtorrent 中 负责对种子文件进行解析的模块进行剖析,解释了该模块的相关类的定义和解析种子文件的 实际函数,为基于BT 协议的下载程序的种子文件解析模块的设计提供了一种较好的思路。 关键词:BitTorrent 协议 libtorrent 种子文件解析 中图分类号:TP312 1. 引言 传统的网络服务模式,所有的下载开销都在服务器上,由于服务器性能和带宽的限制, 服务器往往要限定用户的数量和访问速率;而使用基于BT 协议的共享软件,可以把下载的 开销分摊到每个下载者那里,在理论上支持无限多个下载者下载同一个文件,充分提高文 件共享效率。本文简要分析了BT 协议的工作原理,剖析了BT 协议库libtorrent 中种子文件 的解析方法,利用这种解析方法分析出的结果,下载程序就可以开发出BT 下载软件。 2. BT 网络架构 传统的因特网服务如Web 、FTP 、DNS 等均使用客户机/服务器(C/S )模式进行通信。 C/S 模式的特征是:服务器是总是打开的主机,具有永久的IP 地址,并可扩展为服务器池; 客户机与服务器直接通信,可以间歇地与服务器连接,可以具有动态的IP 地址,并且客户 机彼此之间不直接通信。C/S 模式的最大特点是服务和资源集中,所有对服务请求的处理通 常是由服务器完成的[1] 。 对等方到对等方(peer-to-peer ,P2P )是近年来流行起来的通信模式。P2P 模式的特征 是:服务和资源分布化,资源不集中存储在某些设备上,而是分散存储在运行 P2P 程序的 设备上,每一个对等方都可以为其他对等方提供服务。 P2P 应用方式分为3 类:集中式目录、分布式查询和结合这两者的混合方式[2] 。集中式 目录模式属于第一代P2P 应用,使用一台大型服务器(或服务器场)来提供目录服务,其 代表是Napster ,缺点是存在单点故障、性能瓶颈和侵犯版权等问题。分布式查询将目录服 务完全分布在覆盖网络的所有对等方中,每一个对等方负责维护一部分目录内容。系统采 用洪泛查询(query flooding )算法使用户获得文件信息,收到该报文的主机向它们的所有邻 居转发该报文,这些邻居又依次向它们的所有邻居转发该报文等,其代表是Gnutella 。第3 种方式是前两种方式的结合,其中一种实现方法是将覆盖网络中的对等方划分为若干小组, - 1 - 每个小组选取一个具有高带宽连接和高因特网连接性的成员作为组长,组长负责管理组内 成员及与其他组长通信。在小组内使用集中式目录服务,服务器就是该组的组长。各组长 之间使用分布式的目录服务。混合方式目前在P2P 应用中使用最为广泛,其代表是BitTorrent (以下简称BT )。 BT 网络由如下几部分组成:.torrent 文件、种子提供站点、目录服务器和内容发布者/ 下载者。 (1).torrent 文件是一个文本文件,包含了tracker 信息和文件信息两部分。tracker 信 息主要是指BT 下载中需要用到的tracker 服务器的地址和针对tracker 服务器的设置;文件 信息是指将目标文件计算处理后再根据BT 协议的B 编码规则编码后得到的信息。BT 的主 要原理是把提供下载的文件虚拟分成大小相等的块,块大小必须为2Kbyte 的整数次方,并 把每个块的索引信息和H

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档