一种电脑“.torrent”文件,装有BT(BitTorrent)下载必须的文件信息,作用相当于HTTP下载里的URL链接。
一个用户要利用BitTorrent协议下载文件之前,先要从某个网站下载一个包含该文件相关信息的“.torrent”文件。
该种子文件包含一个称为“追踪器(tracker)”的服务器节点(因特网上有很多追踪器)的地址,该追踪器负责维护参与一个特定文件分发的所有对等方的信息。
背景知识
种子是一个形象的比喻。BT下载的原理从某种意义上说就像春天种下一粒种子,到了秋天就会收获万粒稻菽一样的滚雪球般的越来越大。于是人们就把发出的下载文件叫做种子。而种子文件就是记载下载文件的存放位置、大小、下载服务器的地址、发布者的地址等数据的一个索引文件。这个种子文件并不是你最终要下载的东西(如电影,软件等等),但是有了种子文件,你就能高速下载到你需要的文件。种子文件的扩展名是:*.torrent。
BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端的负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。
BT把提供完整文件的档案称为种子(SEED),正在下载的人称为客户(Client),某一个文件有多少种子多少客户是可以看到的,只要有一个种子,就可以放心地下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快,下载以后的种子可能会因目标文件不存在而失效。
BT是通过BT种子文件进行下载部署的,BT种子文件放在一个普通的网络服务器上,它包含了要共享的文件的信息,包括文件名、大小、文件的分块信息和一个指向追踪器的超级链接Url。被下载文件的拥有者也可以看成这个文件的“原始”下载者。要求文件下载的用户通过BT客户端软件分解.torrent 文件,取得文件的信息和指向追踪器服务器的Url,同Tracker进行通讯。
概念
P2P
Peer to Peer点对点网络,简称P2P,是指网络用户之间可以直接通信的网络结构。简单地说,P2P直接将人们联系起来,让人们通过互联网直接交互。使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间环节。P2P使用户可以直接连接到其他用户的计算机,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态,重返“非中心化”,把权力交还给用户。
BitTorrent(简称BT,比特洪流)是一个多点下载的的P2P文件共享软件。它由程序员Bram Cohen使用Python语言编写,并且还是代码开源的专利软件,可以自由地下载和传播。它采用高效的软件分发系统和点对点技术共享大体积文件(如一部电影或电视节目),使多个用户同时下载一个文件的时候,他们之间互相为对方提供自己所拥有的文件部分的下载。这样就把文件下载的带宽开销分摊到每个用户那里,理论上BT下载可以支持无限多个用户来下载同一个文件。因此,BT被人们称之为“群集、散布、集中”的文件传输协议。目前,各种支持BT下载的软件层出不穷,BT技术已经被广泛地应用于文件下载中。
一般来说一个BT文件发布系统由以下几个部分组成:
(1)一个普通的web服务器;
(2)一个静态元信息文件,即BT种子文件(以.torrent结尾,包含了文件的基本属性);
(3)一个追踪器(Tracker);Tracker实际上是一台服务器,它负责帮助peer之间相互建立连接;
(4)BT客户端(peer,系统的核心部分,用于实现下载策略);
(5)一个被下载文件的拥有者(seed)。
下载资源
首先,客户端用户访问BT发布站点,通过站点上的信息找到想要的资源文件。其中Bt发布站点上显示共享文件的信息和每个文件的共享用户信息,并为每个文件提供一个种子文件的下载链接。
客户端下载了该种子后,与BT种子文件中的跟踪服务器(Tracker)通讯。跟踪服务器首先记录该客户端的用户信息,同时将其它共享用户的信息提供给该客户端,该客户端根据这些信息与其他共享用户的客户端软件发生通讯,从其中找出下载速率最快的40~50个客户端进行下载;其中每个客户端都按照种子文件中的规定对文件进行分块。文件的上传和下载都是按块进行的。
当客户端软件完成一个文件分块的下载后,就可以进行该块的上传。
随着参与下载的用户数量的增加,下载速度加速。
完成整个共享文件的下载后客户端就只上传,不下载,成为共享文件的种子;在一些人气很旺的下载中,原始下载者经常可以在较短的时间内退出上传,由其它已经下载到整个文件的下载者继续提供上传。
部分完成的用户开始退出,当某个种子的所有用户均结束下载或上传后,该种子可用生命期结束。
Tracker即时接收所有peer信息,并且给每个peer一份随机的peers列表。Tracker通过HTTP GET参数获得信息,然后返回一个Bencoding编码后的信息。peer每隔一段时间连一次Tracker,告知自己的进度,并和那些已经直接连接上的peer进行数据的上传下载。这些连接遵循BitTorrent peer协议,通过TCP协议进行通信。seed和tracker,peers之间通讯连接
发布资源
上面讲过,同一个资源,下载的人越多,下载的速度也就越快。经常用BT下载的电脑,一般都默认共享了不止一个资源,因此想办法让拥有你想要的资源的那些电脑连入网络,就是很有必要的。具体办法就是发布一个大家也都需要的资源,这也充分体现了BT下载模式最重要的精神——分享。
要想发布一个资源,要经过2个步骤:制作种子文件、传播种子文件。当然还要把该种子文件对应的资源所在电脑开机连入网络一段时间,具体时间不定,主要看该种子下载的情况,最好至少要保证有一部分人下载成功。
用户发布一个BT种子文件的具体步骤如下:
(1)选择一个BT发布站点,这个站点运行普通的网络服务器端程序,如Apache、IIS等。通过网站帮助信息找到Tracer的Url。
(2)用要发布的完整文件和Tracker的URL创建一个种子文件(.torrent 文件)。
(3)将种子文件上传到网络服务器上。
(4)在网络服务器的网页上发布种子文件(.torrent文件)链接和对这个文件的一些简单的描述。
(5)发布用户(seed)提供完整的文件。
BitComet
BitComet是基于BitTorrent协议的p2p免费软件;高效的网络内核,多任务同时下载依然保持很少的CPU内存占用;支持对一个Torrent中的文件有选择的下载;磁盘缓存技术,有效减小高速随机读写对硬盘的损伤;只需一个监听端口即可满足所有下载需要;自动保存下载状态,续传无需再次扫描文件,作种子也无需扫描文件;支持多Tracker协议;对内网用户同样适用;绿色软件,不需安装,仅运行时关联.torrent文件;多语言界面。
BitTorrent Deadman Walking
BitTorrent Deadman Walking是TLF论坛的专门定制优化过的版本,推荐使用。
BitTorrent Plus
BitTorrent Shadow's Experimental的加强版,拥有全中文的界面。相对于原版更加易用,翻译通俗易懂,功能强大,是当今BT客户端中功能最为强大的客户端程序之一。
比特精灵Bit Spirit
一个功能强大,使用方便的BitTorrent客户端。它不仅全面兼容BitTorrent协议,更提供了很多个性化的功能,界面酷似Flashget。
贪婪ABC
一个增强、应该说是超强的Bittorrent客户端,单窗口多任务!消耗少到吓人。贪婪BT(ABC)使用The Shad0w\'s Bittorrent experimental作为内核,速度与功能上有无与伦比的优势。再界面和机制则全部全新编写。添加了都是大家非常希望的实用的新功能。
BitTorrent
最早期最原始的BT客户端工具,一个多点下载且源码公开的P2P软件,使用非常方便,就像一个浏览器插件。
Shareaza
一款在国外评价极高并且相当流行的P2P软件,集合了eDonkey和BT等几种流行P2P网络类型,许多P2P的下载站点已将其指定为BT的官方下载工具。
PTC
PTC比BitTorrent多了个软件界面,可以直接双击运行,然后打开下载到硬盘上的torrent文件;能同时多任务下载,节省资源;能完全自定义上传速度,防止网络带宽占用过大等等。
Azureus
一个基于JAVA的多torrent下载程序,可以手动设置某个torrent的优先权,加入了irc聊天室,增加了一些基本的irc命令,可以看见在线人数和ID,支持多tracker url,对于多tracker发布的torrent可自动切换,并可以手动更改tracker url。
BitAnarch
一个号称可以和BitTorrent Plus版媲美的BT软件,具有下载日志功能,可以显示种子和下载者的详细信息,具有搜索新闻组Torrent文件的功能,更多的选项设置功能,软件界面支持简体中文、繁体中文、英文语言选择。
BitBuddy
BitBuddy超小快速,单窗口多任务,支持BitTorrent及其扩展协议的BT下载客户端,操作类似flashget和netants,方便实用。支持多任务下载,设置下载优先级,速度限制等多项实用功能。
BT吸血鬼
BT Vampire又叫称BT吸血鬼,是一款增强型的完全免费的Bittorrent客户端,主要是为了改进BT下载效率,试验新算法而编写的。
乐翻天
一个多点对多点下载的P2P软件,使用非常方便,其特点简单的说就是:下载的人越多,速度越快;他发挥了eDoneky和BitTorrent的优势,去除了edoneky需要排队的不足,又简化了BitTorrent共享发布比较复杂的流程。
BitTornado
与以往http、FTP、pub等下载人越多,速度越慢的方式迥然不同,BT下载的特点简单的说就是:下载的人越多,速度越快。时下BT已经成为网上交流资源最新、最酷的方式。是由著名的BT客户端Shadow'sExperimental更名而来。
超级BT下载
一款非常优秀的BT下载软件,速度是同类软件的3倍以上!采用了先进的技术,更进一步的优化了对等连接!使下载者之间没有任何障碍了!并且有非常好的皮肤功能!这也是此软件的一个亮点!推荐大家下载!绝对超值!而且完全免费!
TurboBT
采用最新的C++/PYTHON界面框架技术编写的BT(BitTorrent)客户端下载工具。界面代码全部重写,你可以高速的下载各类的资源且非常容易使用。
MyBT
一个改良的BT客户端,是用于在BT站点下载或上传文件的实用工具。综合了最新的流行BT客户端开发,界面友好,中文环境,支持多任务,断点续传,超级种子,自动发布种子等功能,运行稳定,速度快。
综艺BT下载王
一款非常实用的功能齐全的BT客户端软件,可以同时下载多个BT。它运行稳定,占内存非常小,速度快!而且还有BT种子制作功能。
BTogether
BTogether 为新型P2P下载软件,支持最新BitTorrent(BT) 下载协议。把BTogether拷贝到某目录,直接运行即可。本软件为纯中文绿色免费软件,不修改注册表,无需其他运行库。