




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、P2P从入门到实践什么是什么是BitTorrent? BT全名为BitTorrent,是一个P2P下载软件(点对点下载软件),你在下载的同时,也在为其他用户提供该文件的上传,因为大家是“互相帮助”,所以不会随着用户数的增加产生服务器拥塞而降低下载速度。BitTorrent的应用的应用 Bittorrent已经成为最为流行的P2P软件,在2004年6月的Cachelogic的一份测试是报告中提到Bittorrent的数据流量已经占到整个P2P数据流量的52%。 与其他传统P2P软件如Gnutella,Fasttrack不同,Bittorrent只是一个纯粹的文件下载协议,并提供搜索功能,所以往往
2、资源的获取要跟其他一些应用结合起来,比如说发布Bittorrent种子信息的网站或搜索引擎网站。BT下载的几个要素1、“元信息”文件(.torrent文件)2、Tracker服务器3、种子节点4、下载节点BT下载要素图示Web ServerBobTrackerDownloader:ASeeder:BDownloader:CHarry Potter.torrent元信息文件的发布通常用WEB服务器来发布已制作好的.torrent文件。例如:http:/bt.LOR.nethttp:/bt.HarryP ServerHarry Potter.torrentTransformer.torrentTh
3、e Lord of Ring.torrent.torrent 文件五要素文件五要素The URL of the tracker(Tracker服务器的URL)Pieces (文件分片)Piece length(分片的长度(大小)Name of the file(文件的名称)Length of the file(文件的大小)文件的分片在BT下载中,一个大的文件初分解成若干个文件分片,分片的大小,在64 KB 到1 MB之间。12345678Tracker服务器服务器IP地址, port(端口), peer id(节点ID)State information (状态消息Completed or D
4、ownloading)Returns a random list of peers(返回随机的Peer列表)BitTorrent下载过程下载过程Seeder(种子)(种子) = 提供完全文件的PeerInitial seeder (初始种子)=提供初始文件拷贝的PeerInitial seeder(初始种子)Seeder(种子)Leecher(下载者)正在下载且上传文件Leecher(下载者)简要示例Seeder: ADownloader B1,2,3,4,5,6,7,8,9,101,2,3Downloader C1,2,31,2,3,41,2,3,51,2,3,4,5BT下载的基本思路初始者
5、分解文件,制件.torrent文件下载者取得下载者取得.torrent 文件,连接Tracker服务器(tracker), Tracker告知下载者当前有哪些Peer(IP,Port)正在下载这个文件,下载者连接其它Peer下载文件分片。当一个Peer拥有一个完整的文件分片时,在下载的同时也上传自己已有的文件分片,这样各个Peer之间就可以实现交互共享。Peer将下载的所有文件分片,根据校验值,组合成一个完整的文件。BitTorrent协议规范BT协议规范,来源于BT官方网站,http:/ Protocol Specification。BT协议规范之说明来源及维护应用范围约定BT工作过程描述B
6、T协议规范之相关概念.torrent文件2TrackerTracker是指运行于服务器上的一个服务程序,也称Tracker服务器。这个程序能够追踪到底有多少人同时在下载或上传同一个文件。客户端连上Tracker服务器,就会获得一个正在下载和上传的用户的信息列表(通常包括IP地址、端口、客户端ID等信息),根据这些信息,BT客户端会自动连上别的用户进行下载和上传。3Client(客户端)(客户端)Client,泛指运行在用户自己电脑上的支持BitTorrent协议的程序。Client(客户)与Trackers服务器通信,这样,其他的客户端才能下载到那些发布的文件。4Seed(种子)(种子)BT把
7、提供完整文件档案的人称为种子(Seed)。某一个文件现在有多少种子是可以看到的,只要一个种子就可以放心地下载,一定能接收完。当然,种子越多、客户越多的文件接收起来的速度也就越快。5Re-Seed(补种)(补种)拥有文件的人发布文件之后一段时间,很有可能有人未下完这个文件,这个时候下完的人就可以re-seed一下,帮助那些还没有下载的朋友补完。6Hash(哈希)(哈希)Hash是指用一小段数据来标识容量很大的一段数据。以验证它的完整性,在BT下载中,Hash主要来验证文件的完整性,并且Hash还可以作为不同文件判别的标志。7SHA1 hashingSHA1 hashing 是BT使用的hash方
8、式BT协议规范之B编码字节串(字节串(byte strings)整数类型(整数类型(integers)Lists列表类型(列表类型(lists)字典数据型(字典数据型(dictionarys)BT协议规范之元信息文件结构“元信息文件元信息文件”的键值说明的键值说明Info DictionaryInfo键对应的值键对应的值Info in Single File Mode(单文件模式下的(单文件模式下的Info键)键)Info in Multiple File Mode(多文件模式下的(多文件模式下的Info键键)BitTorrent协议规范中对分片(协议规范中对分片(piece)的说明)的说明BT协议规范之Tracker的HTTP/HTTPS协议1Tracker的的Get请求请求2Tracker的请求参数(的请求参数(Tracker Request Parameters)Tracker服务器的应答(服务器的应答(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亲子乐园装饰项目管理合同
- 商铺租赁贷款居间合同样本
- 2025年度北京市家装工程监理合同示范文本
- 药品仓库装卸管理协议
- 冠名费赞助合同范例
- 公司欠款抵押合同范例
- 农业试验合同范例
- 农业项目战略合同范例
- 六座车买卖合同范例
- 个人门面标准合同范例
- 2025年湖南水利水电职业技术学院单招职业技能测试题库参考答案
- (部编版2025新教材)道德与法治一年级下册-第1课《有个新目标》课件
- 临床基于高级健康评估的高血压Ⅲ级合并脑梗死患者康复个案护理
- 2024年湖北省联合发展投资集团有限公司人员招聘考试题库及答案解析
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 2023年06月上海市浦东新区临港新片区文员招考聘用笔试题库含答案解析
- T∕ACSC 01-2022 辅助生殖医学中心建设标准(高清最新版)
- DELL-PS系列存储安装手册
- 声学原理及声学测试
- 浅谈如何培养中学生的体育学习动机
- 成品检验记录表
评论
0/150
提交评论