BT下载是互联网下载方式之一。BT是一种互联网的P2P
传输协议BitTorrent中文名比特流下载软件来实现的,具有下载的人越多下载速度越快的特点。
原理
传统方式
在传统下载方式中,一般是把文件由
服务器端传送到客户端,例如
FTP,
HTTP,PUB等等。由于是从一台服务器下载,服务器所提供的带宽是一定的,因而下载人越多速度越慢。但是这样就出现了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器垮掉,所以很多的服务器都会有用户人数的限制,下载速度的限制,这样就给用户造成了诸多的不便。
BT方式
与传统下载不同,用BT下载反而是用户越多,下载越快,这是因为BT用的是一种传销的方式来达到共享的。BT首先在上传端把一个文件分成了Z个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去下载乙已经下载好的M部分,乙的BT就会根据情况到甲的电脑上去下载甲已经下载好的N部分,这样就不但减轻了服务器端的负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑连上去下载就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在下载的同时也在上传。
普通下载
原理图普通的HTTP/FTP下载使用
TCP/IP协议,BitTorrent协议是架构于
TCP/IP协议之上的一个P2P
文件传输协议,处于TCP/IP结构的应用层。BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中。根据BitTorrent协议,文件发布者发布的文件生成提供一个.torrent文件,即
种子文件,简称为“种子”。
torrent文件本质上是
文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对
目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash
验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的“索引”。
下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。
下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供给下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别告知对方自己已经有的块,然后交换彼此的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。
下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容
准确性的问题。
而有些人下载完成后关掉下载任务,提供较少量数据给其他用户,为尽量避免这种行为,在
非官方BitTorrent协议中存在
超级种子的算法。这种算法允许文件发布者分几步发布文件,发布者不需要一次提供文件所有内容,而是慢慢开放的下载内容的比例,延长下载时间。此时,速度快的人由于未下载完必须提供给他人数据,速度慢的人有更多机会得到数据。由此往往造成用户卡在任务的99%,下载1G的任务要上传3G之多。
特点
由于BT软件之间的
数据传输是双向的,这有效降低了对发布者宽带的依赖。
BT协议中并没有采用对使用者按上传下载比和
登陆顺序及是否能收到入站请求来综合排序进行上传。BT软件在大部分时间会不断比较其他BT客户端向己方传输数据的速度,并优先上传给向己方传输数据较快的客户端。
来自全球各大电信服务商的统计都显示,BT传输已经占到网上所有数据传输的70%以上,不少电信服务商已经采取了单方面的行动来对BT传输进行限制,从较温和的数据传输优先度调整到对侦测到BT传输直接进行屏蔽。
为了应对电信服务商对BT传输的限制,主流BT软件已经做出了不少改进,以绕开电信服务商的限制,通过以torrent文件为基础的客户端
身份认证和对数据进行
Diffie-Hellman密钥加密来防止被电信服务商侦测,使用
DHT分布式网络作为Tracker服务器的补充,随机选择传输端口。
优点
BT下载的优点是显而易见的,
双向传输突破了服务器带宽的限制,即使有很多人正在下载,也不用担心下载速度的问题了。不仅如此,BT下载对于带宽的突破使
个人电脑发布资源成为可能,BT下载不需要文件发布者有很高的
处理速度和带宽就能顺利的发布文件了。
缺点
由于无法验证文件发布者,下载内容的安全性难以得到保障;对于
ADSL用户来说,持续的大量的上传数据是致命的,这会严重影响下载速度和其他
网络连接的速度,由于大多数电信服务商只为ADSL用户提供了512Kbps的
上行带宽,因此他们的上传效率很低,从而会影响其他用户的速度。
BT资源存在热度问题,如果发布者停止发布,而上传者变少,则下载速度会大幅下降甚至无法下载,直至种子失效,为了BT资源长时间有效,依然需要服务器的配合。
对
社会管理秩序的侵害问题,一是BT网站和论坛往往充斥着大量暴力、淫秽、甚至是传授
犯罪方法等
有害信息,给网络空间和现实社会都带来了极大的
不稳定因素,破坏
社会道德风气,极易引发违法
犯罪行为,严重妨害社会管理秩序。二是由于BT下载占用相当大的带宽,耗费大量资源,提高网络
运营成本,从而给网络服务供应商带来沉重的负担,严重影响了正常的网络运营。
最后就是搜索和
版权问题,BT资源一般可以通过搜索引擎找到BT网站,下载种子,通过BT软件下载资源,而版权拥有者一个一个的起诉下载者是不现实的,所以他们的目光就集中在了BT站点上,BT与发行商在版权问题上的争论实际上就是
互联网精神与现有版权法律冲突的缩影,BT毫无疑问处于劣势。
应用
推荐使用的BT软件有
utorrent、
Bitcomet、
Azureus,这些软件时常更新以提供更好的BT协议支持和扩展功能。
(2)避免使用BT默认的监听端口,这些端口可能已经被服务商屏蔽了。
(3)使用防火墙的用户有可能需要在防火墙上打开BT监听端口。
(4)使用路由器的用户一般需要通过
端口映射,或者
DMZ功能,或者
UPNP功能,来使入站请求能到达使用BT软件的计算机上。
常用软件
BitComet是基于
BitTorrent协议的p2p免费软件;高效的网络内核,
多任务同时下载依然保持很少的
CPU内存占用;支持对一个Torrent中的文件有选择的下载;
磁盘缓存技术,有效减小高速随机读写对硬盘的损伤;只需一个监听端口即可满足所有下载需要;
自动保存下载状态,续传无需再次
扫描文件,作种子也无需扫描文件;支持多Tracker协议;对
内网用户同样适用;
绿色软件,不需安装,仅
运行时关联.
torrent文件;多语言界面。
μTorrent 是一个小巧强劲,全功能,用C++编写,支持Windows、
Mac OS X和
GNU/Linux 平台的免费
BitTorrent客户端。支持UPnP,支持流行的 BT 扩展协议,
磁力链接(Magnet Links),
IPv6,用户
来源交换,
DHT 和 uTP,以及 RSS 下载器等丰富特性。
(3)DeadmanWalking
BitTorrent Deadman Walking是TLF论坛的专门定制优化过的版本,推荐使用。
(4)BitTorrentPlus
BitTorrent Shadow's Experimental的加强版,拥有全中文的界面。相对于原版更加易用,翻译通俗易懂,功能强大,是当今BT客户端中功能最为强大的客户端程序之一。
(5)Bit Spirit
一个功能强大,使用方便的BitTorrent客户端。它不仅全面兼容BitTorrent协议,更提供了很多个性化的功能,界面酷似
Flashget。
一个增强、应该说是超强的Bittorrent客户端,单窗口多任务!消耗少到吓人。相信很多人已经找了好久,但是一直没有满意的吧?
贪婪BT将会给你一个满意的解决方案。
(7)BitTorrent
最早期最原始的BT客户端工具,一个多点下载且源码公开的P2P软件,就像一个
浏览器插件。
(8)Shareaza
一款在国外评价极高并且相当流行的P2P软件,集合了
eDonkey和BT等几种流行P2P
网络类型,许多P2P的下载站点已将其指定为BT的官方
下载工具。
(9)PTC
PTC比BitTorrent多了个
软件界面,可以直接双击运行,然后打开下载到硬盘上的torrent文件;能同时多任务下载,节省资源;能完全自定义
上传速度,防止
网络带宽占用过大等等。
一个基于JAVA的多torrent下载程序,可以手动设置某个torrent的优先权,加入了irc聊天室,增加了一些基本的irc命令,可以看见在线人数和ID,支持多tracker
url,对于多tracker发布的torrent可自动切换,并可以手动更改tracker url。
(11)BitAnarch
一个号称可以和
BitTorrent Plus版媲美的BT软件,具有下载日志功能,可以显示种子和
下载者的详细信息,具有搜索
新闻组Torrent文件的功能,更多的选项设置功能,软件界面支持简体中文、
繁体中文、英文
语言选择。
(12)BitBuddy
BitBuddy超小快速,单窗口多任务,支持BitTorrent及其扩展协议的BT下载客户端,操作类似flashget和netants,方便实用。支持多任务下载,设置下载
优先级,速度限制等多项实用功能。
(13)BTVampire
BT Vampire又叫称BT吸血鬼,是一款增强型的完全免费的Bittorrent客户端,主要是为了改进BT下载效率,试验新算法而编写的。
(14)BtJoy乐翻天
一个多点对多点下载的P2P软件,使用非常方便,其特点简单的说就是:下载的人越多,速度越快;他发挥了eDoneky和BitTorrent的优势,去除了edoneky需要排队的不足,又简化了BitTorrent共享发布比较复杂的流程。
(15)BitTornado
一个多点下载且源码公开的P2P软件,使用非常方便,就像一个浏览器插件。与以往http、
FTP、pub等下载人越多,速度越慢的方式迥然不同,BT下载的特点简单的说就是:下载的人越多,速度越快。时下BT已经成为网上交流资源最新、最酷的方式。是由著名的BT客户端Shadow'sExperimental更名而来。
(16)超级BT下载
一款非常优秀的BT
下载软件,速度是同类软件的3倍以上!采用了先进的技术,更进一步的优化了
对等连接!使
下载者之间没有任何障碍了!并且有非常好的皮肤功能!这也是此软件的一个亮点!推荐大家下载!绝对超值!而且完全免费!
(17)TurboBT
采用最新的C++/PYTHON界面框架技术编写的BT(BitTorrent)客户端
下载工具。界面代码全部重写,你可以高速的下载各类的资源且非常容易使用。
(18)MyBT
一个改良的BT客户端,是用于在BT站点下载或上传文件的实用工具。综合了最新的流行BT客户端开发,界面友好,中文环境,支持多任务,
断点续传,
超级种子,自动发布种子等功能,运行稳定,速度快。
(19)综艺BT下载王
一款非常实用的功能齐全的BT客户端软件,可以同时下载多个BT。它运行稳定,占内存非常小,速度快!而且还有
BT种子制作功能。
(20)BTogether
BTogether 为新型P2P
下载软件,支持最新 BitTorrent(BT) 下载协议。把 BTogether拷贝到某目录,直接运行即可。本软件为纯中文绿色免费软件,不修改
注册表,无需其他
运行库。
(21)THUNDER
迅雷,一款国产的下载软件,迅雷也支持BT下载,可用右键单击
IE中的下载链接,并选取“用迅雷下载”即可。
(22)超级旋风
超级旋风是
腾讯公司出版的一种多任务
下载软件,由原
腾讯TT浏览器中独立出来的版本。超级旋风支持多个任务同时进行,每个任务使用多地址下载、
多线程、断点续传、线程连续调度优化等。
(23)BTSOUSOU
这是一个全球范围内顶级的专为BT种子设计的搜索引擎,用户只需要输入想要的关键词,一键就可以在全球范围内寻找种子源.2013年正式登陆中国市场,推出中文服务,分类支持音乐,电影,电视剧,软件,游戏,等. 是美剧,
英剧迷,或者
免费游戏狂热爱好者们的乐园, 里面更新的美剧是国内最快速度的.需要和讯雷等下载工具配合使用.
种子文件
torrent文件(
扩展名为.torrent)包含了一些 BT 下载所必须的信息:
资源的名称,如果资源是以目录形式,还有目录树中每个文件的路径信息和文件名
如果资源是单个文件,这个文件的大小信息;如果是以目录形式,目录树中每个文件的大小
对资源实际文件按照固定大小进行分块后每块进行SHA1 hash运算得到的若干
特征值的集合
torrent文件的创建时间、制作者填写的注释、以及制作者的信息等
至少一个
announce地址,对应于Internet上部署的一个Tracker服务器
有了这个种子文件,才可以下载需要文件。torrent种子文件通常很小,大约几十KB、几百KB大小。
根据
BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即
种子文件,也简称为“种子”。