码迷,mamicode.com
首页 > 其他好文 > 详细

BT种子

时间:2020-05-09 19:24:07      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:删除   tor   无法   通讯   告诉   数据   请求   http协议   返回   

一. BT种子

1. torrent文件的原理:当你对一个文件(或者文件夹)制作成.torrent文件,实际上是将一些信息放入生成的.torrent文件,通过这些信息其他用户就可以进行下载,如果你是种子制作者你要在线,否则这个种子是无法下载的,但是当有其他用户通过你的种子下载了,那么这些已经下载完了的用户在线,其他用户也能下载

2. 下载软件拿到.torrent文件后,先进行打开,读取里面的这些信息

A)torrent中有Tracker的地址,下载软件拿到后,会去跟Tracker进行通讯,告诉Tracker:我要下载这个文件, Tracker收到请求后,会记录这个客户端的公网IP(记录这厮在下载这个文件),同时呢,会返回给他:我这边还知道哪些人也在下载这个文件,一般是会返回200个IP(如果不够,当然就有多少返回多少)。当然了,如果下载过程中,协议要求你必须5分钟跟tracker通讯一次,如果太久不通讯,tracker就认为你下线了,会把你从节点列表中删除的。

B)客户端拿到了一堆IP后,就开始挨个去尝试连接,连上后就开始互相通讯了。比如告诉对方,我有哪些分块,问问对方有哪些,然后把我有的给对方;让对方把他有的某一块给我,这样就你来我往开始了下载。当然,如果很悲催的情况下,此时没别人在线,那就只能没速度了,就只能不停的找啊找啊找朋友,直到找到一个好朋友。

C)当然,如果torrent中有一个P2SP的Http地址辅助下载,那么也可以同时从这个Http服务器要数据,也会把这个服务器当成一个普通的节点,每次要1块数据,通过Http协议里面的Range标记,指定只要一部分数据过来辅助下载。

D)如果Tracker服务器出问题了,连不上这个问询的服务器,就拿不到周围的邻居节点,怎么办?---NB的BT发明者提出了DHT的概念,就算Tracker连不上了,也可以通过分布式哈希表DHT技术,通过DHT网络慢慢的寻找志同道合的邻居节点,只是没有Tracker那么直接那么快速,但慢一些总还是有机会找到邻居的。

BT种子

标签:删除   tor   无法   通讯   告诉   数据   请求   http协议   返回   

原文地址:https://www.cnblogs.com/dlm17/p/12859373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!