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

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

ID:9309938

大小:32.50 KB

页数:6页

时间:2018-04-27

这个翻译版本由孤波独立完成_第1页
这个翻译版本由孤波独立完成_第2页
这个翻译版本由孤波独立完成_第3页
这个翻译版本由孤波独立完成_第4页
这个翻译版本由孤波独立完成_第5页
资源描述:

《这个翻译版本由孤波独立完成》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、这个翻译版本由孤波独立完成原文见http://bitconjurer.org/BitTorrent/protocol.html作者BramCohen孤波享有对该翻译版本解释权修改权非商业引用请注明译者目前处在Beta测试中,很不完善,请不要转贴或引用希望高人提出建议和指出错误错误不断完善尤其请注意后面几段,我都不知道自己翻译的什么我将在尽量3天内发出正式版本。BitTorrent协议详解BitTrrent(简称BT,比特洪流)是一个文件分发协议,它通过URL识别内容并且和网络无缝结合。它在HTTP平台上的优势在于,同时下在一个文件的下载者在下载的同时不断互相上传数据,使文件源可以在

2、很有限的负载增加的情况下支持大量下载者同时下载。一个BT式文件分发需要以下实体:·一个普通网络服务器·一个静态元信息文件·一个BTTracker·一个“原始”下载者·网络终端浏览者·网络终端下载者这里假设理想情况下一个文件有多个下载者。架设一个BT服务器步骤如下:1.开始运行Tracker(已运行的跳过这一步);2.开始运行普通网络服务器端程序,如Apache,已运行的跳过这一步;3.在网络服务器上将.torrent文件关联到Mimetype类型application/x-bittorrent(已关联的跳过这一步);4.用要发布的完整文件和Tracker的URL创建一个元信息文件(

3、.torrent文件);5.将元信息文件放置在网络服务器上;6.在网页上发布元信息文件(.torrent文件)链接;7.原始下载者提供完整的文件(原本)。通过BT下载步骤如下:1.安装BT客户端程序(已安装的跳过这一步);2.上网;3.点击一个链到.torrent文件的链接;4.选择本地存储路径,选定需要下载的文件(对有选择下载功能的BT客户端用户);5.等待下载完成;6.用户退出下载(之前下载者不停止上传)。连接状况如下:·网站正常提供静态文件连接,并且启动客户端上的BT程序;·Tracker即时接收所有下载者信息,并且给每个下载者一份随机的peer列表。通过HTTP或HTTPS

4、协议实现;·下载者每隔一段时间连一次Tracher,告知自己的进度,并和那些已经直接连接上的peer进行数据的上传下载。这些连接遵循BitTorrentpeer协议,通过TCP协议进行通信。·原始下载者只上传不下载,他拥有整个文件,所以很必要向网络中传输完文件的所有部分。在一些人气很旺的下载中,原始下载者经常可以在较短的时间内退出上传,由其它已经下载到整个文件的下载者继续提供上传。元信息文件和Tracker的回应信息都以一种简单高效可扩展的格式(Bencoding,B编码)传送。B编码过的信息就是以包含字符串和整型数据的字典和列表的嵌套(像在Python中一样),可扩展性是指可以通

5、过减少字典忽略的关键值来添加新的特性。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:

6、moo4:spam4:eggse相当于{'cow':'moo','spam':'eggs'}d4:spaml1:a1:bee相当于{'spam':['a','b']}关键值必须是处理过的字符串(用原始字符串编码的,而且不是数字字母混合编码的)。元信息文件就是B编码的有以下关键值的字典:announce(声明)Tracker的URL。info(信息)此关键值对应一个字典包含以下描述的关键值:关键值name对应一个字符串,代表默认的下载文件或存成目录的名字。它是纯粹建议性的。关键值piecelength(块长)对应文件分割成的块的字节数。出于传输需要,文件被分割成大小相等的块,除了最后

7、一块通常会小一些。块长一般来说是2的权值,大部分设块长为256K(2的18次幂)。关键值pieces(块)对应一个字符串,此字符串长度是20的倍数。它可以再分成每20字节一段的多个字符串,分别对应块在索引中的SHA1校验码(hash)。还有关键值length(长度)和files(文件),它们不能同时出现也不能都不出现。当length出现说明这个元信息文件只是单文件下载,否则说明是多文件的目录结构下载。单文件情况下,length对应文件长度的字节数。多文件情况被看作是把

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。