文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发IT人生BitTorrent 协议规范(翻译)
精品推荐
特别推荐
·值得回忆的本科四年学习(1-6)
·如何检测内存泄漏——重载new和delete
·Linux IPC小结
·编程初学者的良言警句
·如何用正确的方法写出高质量软件的75条体会
·一个程序员的经典自白
·程序员十大安全技巧
热点TOP10
·网管工作总结--我的网管生活经历
·李纳斯·托沃兹(Linus Torvalds):Linux之父
·华硕员工长篇记实:天堂向左,华硕往右
·将CStdioFile类扩展,读取UNICODE文本文件
·VC++学习方法及书籍推荐
·SP 短信开发-PROVISION接口实现-正向订购实例代码
·从ACM会议看中国大陆计算机科学与国外的差距-- 灵芯
·如何检测内存泄漏——重载new和delete
·七年之后我逃离编程
·用DirectDraw编写动画程序
·dotproject 安装总结
·老程序员十年生涯黯然总结
·回调设计模式
·IT人的酸甜苦辣 女测试工程师的成长
·Linux IPC小结
·一位30岁软件工程硕士的困惑
·值得回忆的本科四年学习(1-6)
·老程序员十年生涯黯然总结(四)
·SP 短信开发-PROVISION接口实现-反向取消实例代码
·从与客户沟通谈程序员的内在职业素养

BitTorrent 协议规范(翻译)

日期:2007年4月28日 作者: 查看:[大字体 中字体 小字体]


BitTorrent 协议规范(翻译)

BitTorrent 协议规范原文(英文)

BitTorrent 是一种分发文件的协议。它通过URL来识别内容,并且可以无缝的和web进行交互。它基于HTTP协议,它的优势是:如果有多个下载者并发的下载同一个文件,那么,每个下载者也同时为其它下载者上传文件,这样,文件源可以支持大量的用户进行下载,而只带来适当的负载的增长。(译注:因为大量的负载被均衡到整个系统中,所以提供源文件的机器的负载只有少量增长)

一个BT文件分布系统由下列实体组成:
一个普通的web服务器
一个静态的“元信息”文件
一个跟踪(tracker)服务器
终端用户的web浏览器
终端下载者

理想的情况是多个终端用户在下载同一个文件。
要提供文件共享,那么一台主机需要执行以下步骤:
Ø运行一个 tracker服务器(或者,已经有一个tracker服务器在运行了也可以)
Ø运行一个web服务器,例如apache,或者已经有一个web服务器在运行了。
Ø在web服务器上,将文件扩展名.torrent 和MIME类型 application/x-bittorrent关联起来(或者已经关联了)
Ø根据 tracker服务器的 URL 和要共享的文件来创建一个“元信息”文件(.torrent)。
Ø将“元信息”文件发布到web服务器上
Ø在某个web页面上,添加一个到“元信息”文件的链接。
Ø运行一个已经拥有完整文件的下载者(被成为’origin’,或者’seed’,种子)

要开始下载文件,那么终端用户执行以下步骤:
Ø安装 BT(或者已经安装)
Ø访问提供 .torrent 文件的web服务器
Ø点击到 .torrent 文件的链接(译注:这时候,bt会弹出一个对话框)
Ø选择要把下载的文件保存到哪里?或者是一次断点续传
Ø等待下载的完成。
Ø结束bt程序的运行(如果不主动结束,那么bt会一直为其它人提供文件上传)

各个部分之间的连通性如下:
网站负责提供一个静态的文件,而把BT辅助程序(客户端)放在客户端机器上。
Trackers从所有下载者处接收信息,并返回给它们一个随机的peers的列表。这种交互是通过HTTP或HTTPS协议来完成的。
下载者周期性的向tracker登记,使得tracker能了解它们的进度;下载者之间通过直接连接进行数据的上传和下载。这种连接使用的是 BitTorrent 对等协议,它基于TCP。
Origin只负责上传,从不下载,因为它已经拥有了完整的文件。Origin是必须的。

元文件和tracker的响应都采用的是一种简单、有效、可扩展的格式,被称为bencoding,它可以包含字符串和整数。由于对不需要的字典关键字可以忽略,所以这种格式具有可扩展性,其它选项以后可以方便的加进来。

Bencoding格式如下:
对于字符串,首先是一个字符串的长度,然后是冒号,后面跟着实际的字符串,例如:4:spam,就是“ spam”
整数编码如下,以 ‘i’ 开始,然后10进制的整数值,最后以’e’结尾。例如,i3e表示3,I-3e表示-3。整数没有大小限制。I-0e是无效的。除了 i0e外,所以以0起始的整数都无效。I0e当然表示0。
列表编码如下,以’l’开始,接下来是列表值的编码(也采用bencoded编码),最后以’e’结束。例如:l4:spam4:eggse 表示 [‘spam’, ‘eggs’]。
字典编码如下,以’d’开始,接下来是可选的keys和它对应的值,最户以’e’结束。例如:d3:cow3:moo4:spam4:eggse,表示{‘cow’:’moo’,’spam’:’eggs’},而d4:spaml1:al:bee 表示 {‘spam’:[‘a’,’b’]}。键值必须是字符串,而且已经排序(并非是按照字母顺序排序,而是根据原始的字符串进行排序)。

元文件是采用bencoded编码的字典,包括以下关键字:

announce tracker的服务器

info 它实际上是一个字典,包括以下关键字:

Name:
一个字符串,在保存文件的时候,作为一个建议值。仅仅是个建议而已,你可以用别的名字保存文件。
Piece length:
为了更好的传输,文件被分隔成等长的片断,除了最后一个片断以外,这个值就是片断的大小。片断大小几乎一直都是2的幂,最常用的是 256k(BT的前一个版本3.2,用的是1M作为默认大小)
Pieces:
一个长度为20的整数倍的字符串。它将再被分隔为20字节长的字符串,每个子串都是相应片断的hash值。


[1] [2] [3] 下一页 




上一篇:当今职场上广为流传的十大精辟语录

下一篇:[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(八)

BitTorrent 协议规范(翻译) 相关文章:
·免费英语在线翻译
·在ASP.NET中防止注入攻击[翻译]
·各领域下最好的一些免费软件(翻译)
·巴塞尔新资本协议概述
·UDT协议-基于UDP的可靠数据传输协议
·删除Vista无用协议 提升上网速度
·文件传输协议(File Transfer Protocol, FTP)
·Ad Hoc网络协议栈通用要求研究
·QQ 协议2005beta2 版协议分析
·SQL IF..ELSE..在存储过程的使用规范
BitTorrent 协议规范(翻译) 相关软件:
·大众翻译软件(时代翻译通)V7.0
·建筑抗震设计规范GB50011-2001
·TCP-IP详解卷1:协议
·混凝土结构设计规范GB50010-2002
·规范大全电子版.chm
·钢结构工程施工质量验收规范GB50205-2001
·网桥 路由器 交换机和互连协议教材
·历年考研英语真题阅读理解部分中文翻译(1992—2003年word版)
·斯大林私人翻译回忆录
·结构工程师、建筑师考试用《建筑专业规范大全》

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot