|
BT下载及原理
BitTorrent(简称BT,俗称BT下载、变态下载)是一个多点下载的源码公开的P2P软件,使用非常方便,就像一个浏览器插件,很适合新发布的热门下载。其特点简单的说就是:下载的人越多,速度越快 。
1、BT下载工具更新版本3.21
官方下载地址:
地址1:
http://aleron.dl.sourceforge.net/sourceforge/bittorrent/bittorrent-3.2.1.exe
地址2:
http://unc.dl.sourceforge.net/sourceforge/sourceforge/bittorrent/bittorrent-3.2.1.exe
地址3:
http://heanet.dl.sourceforge.net/sourceforge/sourceforge/bittorrent/bittorrent-3.2.1.exe
注意:用IE直接点击下载,禁用下载工具如快车,蚂蚁等。
2、BitTorrent安装
下载回来约2.6M的安装文件,双击,会看到一个窗口显示安装完成,不用找执行程序,已经可以用了不需要注册等等许多麻烦事:)。
3、BitTorrent使用
这里有一个下载地址,是黑客帝国DVD,有1400MB。 http://kdsbt.myvc.net/bt/torrents/5631.torrent 大家可以看到这是一个以“.torrent”作为后缀的文件,你可以用右键点击打开,然后就会跳出一个对话筐,保存在一个你要保存的文件夹里就可以了。这个文件很小(一般20k-100k),很快就下载完了,接着就弹出对话框询问文件/文件夹 存放位置(BT可以发布整个目录):
接着BT开始分配空间(产生一个和目标文件一样的大小的空文件),需要1到2分钟,视下载文件大小而定。
分配空间完毕,就会自行下载文件。(注意:此时download rate 与upload rate 的有0值,这是下载与上传的速率。初始时下载会比较慢,它会随着你你上传的速度增加而增加,因为BT软件会优先于上传速度快的人)
接着下载就正式开始了,可以看到,刚开始的速度不快,后来的速度会逐渐加快
如果你中途中断下载,没关系,支持断点续传。
重新点击下载链接,在弹出的保存位置对话框中,覆盖上一次的文件或者目录。
BT会扫描一遍上次未下载完成的文件。
下载完成后,请不要马上关闭窗口,因为这时候你可以给别人提供下载,正像别人给你提供下载一样。BT就是靠这种方式持续运作的。提供上传是不会影响你看刚下完的电影的。
如果你已经下载完成了,已经关闭了那个完成的窗口,想给别人提供下载源(reseed)。只要像续传一样覆盖你下载完成的文件,BT扫描一遍以后,就开始提供上传服务了
BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N各部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。
[B]BitTorrent - BT介绍[/B]
BT(BitTorrent),是一个多点下载的源码公开的P2P软件,最适合新发布的热门下载。它的基本原理是,每个人在下载download的同时,同时也在为其他用户提供上传upload。因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度。
BT特点“下载人数越多,下载速度越快”。
BT精神“我为人人,人人为我”。
下面是一般用ftp,http等分享流程
下面是用BitTorrent分享的流程
BitTorrent的原理应该和eDonkey、eMule这些是很接近的,BitTorrent的传输引擎是比传统P2P软件强大,虽然很方便,但是个人觉得BitTorrent缺少一个有效的serach引擎。资源的种类极其繁多,如何获取到自己想要的资源是一个难题,kazaa很先进么,也不见得,但是他有海量的资源,有强大的搜索引擎,同样的,imesh也是这样,包括kazaa、imesh,都内置了丰富的扩展功能,所以很受欢迎。
另外一点,BitTorrent缺少有效的商业模式,至少从他的操作过程中看不到任何商业模式的痕迹。源码公开的软件好是好,但是缺乏强大资金的支持,后续的发展是个问号。就像我们可以说Linux比windows好,但是在主流市场却无法与之抗衡一样。商业投资的目的很明确,必须要有良好的商业模式作为基础。呵呵,这些都是题外话,希望国内也能出现一个像BitTorrent这样优秀的P2P软件,扩大P2P文件交换在国内的普及程度。
[B]BT下载之前必看[/B]
下载之前,一定要先用 TorrentSpy 查看种子数
(相关软件见置顶的 BT技术索引贴)
下载完请不要马上关闭BT,就可以成为种子分流让其他人下载!
下载完成后,你可以不关闭下载窗口的同时观看电影或是解压缩软件,不会影响你使用的!
使用BT过程中出现10060/10061错误后不必退出,BT会自动重试(无论这种情况是出现在开始还是下载过程中)
这就是10060错误,我等了大概4分钟,下载速度就从0到100k多了。
[B]BitTorrent 使用心得[/B]
有一段时间了,越来越多的老外 fansub group 用 BitTorrent(以下简称 BT)来发布他们的最新作品,自从用了 BT 之后,抓 ensub anime 越来越方便了,而且速度很快。以前每天都要开几十个 channel,每次新作品发布都和打仗一样,非眼明手快不可。现在除了帮忙 distro 的 channel,少数还没有用 BT 的 channel 之外,其他的 channel 都很少去了,虽然 fansub group 增加了不少,每天的新作品也天天增多,但抓起来反而更加轻松。
BT 是一个 free 的下载工具,用类似 eDonkey 的方式,不象 FTP 或者 P2P 软件(IRC/PP/WinMX)那样只有一个发送源,而是所有正在抓某个文件或者已经抓好了某个文件但还没有把下载窗口关闭的人都是发送源。抓的人越多,我下载的速度也越快,抓完之后再把下载窗口开一阵子,比如一个晚上。
类似的工作方式,使得 BT 和 eDonkey 一样有 FTP 和传统 P2P 不可比拟的速度优势,但同样也需要下载的人能自觉得继续提供文件。但与 eDonkey 相比,BT 还是有一些自己的特色。
在 BT 上不用担心会抓到死档,BT 把提供全档的人称为 种子(SEED),正在下载的人称为客户(Client),某一个文件现在有多少种子多少客户是可以看到的,只要有一个种子,就可以放心的下载,一定能抓完。当然,种子越多、客户越多的文件抓起来的速度会越快。
用 BT 不需要指定服务器,虽然在 BT 里面还是有服务器的概念,但使用 BT 的人并不需要关心服务器在哪里。BT 的服务器称为 Tracker,把文件用 BT 发布出来的人需要知道该使用哪个服务器来为要发布的文件提供 Tracker。
BT 虽然有一个客户端,但是没有用户界面,你也不会在开始菜单里面看到有 BT 的入口。客户端装完之后,感觉上就象是消失了一样。
用 BT 下载,需要得到一个扩展名是 .torrent 的文件,这个文件很小,最多几十K,这么小的文件传输是很快的,得到这个文件的方法很多,比如放在某个 Web 服务器上,或者用 FTP 和传统的 P2P 来得到,甚至作为附件贴在论坛上。这个文件里面存放了对应的发布文件的描述信息、该使用哪个 Tracker、文件的校验信息等,BT 用文件关联来对其进行处理。
得到了这个文件之后,直接双击打开,会弹出一个文件保存对话框,选择该把下载的文件放在什么地方。然后就可以看到下载开始进行了,BT 的下载过程正好和 eDonkey 相反,一开始会感觉比较慢,但很快的,速度突飞猛进。感觉 BT 对带宽的使用很有效,单个文件上传和下载的速度都很快。
如果传输中间断掉了,也没有关系,再次打开 .torrent 文件,BT 会自动的续传。
BT 对于文件数量不多的发布,比如 fansub groups 的最新 release,还是非常好用的,不需要每个 group 做自己的 tracker 服务器,因为负担小,大家可以共用一个。作品的发布速度也很快,只要一开始找几个种子,就会像滚雪球一样,越来越多,越来越快。要是 BT 能提供一个类似种子库的东西就更好了。
BT 的主页:http://bitconjurer.org/BitTorrent/index.html
BitTorrent服务器架设指南
BitTorrent是一种新型共享软件方式,优势在于不限制下载带宽和联接线程仍能提供高速下载服务,下载的人越多,下载速度不下降反而更稳定,相比之下FTP仅能提供一定数目内的联接和有限的带宽(下载的人越多,速度越慢)
BitTorrent适合于提供10M以上的文件下载,小的文件可集中于同一目录统一提供下载
RMVB、AVI等类型的电影文件最适合通过BitTorrent方式共享,经一个多月的测试,对于600M以上电影,50K上传带宽(如ADSL)的服务器,同时提供下载的文件不要多于2个,100K上传带宽同时提供3、4个文件下载最合适,100K以上上传带宽可按此类推
A)
下载python(约8M)
http://www.python.org/ftp/python/2.3/Python-2.3a2.exe
安装到c:\python23
B)
安装BitTorrent服务器程序(约130k)
http://bitconjurer.org/BitTorrent/BitTorrent-3.1.zip
解压到c:\bittorrent-3.1
C)
在c:\bittorret-3.1目录建立三个批处理文件:
1.bat
c:\python23\python bttrack.py --port 6969 --dfile dstate
2.bat
c:\python23\python btmakemetafile.py c:\avi\demo.avi
http://myiporhostsname:6969/announce
3.bat
c:\python23\python btdownloadheadless.py --url
http://myiporhostsname/demo.avi.torrent --saveas c:\avi\demo.avi
D)
如果没有安装或运行WEB服务器,安装或运行WEB服务器
E)
假设本机的域名是demo.vip.com,WEB服务器目录是c:\httpd
要将c:\movies\thehours目录里的avi电影和字幕文件进行共享,执行如下步骤:
a.
执行1.bat
b.
将2.bat中的c:\avi\demo.avi改成c:\movies\thehours,将http://myiporhostsname/改成http://demo.vip.com/
执行2.bat
如果执行正常,应在c:\movies目录下生成thehours.torrent文件,将此文件拷到c:\httpd
c.
将3.bat中的http://myiporhostsname/demo.avi.tor...vi改成c:\movies
执行3.bat
如果执行正常,程序将读取文件,完成后显示percent done: 100.0的信息并不断刷新
执行完上述三步后你就可以发布你的共享文件,
BitTorrent工作原理,BitTorrent分为tracker和client两部分。
以发布一个软件为实例:
先安装一个tracker服务器,此服务器需要相对稳定的为client提供服务。
然后将要发布的软件打包成一个,或多个文件。用<btmakemetafile>程序对该文件进行分析btmakemetafile,会将该文件分成多个段和创建checksum信息以保证下载数据的正确性,
btmakemetafile,会创建一个包含tracker服务器信息,文件分段和checksum信息的,以.torrent为扩展名的很小的文件,然后用<btdownloadheadless.py>程序发布第一个client, 每个client都会和tracker建立连接,因为第一个client为起始client,所以他必须包含完整的文件。
现在你可以发布.torrent文件了,当二个人(client2)开始下载的时候,会和tracker服务器建立联系,已取得已有client的信息(如client1),他会依照.torrent的文件划分规则开始向client1下载数据。
比如将发布的文件分为10段,这时他开始下在第一段,当client3下载的时候tracker会自动告诉他从client2下载文件的第一段,而从client1下载文件的其他段,以次类推,每个client可以同时从其他client那里下在他们已有的数据段,而下载的同时,也向其他client提供自己已下载的数据段,从而不仅提高了大家的下载速度也减轻了第一个release者的带宽压力。
附该软件的主页(所有源代码是开放式的)
http://bitconjurer.org/BitTorrent/index.html
开发环境
http://www.python.org/
下载并安装
http://bitconjurer.org/BitTorrent/bittorrent-3.0.2.exe
他很小,不创建程序组,是一个插件,装完后就可以打开.torrent文件开始下载了
|
|