这个翻译版本由孤波独立完成.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这个翻译版本由孤波独立完成

这个翻译版本由孤波独立完成 原文见/BitTorrent/protocol.html 作者Bram Cohen 孤波享有对该翻译版本解释权修改权 非商业引用请注明译者 目前处在Beta测试中,很不完善,请不要转贴或引用 希望高人提出建议和指出错误错误不断完善 尤其请注意后面几段,我都不知道自己翻译的什么 我将在尽量3天内发出正式版本。 BitTorrent协议详解 BitTrrent(简称BT,比特洪流)是一个文件分发协议,它通过URL识别内容并且和网络无缝结合。它在HTTP平台上的优势在于,同时下在一个文件的下载者在下载的同时不断互相上传数据,使文件源可以在很有限的负载增加的情况下支持大量下载者同时下载。 一个BT式文件分发需要以下实体: ·一个普通网络服务器 ·一个静态元信息文件 ·一个BT Tracker ·一个“原始”下载者 ·网络终端浏览者 ·网络终端下载者 这里假设理想情况下一个文件有多个下载者。 架设一个BT服务器步骤如下: 1.开始运行Tracker(已运行的跳过这一步); 2.开始运行普通网络服务器端程序,如Apache,已运行的跳过这一步; 3.在网络服务器上将.torrent文件关联到Mimetype类型application/x-bittorrent(已关联的跳过这一步); 4.用要发布的完整文件和Tracker的URL创建一个元信息文件(.torrent文件); 5.将元信息文件放置在网络服务器上; 6.在网页上发布元信息文件(.torrent文件)链接; 7.原始下载者提供完整的文件(原本)。 通过BT下载步骤如下: 1.安装BT客户端程序(已安装的跳过这一步); 2.上网; 3.点击一个链到.torrent文件的链接; 4.选择本地存储路径,选定需要下载的文件(对有选择下载功能的BT客户端用户); 5.等待下载完成; 6.用户退出下载(之前下载者不停止上传)。 连接状况如下: ·网站正常提供静态文件连接,并且启动客户端上的BT程序; ·Tracker即时接收所有下载者信息,并且给每个下载者一份随机的peer列表。通过HTTP或HTTPS协议实现; ·下载者每隔一段时间连一次Tracher,告知自己的进度,并和那些已经直接连接上的peer进行数据的上传下载。这些连接遵循BitTorrent peer协议,通过TCP协议进行通信。 ·原始下载者只上传不下载,他拥有整个文件,所以很必要向网络中传输完文件的所有部分。在一些人气很旺的下载中,原始下载者经常可以在较短的时间内退出上传,由其它已经下载到整个文件的下载者继续提供上传。 元信息文件和Tracker的回应信息都以一种简单高效可扩展的格式(Bencoding,B编码)传送。B编码过的信息就是以包含字符串和整型数据的字典和列表的嵌套(像在Python中一样),可扩展性是指可以通过减少字典忽略的关键值来添加新的特性。 B编码规则如下: ·字符串表示为十进制数的既定字符串长度加冒号再跟原字符串。 如4:spam就相当于spam。 ·整型数据表示成前面加i后面加e中间是十进制数,如i3e就相当于3,i-3e就是-3。整型数据没有长度限制。i-0e无效,所有以i0开头的除了代表0的i0e,其它都无效。 ·列表编码为一个l开头后面跟它所包含的项目(已经编码过)最后加一个e,比如l4:spam4:eggse就等于[spam, eggs]。 ·字典编码为一个d开头后面跟一个交替关键值(key)及其对应值的列表最后加一个e。 如:d3:cow3:moo4:spam4:eggse相当于{cow: moo, spam: eggs} d4:spaml1:a1:bee相当于{spam: [a, b]} 关键值必须是处理过的字符串(用原始字符串编码的,而且不是数字字母混合编码的)。 元信息文件就是B编码的有以下关键值的字典: announce(声明) Tracker的URL。 info(信息) 此关键值对应一个字典包含以下描述的关键值: 关键值name对应一个字符串,代表默认的下载文件或存成目录的名字。它是纯粹建议性的。 关键值piece length(块长)对应文件分割成的块的字节数。出于传输需要,文件被分割成大小相等的块,除了最后一块通常会小一些。块长一般来说是2的权值,大部分设块长为256K(2的18次幂)。 关键值pieces(块)对应一个字符串,此字符串长度是20的倍数。它可以再分成每20字节一段的多个字符串,分别对应块在索引中的SHA1校验码(hash)。 还有关键值length(长度)和files(文件),它们不能同时出现也不能都不出现。当length出现说明这个元信息文件只是单文件下载,否则说明是多文件的目录结构

文档评论(0)

xyl118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档