天天使用的BT、磁力、种子、直链、PT,到底是什么意思?

天天使用的BT、磁力、种子、直链、PT,到底是什么意思?

如果你经常在网上下载各种资源,那你就很有可能听说过并且一定使用过上面提到的这些下载方式,但你却不一定知道他们到底是什么,又有什么用。所以今天就跟大家一起来学习一下,这些下载方式具体都是做什么的,又有什么区别?原理是什么?

现在我们先来思考一个问题,假如我现在开发了一个特别牛的软件,想要分享给大家,需要怎么做?最简单的方式就是我把它放在一台服务器上,比如上传到某某网盘的服务器,然后分享出来一个链接,大家拿着链接去下载,这种下载链接一般都是以HTTP或者HTTPS开头的,这就是最常见的下载方式,也就是直链。我们生活中能遇到的大部分下载场景,比如在音乐软件缓存歌曲,去小说网站下载小说,应用官网下载软件,都是使用的直链,这种方式虽然简单,但却有一些很致命的问题,一是分享者只有我自己,而我的网络带宽是有限的,如果很多人都来我这里下载文件的话,会把我的带宽占满,然后影响所有人的下载速度,二是分享者只有我自己,这种方式是中心化的,如果我这边出了什么问题,比如服务器崩掉了,家里停电了,或者我取消了分享,那大家就都别想下载了。针对这种问题,有人想出来了一种解决方案,既然很多人都需要下载同一个资源,那如果A下载好了,资源已经在A的电脑上,那B下载的时候是不是可以不经过服务器,而是直接从A那里拿?在B下载完成之后,C如果想下载也不需要经过服务器,而是直接从AB那里拿,这样就不需要所有人都去排队挤同一个服务器下载了,可以说是好处多多。而这种方式还可以进一步的优化,比如ABC三个人同时下载一个文件,那可以把这个文件直接拆分成三块,A下载开头,B下载中间,C下载结尾,然后三个人相互交换手中的部分,各自合成一个完整的文件,这样参与的人越多,下载的速度也就越快,可想而知,使用这种方式来下载文件,体验就会非常愉快。

这种听起来很好的下载方案就是peer-to-peer,群对群,简称P2P,依据这种思想,BitTorrent协议,也就是我们常说的BT下载就诞生了。BT协议需要最初的资源参加者先制作一个种子文件,这种文件通常是以torrent结尾,在种子里边会记住两种信息,一种是文件信息,包括文件的名字、体积、分块大小等等,另一种是Tracker信息,其中包含Tracker服务器的地址和设置。等等,刚刚不是说不需要服务器了吗?为什么又冒出来一个Tracker服务器?

这就需要讲一下BT的具体工作流程了。我们上面说P2P 的方式下载文件时,主要是从下载了同一个文件的用户那里拿数据,那互联网这么大,几十亿用户,我们怎么才能知道到底谁下载了这个文件?这时候就需要用到Tracker服务器了。在使用BT种子下载的时候,首先会根据种子里记录的Tracker信息找到Tracker服务器,并告诉服务器你要下载这个文件,Tracker服务器会记录下你的地址,同时返回给你其他下载了这个文件的用户地址名单,然后你就可以根据这个名单去挨个找其他用户要文件了。

听起来好像很美好,但其实它有两个致命的缺陷,依旧是这种下载方式还是需要用到服务器的,一旦Tracker服务器被干掉,那一切都成了空。所以Tracker服务器就成了各大版权组织的打击目标,很多服务器都因此关闭面,这种情况也有一个解决方案,就是自己指定Tracker服务器,有一个叫TrackersList的项目,就维护了大量优质Tracker服务器名单,你可以直接使用。二就是在BT协议里,他的上传全凭自愿,如果碰到没有分享精神的人,自己下载完文件就直接把电脑关了,或者限制上传速度,如果这样的人多了,只有人下载,没有人上传。BT协议这一套就玩不转了,这种吸血鬼行为会对整个BT网络造成严重的伤害。国内的某个下载软件就是依靠这种方式囤集了大量的资源,并且限制其他下载器从他的服务器获取资源。BT用户只能使用他家的下载器,然后做大做强起家的。

为了解决这种弊端,就诞生了另外两种模式,磁力和PT。我们先来讲讲磁力,它最大的优化就是彻底摆脱了对服务器的依赖。在磁力中没有固定的Track口服务器,而是把每个人都变成了Track口服务器。一个磁力链接通常是这样的

前面的这半部分是固定内容,每个词里都有,后面的这部分是文件的标识,你可以理解为文件的身份证,它是有一套算法生成的,有了它之后就可以找到具体的文件并下载了。而磁力和BT最大的不同就是在找文件的过程。BT是先找一个固定的Tracker服务器,然后再通过服务器找有对应文件的用户,而磁力则是使用了一种叫做DHT的网络技术。我们使用磁力下的文件时,首先会被拉入一个DHT网络,然后我需要在这个网络里边寻找Tracker,并最终找到文件,寻找Tracker的过程还是稍微有一点点复杂的,但是我们可以简单的把它抽象一下,就类似于我想要找到影视飓风的tim,首先被拉入了一个线下的博主聚会,然后我就可以去找离我最近的博主,问他你认识Tim吗?如果他认识,那就相当于他是Tracker,可以直接帮助我找到Tim,如果不认识,那他也会去问他身边的人是否认识Tim,这样一层层的问出去,直到找到认识的人,然后以这个人为Tracker,最终达到我找到Tim的目的,找到Tracker之后的下载过程就和BT下载是一样的了。

那PT又是什么呢?

我们前面说过,在BT下载中会经常有类似吸血鬼的存在,这些人只下载不上传,而PT就是在BT的基础上增加了一些规则来防止这些问题。首先,PT会把使用者限制在一个小圈子内,比如某某群、某某论坛,只有加入了圈子才能下载,然后会增加一些类似积分的机制,你必须要先上传获得积分,然后才有下载的资格。如果想要在PT中当一个吸血鬼,很可能会被直接踢掉。这就保证了PT的使用者上传数据量和下载数据量是对的。付出才有回报。

最后我们简单做一个总结,不管是BT、磁力还是PT,其实都是P2P下载的一种,只是在具体表现形式上有所区别,单纯的P2P下载是需要有用户上传才能完成的,如果没有用户上传,那就下载不了。使用BT下载时需要有Tracker服务器,如果种子内的Tracker服务器用不了,可以去一个叫做Tracker类似的项目中找其他服务器,如果是比较冷门的资源,很大概率是没有人上传的,那你也就无法下载。碰到这种情况,可以更换更加热门的种子,或者换时间碰碰运气看是否有人上传。也可以尝试百度网盘的离线下载,或者使用迅雷,因为他们的服务器保存了大量的资源,并且只能用他们的下载器,很有可能就会有你想要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破碎的天堂鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值