泥客百科:BT与磁链
一:BT
BitTorrent协议(简称BT,俗称比特洪流、BT下载)是一个基于互联网的文件传输协议,它能够实现点对点的文件分享技术。比起其他点对点的协议,它更有多点对多点的特性,这个特点简单的说就是:下载的人越多,速度越快。下载完只要不停止任务,并继续上传就可以成为种子,分享让其他人下载。普通用户只要安装好免费的BT软件,在分享站上找到自己想要的“种子”就可以下载相应的影视作品。
一般的下载服务器为每一个发出下载请求的用户提供下载服务,而BitTorrent的工作方式与之不同。分配器或文件的持有者将文件发送给其中一名用户,再由这名用户转发给其它用户,用户之间相互转发自己所拥有的文件部分,直到每个用户的下载都全部完成。这种方法可以使下载服务器同时处理多个大体积文件的下载请求,而无须占用大量带宽。
BT的软件创始人BramCohen于2002年独立完成其核心程序代码的撰写。从BramCohen简陋的个人网页上看来,他于1993年进入纽约州立大学就读,辍学之后陆续做过研究员、网络程序设计师,就履历上看来并不是非常特出,2002年间他发表的BT一开始也没有获得很大的关注。2004年六月时,据CNN报导,BT已经占据了网络上所有P2P流量的53%。至今,BT程序文件的下载量已经超过一亿三千五百万人次,而这些数字还不包含网络上经其他用户修改过的版本,如BitComet、BitSpirit。
Tracker:收集下载者信息的服务器,并将此信息提供给其他下载者,使下载者们相互连接起来,传输数据。
一代BT
根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。
它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。
下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。
二代BT
2000年以来,又发展出DHT网络技术,可以在无Tracker的情况下下载。
DHT全称为分布式哈希表,是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。使用支持该技术的BT下载软件,用户无需连上Tracker就可以下载,因为软件会在DHT网络中寻找下载同一文件的其他用户并与之通讯,开始下载任务。
有些软件(如比特精灵)还会自动通过DHT搜索种子资源,构成种子市场。另外,这里使用的DHT算法叫Kademlia(在eMule中也有使用,称为KAD,具体实现协议有所不同)。这种技术好处十分明显,就是大大减轻了Tracker的负担(甚至不需要)。用户之间可以更快速建立通讯(特别是与Tracker连接不上的时候)。
BT下载速度
有时候,BT下载速度并不快,这其中有多种原因。例如:
1、不是公网用户。由于内网用户无法提供主动连接,下载速度肯定会比公网用户慢一些,这是很正常的。
2、上传速度被限制。由于所有的BT客户端程序都对上传速度快的用户提供优先服务,因此如果你对上传速度进行了限制,实际上也就是变相限制了自己的下载速度。
3、种子数太少。如果种子数太少,当然也会影响到其他用户的下载速度,没办法,这还是需要每一个BT用户都发扬“雷锋”精神,自己下载结束后千万不要立即关闭BT,否则种子数就越来越少了。
4、防火墙的阻隔。防火墙软件也会对BT的下载速度造成一定影响,当然为了保证系统的安全,这一点点影响还是可以忽略不计的。
BT下载对磁盘的影响
BT下载开始流行后,也出现会大大损伤硬盘的说法。其实,大多数都用上了宽带,这样自然就不会考虑上网费用的问题。他们可能会整天整夜开着电脑进行下载,再加上BT用户在下载的同时一般还会提供上传服务,假如一个文件有10个人同时下载,那么你的硬盘就需要承受1次下载和9次(10-1)上传,如果有100人同时下载,那么硬盘的负载将大大增加。时间一长,很容易由于连续工作而导致硬盘“发烧”,这就是使用BT下载会导致硬盘损坏的原因所在。由于BT下载时首先会在硬盘缓冲区写入相应容量的数据,生成与下载文件一样大小的一个文件,然后再随机下载文件的相应部分来填充这个文件,当全部填充完毕之后,下载也就结束了。因此,如果你经常使用BT下载文件的话,一定要将硬盘缓存文件的容量设置得大一些。另外也可以使用任务管理器适当降低BT软件的优先级,这样即使它占用了一定的资源,也不会对其他应用程序造成太大影响;必须绝对禁止文件未下载完前非正常关机,否则可能会对硬盘的寿命带来一定影响。
二:磁力链接
一般以“magnet:?”开头的字符串,就是一条“磁力链接;确切的说:“磁力链接”的主要作用是识别能够通过“点对点技术(即:P2P)”下载的文件。这种链接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不是基于文件的位置或者名称
2002年,纽约大学的两个教授Petar Maymounkov和David Mazières发表了一篇论文,提出了一种真正去中心化的“点对点”下载模型,他们将其称为Kademlia方法。2005年,BT软件开始引入这种技 术,在BT中被称为DHT协议(Distributed Hash Table,分布式哈希表)。DHT是一种分布式存储方法。DHT的作用是找到那些与本机正在下载(上传)相同文件的主机(Peer),当然,实现这一过程并不依赖Tracker服务器。在DHT网络中的每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。这种信息获取方式保证了整个网络没有单个的中心,即使一个节点下线,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方。
Tracker服务器和“BT种子”即将双双退役,取而代之的是DHT+PEX网络(Peer Exchange)和Magnet Link,DHT网络是分布式存在的,所以不存在“被拔线”的问题,而Magnet Link仅是一串字符,所以也不再需要种子文件。在这一点上有点类似电驴的ed2k和之后的KAD。所以未来将会是DHT、PEX和Magnet Link三者的天下。
有网友将其称为磁链
磁链下载是DHT网络的升级,不需要服务器,不需要发布种子,只需要一个代码,全世界的用户就可以穿透网络相互交换资源。
磁链连接可以穿透任何网络以及封锁限制,磁链下载可以永远保持带宽上限速度,用户之间的传输不会受到任何干扰.穿透任何网络节点,并一个区域的节点会自动组合成磁力场,形成能量圈,也就是说磁链下载可以随时自动生成网络服务器,自动解散,自动重组。
相关文章:
- [2021年03月11日]什么是双活数据中心?
- [2020年06月14日]网络信息安全新态势
- [2018年03月18日]如何讲懂区块连?
- [2018年03月18日]国家推进互联网协议第六版(IPv6)规模部署行动计划
- [2018年03月18日]区块链可能会影响的十九个行业
- [2017年02月19日]泥客百科:CPS(信息物理系统)
- [2015年12月06日]泥客百科:APT
- [2015年12月06日]数字证书 ca、ra、da简介
- [2015年12月06日]泥客百科:IPS (入侵防御系统)
- [2015年12月06日]泥客百科:堡垒机