黑科技科普,磁力链接和bt种子的区别

科技 3年前 (2021) KID
574 0

如果你要下载已失效的视频,该怎么办?

当然,最简单的方法是找到有资源的up主,并要求他将这段视频发送给您。 在Internet的早期,每个人都以这种方式共享文件,但这也有很多问题。

黑科技科普,磁力链接和bt种子的区别

例如,随着更多的人下载,分配给每个人的带宽变小,并且下载速度变慢。 更危险的是,该视频是敏感资源。 您的好友不应该与您分享。 如果抓到了up主,每个人都下载不了。

针对这些问题,美国工程师Bram Cohen在2001年发布了BitTorrent协议。资源不再由一个人或中央服务器提供,而是由每个人提供给每个人。 下载的人越多,速度越快点。 这种模式也称为点对点(用户组到用户组),这就是我们通常所说的黑科技资源下载(P2P下载)。

黑科技科普,磁力链接和bt种子的区别

BitTorrent的核心思想是将文件分成许多小块,以便下载器可以相互连接。

以这117.3 MB的视频为例。 将其划分为895 个128kB文件块后,下载第306个块的用户A可以与下载第11个块的用户B进行部分交换。 参与的人越多,交换越密集,下载速度越快。

黑科技科普,磁力链接和bt种子的区别

为此,BitTorrent协议要求资源共享程序生成一个种子文件,该文件包含带有后缀.torrent的下载信息,这就是我们通常所说的BT种子

种子文件包含文件的名称和大小,分区后每个文件的大小和哈希值以及Tracker服务器的地址。

黑科技科普,磁力链接和bt种子的区别

Tracker 跟踪器非常重要,通过跟踪器我们可以找到其他下载者的联系信息。

使用下载软件打开种子文件时,您将开始与种子文件内置的Tracker服务器联系,并告诉Tracker我要下载此文件。 服务器将记录您的IP并完成其他下载。 该人的IP将返回给您,以便您可以组队并愉快地下载它。

黑科技科普,磁力链接和bt种子的区别

当然,如果找不到正在下载的人并且资源发布者不在线,则只能以0kb / s的速度等待。

不难发现Tracker服务器是P2P网络的弱点。 如果跟踪器已关闭或被禁止,则将找不到您的同伴,并且将很难完成下载。

黑科技科普,磁力链接和bt种子的区别

为了摆脱对Tracker服务器的依赖,当今最受欢迎的下载方法是磁力链接磁力URI方案),通常是一串神秘的代码,如下所示:

magnet:?xt=urn:btih:1a427c8498f72b9a27fde87662dbeb6fc043fc47

前面是所有标准格式,最重要的是这40个十六进制数字。 放入哈希算法的任何文件都可以获取由40位,十六进制的字符组成的字符串,并且仅属于此文件。 您可以将其视为文件ID,它可以帮助我们找到要下载的文件。

黑科技科普,磁力链接和bt种子的区别

磁性链接的本质是将每个人都变成一个小型跟踪器,并且每个人都拥有动态更新的地址和文件信息。 我寻找了10个与我有联系的人,他们每个人都寻找了10个人,然后从十人变成多人,成百上千,成千上万。 最后,我找到了资源并在线连线

黑科技科普,磁力链接和bt种子的区别

但是,这种让每个人都找到所有人的方案实际上并不是很好。 它不仅占用大量资源,而且效率很低。 它也可能重复出现,并导致广播灾难。

这时,您需要添加一个关键信息距离。

请注意,此处的距离不是空间距离,而是逻辑距离。

黑科技科普,磁力链接和bt种子的区别

重点来了!接下来,我会详细解释磁力链接使用的 DHT 网络的构建过程,有一点点难,但是真的非常有意思。让我们开始吧。

刚刚说了,每个磁力链接都有一串唯一的文件 ID,可以产生 2 的 (4*40) 即 2 的 160 次方种组合,用只有 0 和 1 的二进制表示就是 160 个 0 和 1。

黑科技科普,磁力链接和bt种子的区别

