聊聊关于下载的事儿

一、前言

经常下载电影,有一天,看到磁力链接后停顿了一下,冒出些疑问。

1.什么是磁力链接?

2.网站中下载个东西,都是域名后面加路径,是放在网站服务器上的。那么磁力链接的东西放哪里了?

3.迅雷下载时,有时速度是0Kb。自己家的电脑100M带宽,为什么下载速度只有200Kb,办了迅雷会员之后,就提升了很多?

4.我能不能也上传个东西,让别人下载? 

今天外面阳光明媚,小风微凉,客官坐下,歇歇脚,听我说一段。

 

二、开说

1.什么是磁力链接?

magnet:?xt=urn:btih:9189177a3a2903c7aad5e469d94045d7e0387d67

长成这种样子的是磁力链接,它可以用迅雷或是BitComet等下载东西。

magnet英文单词是磁铁的意思。

xt是最常见的参数,是"exact topic"的缩写,通常是一个特定的文件内容散列函数形成的URN。

btih是BitTorrent Info Hash。

我们知道了,这个形状的就是磁力链接。那么这种链接跟最早的https://xxxx.com/download/yyyy.mp3这种形式有什么本质不同呢?

类似https://xxxx.com/download/yyyy.mp3这种形式的资源,我们知道是从它的网站服务器进行下载的,如果服务器关闭了,我们无法下载。而且,这种下载形式是一对多的关系,一个服务中心,对应所有的下载用户。当下载用户多的时候,也会对服务器产生压力。 

那么有什么办法解决这个问题呢?BT登场了。

BT(他不是变态的中文缩写)代表BItTorrent协议。它用在对等网络中分件分享的网络协议。和P2P(point-to-point)的协议程序不同,它是用户群对用户群(peer-to-peer),而且用户越多,下载同一文件的人越多,下载该文件的速度越快。且下载后,继续维持上传的状态,就可以“分享”,成为其用户端节点下载的种子文件(.torrent),同时上传及下载。根据BT协议,我们在网络中,既是下载者,同时也是种子的提供者。

我们的网络传输,有下载速度和上传速度,我们在下载东西的同时,也会做为一个peer,将下载到的东西上传给其他要下载的用户,这样就加快了所有人下载的速度。

我再说一下前面提到的种子,即种子文件。

 种子文件本质上是文本文件,它包含Tracker信息和文件信息两部分。文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方。

 我用迅雷打开种子文件如下图

 里面显示要下载文件的名称、类型、大小等信息。

那么什么是Tracker呢?它是收集下载者信息的服务器,并将此信息提供给其他下载者,使下载者们相互连接起来,传输数据。

 

 3.迅雷下载速度为什么慢?

下载时,需要寻找种子。有的种子资源少,那么下载就会慢,有时找不到种子的提供者,所以打开种子后,半天都是显示寻找种子资源。有时,办了迅雷会员后,真的是你的网速快了吗?当然不是。是迅雷分享个会员的连接数多了。可以理解成,如果你是普通用户,用迅雷下载时,有10个人给你提供资源块。你升级成会员后,100个人给你提供资源块。

 

4.自己可以上传文件,让别人下载吗?

当然可以。

参考下面链接:我照着试了,可用。

制作BT(BitTorrent)种子和磁力链接教程通过BT分享文件
https://www.renfei.net/posts/1003434

 

参考:

磁力链接是如何实现下载的?
https://www.aneasystone.com/archives/2015/05/how-does-magnet-link-work.html

https://www.tjsky.net/tutorial/80


制作BT(BitTorrent)种子和磁力链接教程通过BT分享文件
https://www.renfei.net/posts/1003434


bitcomet_v1.9.0.apk
https://download.bitcomet.com/apk/bitcomet_v1.9.0.apk
软件下载地址:
https://www.bitcomet.com/en/downloads

TrackersList.com
https://trackerslist.com/#/zh

 

posted @ 2022-12-18 13:58  Mr.袋鼠  阅读(440)  评论(0编辑  收藏  举报