1. DHT

DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和 存储。新版BitComet允许并行连接DHT网络和Tracker,也就是说在完全不连上Tracker服务器的情况下,也可以很好的下载,因为它可以 在DHT网络中寻找下载同一文件的其他用户。BitComet的DHT网络协议和BitTorrent测试版的协议完全兼容,也就是说可以连入一个同 DHT网络分享数据。

2. 磁力链接

磁力链接,简单的说:类似下面这样以“magnet:?”开头的字符串,就是一条“磁力链接;确切的说:“磁力链接”的主要作用是识别(能够通过“点对点技术(即:P2P)”下载的文件)。这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称。这就类似生活中消费品包装上常见的条码。不同的是这个“数字指纹”可以被任何人从任何文件上生成,这也就注定了“磁力链接”不需要任何“中心机构”的支持(例如:BT Tracker服务器),且识别准确度极高。由于磁力连结是基于文件内容或者元数据而不是位置的,磁力连结可以被认为是一种统一资源名称(Uniform Resource Name,URN),而不是更常见的统一资源定位符(Uniform Resource Locator,URL)。尽管磁力连结可以被其他应用程序使用,但是它的主要用途还是在点对点技术方面,因为其可以定位不在稳定主机上的资源。磁力链接通常是以“magnet:?”为开头的字符串,比如:

magnet:?xt=urn:sha1:RNCKHTQGWBTRNJIV4WNAE52SJUQCQO5C
 
在传统的BT下载方式中让各个下载者之间相互联系,有2种途径:1、通过连接BT种子中记录的BT Tracker服务器,获取下载者列表。2、利用BT种子中记录的“数字指纹”通过DHT网络进行搜索,获取下载者列表。不过现实情况是,存活的BT Tracker服务器越来越少,而BT种子文件也需要服务器保存。我们假设“BT Tracker服务器被干掉了,BT种子文件服务器也被干掉了……”那么显而易见的是第1种途径已经完全走不通了,而第2种途径只能帮你“寻找”,却没办法知道你在寻找什么。这时,“磁力链接”就有了用武之地,它可以把“数字指纹”告诉DHT网络,你需要寻找什么。需要注意的是,因为“磁力链接”是通过DHT网络来索引需要下载的文件的,因此在某些环境下可能出现“获取磁力链接信息”时间较长,或者获取失败的问题。由于目前相关问题经验的积累很少,因此除了重试还没有明确的解决办法。支持磁力协议的客户端有:迅雷、QQ旋风、BitComet、μTorrent、BitSpirit、Transmission、QBittorrent

【转】与BT下载相关的概念的更多相关文章

  1. 常用下载方式的区别-BT下载、磁力链接、电驴

    出处:https://www.jianshu.com/p/72b7a64e5be1 打开 115 离线下载的窗口,看到支持这么多种链接,你都清楚他们是什么原理嘛?接下来我们一个一个说. 一.HTTP( ...

  2. BT下载的原理 和疑问

    我心中有几个疑问,同时也搜索了点素材,肯能对理解问题有帮助. BT下载,即P2P下载,是一种不需要中心化服务器的下载,实现原理是,每个客户端在下载的时候也作为服务器. 我的疑问是,P2P各个节点是如何 ...

  3. 将BT下载对抗到底

    将BT下载对抗到底      随着互联网业务的多元化,各种P2P应用也越来越多,在企业中多数流量都会被类似于BT的下载所占用,BT之所以会危害到局域网,是因为它占用了大量网络带宽.网络管理员可以通过一 ...

  4. (转载)小白的linux设备驱动归纳总结(一):内核的相关基础概念---学习总结

    1. 学习总结 小白的博客讲的linux内核驱动这一块的东西比较基础,因此想通过学习他的博客,搭配着看书的方式来学习linux内核和驱动.我会依次更新在学习小白的博客的过程的感悟和体会. 2.1 内核 ...

  5. BT下载器Folx标签功能怎么实现自动的资源分类

    很多经典的电影作品,比如魔戒三部曲.蜘蛛侠系列.漫威动画系列等,在一个系列中都会包含多个作品.如果使用Folx bt种子下载器自带的电影标签的话,会将这些系列电影都归为"电影"标签 ...

  6. Folx中与下载相关的参数如何设置

    Folx是一款简单易用,功能强大的MacOS专用下载管理工具.要使Folx下载/上传速度快,同时又不影响其他软件的上网使用,还能够有计划地安排下载,那么就必须对Folx进行参数设置.接下来小编详细讲解 ...

  7. Transmission : 如何在Fedora下使用BT下载

    先讲讲BT协议的名词: Glossary of BitTorrent terms Transmission 介绍 BT下载客户端 特点: 支持BT下载(.torrent 种子) 或者 磁链( magn ...

  8. 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念

    本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...

  9. linux设备驱动归纳总结(二):模块的相关基础概念【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-59415.html linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10 ...

随机推荐

  1. Win7安装错误提示与解决办法大全

    Windows7安装时有许多提示错误,许多朋友不知道如何解决,那就看看这篇软媒整理的文章吧,或许有些帮助.本文出现的问题同样应用于其他版本的Windows 7,甚至是Vista,收藏一下本文,或者某天 ...

  2. awesome cpp

    https://github.com/fffaraz/awesome-cpp Awesome C/C++ A curated list of awesome C/C++ frameworks, lib ...

  3. It is indirectly referenced from required .class files

    配置eclipse的导入包,有些包引用的位置不正确

  4. TRSWCM学习问题总结

    1,置标属性"id"是用来制定调用那个栏目的数据(全字配备,可以文字匹配好奇怪,好不专业.所以建议创建栏目或者站点的时候,将唯一标识设置成英文,这样才符合程序比对习惯) 2,需要添 ...

  5. Welcome to Linux From Scratch!

    /**************************************************************************** * Welcome to Linux Fro ...

  6. 如何在一个frame中调用另一个frame中的javascript函数

    1.htm <script language="javascript">function test(){alert("测试")}</scrip ...

  7. 【转】用Pthread创建线程的一个简单Demo

    一.我们直接在COCOS2D-X自带的HelloWorld工程中添加代码.首先将Pthread的文件包含进来包括lib文件.在HelloWorld.cpp中引入头文件和库. #include &quo ...

  8. 自适应的CSS代码片段(常用)

    /* Smartphones (portrait and landscape) ----------- */ @media only screen and (min-device-width : 32 ...

  9. unix network programming(3rd)Vol.1 [第13~15章]《读书笔记系列》

    第13章 守护进程和inetd 超级服务器 syslog() daemon_init() setuid() setgid() 第14章 高级IO 标准I/O函数库,支持3种缓冲 缓冲(读写存储设备(硬 ...

  10. Android样式——Styles

    说明 样式(style)是属性的集合,用来指定View或者Window的外观和格式. 这些属性可以是height(高度).padding(内边距).font size(字体颜色)等. 样式定义在另一个 ...