每个节点还具有一个160位的字符串0和1作为节点ID。 基于这160位数字,我们可以计算节点之间以及节点与资源之间的距离。

黑科技科普,磁力链接和bt种子的区别

假设星辰册发布文件,他都可以计算出他知道的节点ID与文件ID之间的距离,并让距离最短的节点计算出节点与它知道的文件ID之间的距离。 重复此过程以查找与文件ID距离最短的那批节点ID,在此存储每只星辰册提供的下载信息。

黑科技科普,磁力链接和bt种子的区别

通过这种方式,下载程序仅需要找到与文件ID接近的节点ID即可建立连接并开始下载。

但是,该距离如何计算呢?

这是有趣的部分。 节点之间的逻辑距离是通过异或算法来计算的。 相同是0,而差是1。

黑科技科普,磁力链接和bt种子的区别

为了帮助您理解,让我们简化模型并将160位减少到4位。 假设您的节点ID为0100,目标节点ID为1111,则您之间的二进制距离为1011,转换为十进制时为11。

黑科技科普,磁力链接和bt种子的区别

有了距离,我们可以在这样的二叉树中快速找到目标。

所有可能的节点ID都在此二叉树上。 需要将4位数字分叉4次,以产生2到4的幂,即16条路径。 每个路径的末尾是一个节点ID。

黑科技科普,磁力链接和bt种子的区别

接下来,你作为 0100,就可以拆分这颗二叉树了,从第一次分叉开始,把不包含你的那棵子树拆分,然后在剩下的子树的第二次分叉处再次拆分,直到只剩下你自己。

这样,将拆分4个子树。

黑科技科普,磁力链接和bt种子的区别

我们在每个子树中选择2个点,就得到了 4 个 K 桶,嗯,不是这个,而是这个,K-bucket。

黑科技科普,磁力链接和bt种子的区别

暂停并仔细考虑,您会发现使用“异或”算法来计算K桶0与您之间的距离为0001,转换为十进制,K桶1与您之间的两点之间的距离为2-3 。 以此类推,第2 K桶的距离间隔为4-7,而第3 K桶的距离间隔为8-15。

黑科技科普,磁力链接和bt种子的区别

我们刚刚计算出,节点ID 0110与目标ID 1111之间的二进制距离是1011,即十进制的11。 也就是说,最接近1111的节点必须是第3个K桶中的2个节点。

黑科技科普,磁力链接和bt种子的区别

接下来,我们就可以联系这两个节点,让他们帮我们找 1111。

以1110为例。 1110还可以拆分4个子树并获得4 个K存储桶。 计算1110和1111之间的距离。结果为0001,即十进制的1,即在K bucket 0中,1111在此处。

黑科技科普,磁力链接和bt种子的区别

这种网络结构称为DHT,即分布式哈希表,它是一种具有高容忍度的分散网络。 您只需要在本地存储一串文件ID和K-bucket数据,就可以有效地找到要下载的文件。

黑科技科普,磁力链接和bt种子的区别

资源发布者和传播者只需要共享40个号码,就足够简单,方便且私密。

在实际的DHT网络中,每个K存储桶至少记录8个节点,并且任何脱机节点都不会影响整个网络的运行。

黑科技科普,磁力链接和bt种子的区别

作为文件和节点ID,2的160次幂也足够大,每秒有70亿人每秒下载10,000颗种子,并且下载一千亿年就足够了,直到宇宙终结。

黑科技科普,磁力链接和bt种子的区别

这些天才的设计使我们能够拥有无法审查和跟踪的分散网络。 这催生了庞大的盗版行业,但同时也为很多内容提供了避免审查的机会。

黑科技科普,磁力链接和bt种子的区别

因为可以隔离,拔出和禁止网站,但种子不能。 只要种子这种黑科技不死,那些过期的音乐书籍和视频将仍然存在于Internet上,没有人可以销毁它们。

版权声明:KID 发表于 2021-05-05 23:35:29。
转载请注明:黑科技科普,磁力链接和bt种子的区别 | 星辰册