【教學】BT終極加速下載大法



贊助商連結


fievel0088
2004-08-04, 12:11 PM
BT終極下載提速

隨著一聲『恭喜發財』,從天上掉下一滴甘露正好落在你的嘴唇上!
你在恍惚中看見了23兩黃金。
想要檢測端口6881-6889端口一法
很簡單,在電驢主夜上有個測試網頁
http://www.thedonkeynetwork.com/connection_test
輸入6881,然後test

如果顯示:
timeout:timeoutonip61.177.***.***(6sec)
thismeans,thatweevendidnotreceivea
RESETsignal;maybeduetoa'stealth'firewall

說明端口被封或者有開防火牆!


如果顯示:
1.connectionwasacceptedonip61.177.***.***
senthellobuttheanswerdoesn'tseemtocome
fromanedonkeyclient!??
說明端口開放,並且6881端口使用中(BT開著)
2.error/resestonip61.177.***.***!
說明端口開放,但6881端口未被使用(BT沒開)

bt使用的端口試6881-6889這幾個,方法請一一測試端口
====如果有以上的端口被封了.請參照下面方法來設置by魔人====


BT增加速度的幾種方法

★★★★★★★★BT不成文的守則:人人為我,我為人人,這才是終極提速★★★★★★★

先分析一下原因吧:
1、是內網(局域網)用戶。內網用戶不能提供主動連接,所以較慢
2、各個運營商網絡接口速率不高
3、下載者上傳速率不高。因為BT優先處理上傳較快的人
4、發佈時seed的多少,還與發佈者的速率相關,還有下載的人數越多相應的下載速度就越快(這就是BT的最大優點)

5、用戶的防火牆阻礙作用
6、線路問題
*************************************************************************************


增加速度有幾種方法:

1、公網上網的用戶方便了,只要沒開防火牆,一般速度會達到下載極限(哪怕只有一個種子);如果有防火牆,要正確設置參數,打開6881~6889端口。


2、內網用戶速度會很慢,因為在內網下,別人看不到你的機器,只能看到你的網關,如果對方也在內網下,那麼你們就不能互傳文件。

解決方法:
(1)、是用終極武器NAT--端口映像(又叫網絡地址翻譯),
其作用是讓服務器把指定端口的請求轉發到指定的IP上,讓其它的機器來響應這些請求,而內網向外網發送的時候不再是像其它網關服務那樣隨機分配端口,而是用上面指定的端口。可以用的軟件有:

WinRoutePro
PortTunnel
但如果你的服務器是win2000,並用自帶的網絡共享功能,那麼有更簡單的方法
在你共享的連接上按右鍵->屬性
到公用設定板按下面的設定按鈕,系統會彈出設置窗口
到服務板,按新增
名稱隨便填
端口6881
勾選TCP
私人網絡中的計算機名稱或ip填你的本機ip
然後保存,再按同樣的方法增加6882-6889端口的映像,把它們通通指向你的計算機
(因為我的系統是繁體系統,所以以上的名稱不一定和你的相同)
不明白的可以看看WIn2000幫助系統中有關NAT的說明

不可忽視的缺點:假如你是校園網的LAN,你如何說服網管運行分配端口程序呢?大家各顯神通吧!!

(2)、安裝端口映射器(PortMap)V1.5
,設置非常簡單,其他端口映射工具用不習慣的朋友不妨試試,設置方法:
單擊增加按鈕
在名稱裡隨便輸入
輸入IP裡默認為AnyIP就可以了
輸入端口裡輸入6881
輸出IP為自己機子的IP<不知道自己IP的朋友,輸入IP的下拉菜單的最後一項可能就是你機子的IP>

輸出端口裡輸入6881<輸入端口和輸出端口相同>
這樣設置就完成了,啟動設置好的那項就OK了!
BT下載的端口:6881-6889
是不是下載速度提高很多呢?!下載

3、下載時盡量只開一個BT,這樣它就會享有最大帶寬。如果你打開兩個BT,它們就會根據網絡情況的不同來分享帶寬(我用LAN,最大速度400k/s)


4、同時盡量不要用其它的下載工具同是下載文件,如FTP等,雖然BT搶線的能力不錯,但是還是會受到一定的影響。

5、要是下載速度仍不上來,大家就看看自己上網的設備是否是在良好的狀態了!比如是否用專用壓線工具處理網線接頭(RJ45接頭)等,因為這些都會影響信息的流通!

6、終極提速大法:人人為我,我為人人。只有大家自己當種子源,我們才可以享受到更好的資源共享!
**********************************小技巧********************************************

我下載中總結出的一些技巧:
首先是使用它探知下載前該文件有多少人下載或者連接是否還可用,從而很容易的估算大約下載的速度。當我覺得有必要,並且下載有效的情況下再開啟BT客戶端下載我需要的文件。

1.盡可能在看到BT鏈接時,不要直接點擊,而是右鍵->目標另存為,將其保存為一個本地文件,待保存完畢點打開即可。

這樣做的好處,前面已經說了,可以方便續傳,不用續傳時滿世界找原來的鏈接。
2.一開始速度慢,不要太心急
很多人往往說好慢啊,只有幾K的速度,要數百分鐘,於是CANCEL了。其實BT下載的特點就是這樣的,先開始很慢,只有幾K,然後逐漸增長到上百K。這個過程從你看見1K的速度開始,一般要2-5分鐘。所以只要你載的東西不是太過時,以致種子都失效了,就耐心等個幾分鐘吧。

3.盡量選擇下載200-700M的文件,特別是RMVB格式的電影
我總結出來,DVD-RMVB格式的電影用BT下載最方便,速度也最快;其它格式如DVDRIP文件太多,下載之前START過程比較慢,而且會自做主張的建一堆目錄和文件;而對於較小的文件,比如40M以下的文件,根本體現不出BT的優點,按照剛才第二點說的,速度還沒到峰值就結束了


註:以上資料是從網上收集整理或本人總結所得。
----隨意轉載但不可修改,我的宗旨是越多人加入BT資源共享越好!


★★★★★★★★★★★★答讀者問,不當之處請指正,呵呵★★★★★★★★★★★★★

補充一點:由於BT下載的就是很大的文件,就我來說,有空的時侯幾天就下了30多G,這樣的反效果是文件的大量增刪導致系統變慢,這時可以用諾頓等工具軟件來整理一下機子!!


1、具體的WinRoute
Pro和PortTunnel這兩個工具如何,大家可以上上網搜索,我也是這樣學會的,因為網上的資料更為詳盡,在這我不哆嗦了。

2、公網、內網是兩種Internet的接入方式。
內網接入方式:上網的計算機得到的IP地址是Inetnet上的保留地址,保留地址有如下3種形式:10.x.x.x

172.16.x.x至172.31.x.x
192.168.x.x
內網的計算機以NAT(網絡地址轉換)協議,通過一個公共的網關訪問Internet。內網的計算機可向Internet上的其他計算機發送連接請求,但Internet上其他的計算機無法向內網的計算機發送連接請求。在BT中就是說別的BT朋友找不到你的機,只有靠你去找他們的機,所以速度慢。

公網接入方式:上網的計算機得到的IP地址是Inetnet上的非保留地址。公網的計算機和Internet上的其他計算機可隨意互相訪問。


要說得形象一點嘛,唔,這樣說吧,公網IP就是你們家對外的聯繫地址(如收信的),內網就是你們家你的哪個房間,所以不為外人知,就這樣啦



.................
文章中的軟件
端口映射器(PortMap)1.5
http://www.onlinedown.net/soft/7023.htm︴/url]]華軍軟件園)
這個軟件是我使用過的,的確很簡單,但這也是缺點,很粗糙,我在使用中發生了一個小小的問題,重新啟動電腦後開放的端口又不在了,不知道是不是軟件的原因還是我的電腦設置有問題


.......................................
內網的是很麻煩,開放了端口就會好很多了

porttunnel沒用過,用PortMap吧。超級簡單的,文章中有說明,如下
portmap載點(簡體)[url]http://www.onlinedown.net/soft/7023.htm

單擊增加按鈕
在名稱裡隨便輸入
輸入IP裡默認為AnyIP就可以了
輸入端口裡輸入6881
輸出IP為自己機子的IP<不知道自己IP的朋友,輸入IP的下拉菜單的最後一項可能就是你機子的IP>

輸出端口裡輸入6881<輸入端口和輸出端口相同>
這樣設置就完成了,啟動設置好的那項就OK了!
BT下載的端口:6881-6889
BT運行原理分析及內網提速方法

由於內網用戶無法提供一個對外的端口,所以無法做服務器.但用BT的時候,發現它可以讓內網用戶做
Send,作為程序員就忍不住下載了它的源代碼分析了一把(為了看它,還專門去寫了一下Python:})


比起其他的P2P軟件,BT有個獨特的地方,它存在一個中間的WEB服務器,就是我們在發佈的時所填寫的announce.該服務器提供了發佈的統一管理,不像其他P2P軟件那樣到處去找哪些非常不穩定的個人服務器,相對起來讓人安心的多.

該WEB服務器更大的作用是內網用戶可以做
Send(下面會說明原理),這是其他軟件無法做到的,但不好的地方是announce當機的時候就無法下載了,要知道P2P下載關鍵是要人氣要高,announce停一下就搞到人氣全沒有了


.torrent的作用
大家都知道我們要用BT下載,就要先下載一個.torrent文件,這個文件到底有甚麼呢:
首先是announce紀錄了發佈服務器的位置,讓BT知道是那個WEB服務器發佈的
然後是一些文件信息,文件名,目錄名,長度等等
最後是片段長度,和片段的Sha1校驗碼
(BT為了事現續傳和文件校驗,就把文件分成若干個片段)
大家可以用寫字板打看torrent文件看看,就是知道個大概,後面的亂碼是片段Sha1校驗碼

開始-續傳的實現sha校驗以下訊息只有回覆者才可以觀看
==============================

BT打開一個
torrent文件後,先要你選擇文件保存那裡.然後判斷文件不存在的話就建立新文件,存在的話就用
Sha1
校驗碼去校驗文件---錯誤的就是還沒下載的,這樣就可以實現續傳了,但128位校驗,想不慢都不行

得到peer

現在知道要下載甚麼了,到那裡下載呢?這就要尋找有誰提供上傳了,這裡BT是通過WEB服務器來實現的,首先BT會通過分析
torrent來得到一面一串網址

http://btfans.3322.org:6969/announc...p;event=started


http://btfans.3322.org:6969/announce是發佈服務器的地吝/url]}
info_hash是torrent文件中的info
部分的Sha校驗碼,WEB通過它在發佈列表找到對應的紀錄,
peer_id
是自身的標識,它是12個0和當前時間+全球的唯一標識碼(GUID)的Sha校驗的前八位,共20位

port你提供上傳的port
IP你的ip地址,沒有的話服務器會自己找到
uploadeddownloaded你上傳和下載了多少,服務器可以用它來做流量分析
left你還要下載多少個字節
event狀態,告訴服務器你是準備開始下載,還是停止,還是下載完成了
以上這個操作默認5分鐘做一次,或由服務器設定


服務器會做甚麼

服務器中有個一個track程序來管理這些請求
得到這一串代碼後就會用info_hash來查找列表,找到你就可以下載,找不到就對不起啦
接著它會反連(NatCheck)你的IP和
Port這樣就可以知道你是內網用戶還是共網用戶(如果你是內網用戶,它是連不通的,因為它會連到你的服務器上,你的服務器當然沒有這個端口啦)

然後服務器返回現在正在下載這個文件的所有公網用戶的IP和port,就像是這樣
d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eer
id20:00180531904b7e3abdd74orti6881eeee
interval1800是告訴BT隔多少秒來查詢一次這裡是30分鐘(有點過分了)
最後如果你是公網用戶它會把你提交的IP和Port放到info_hash
對應的列表中,這樣其他人就
可以找到你

下載
得到這些peerIP後,BT就可以找到對應的IP下載了
Bt會到所有的peer去尋找自己要下載的東西,不是一定要到seed下載.
Bt每找到一個peer就和建立一個Socket來下載,所以下載的人越多,速度就越快.


內網用戶可以做Send的原理


上面說到服務器只會返回公網的ip的,那內網用戶怎麼可以做Send呢,這是因為BT是一個主動連接的軟件(即使你已經下載完了,也不也會主動連接他人)

下面是一個模擬流程:

1內網用戶開始做seed,
2服務器收到請求,由於是第一個所以也沒有peer返回
3
公網用戶提交請求,由於seed是內網用戶所以也沒有peer返回,等待下載,但服務器會把它的IP放到列表中

4內網經過interval時間間隔後,再向服務器放出請求,得到上面得公網IP
5得到公網IP後,內網馬上進行連接
6公網用戶建立連接,數據開始傳輸
(注意現在是公網用戶做服務器,內網用戶做客戶端,是不是有點怪)
7其他內網用戶去上面公網用戶下載數據

所以,內網用戶做seed
一定要有公網用戶得參與,否則其他內網用戶無法下載.如果全部是內網用戶,那個所有連接都不會成立,當然這是比較極端的情況.

以上可見,內網用戶不能和內網用戶連接,其他用戶無法從服務器查到你,所以無法主動連接你,你只能每隔30分鐘從服務器找到公網用戶一個個進行連接.

由於中國很多用戶的是內網用戶(我從服務器上查回來的peer還沒試過超過10個的),所以內網用戶用BT的確要比公網用戶要慢很多.於是有了下面的


內網提速大法

瞭解了原理我們就有解決的方法,不就是外面的人找不到我們嗎,讓他們找到不就行了
終極武器NAT--端口映射(又叫網絡地址翻譯)其原理這裡就不說了(其實也不是很複雜),
其作用是讓服務器把指定端口的請求轉發到指定的IP上,讓其他的機器來響應這些請求,而內網向外網發送的時候不再是像其他網關服務那樣隨機分配端口,而是用上面指定的端口


可以用的軟件有
WinRoutePro
PortTunnel
軟件下載和使用方法見
[url]http://www.pconline.com.cn/pcedu/so...1/127157_2.html

但如果你的服務器是win2000,並用自帶的網絡共享功能,那麼有更簡單的方法
在你共享的連接上按右鍵->屬性
到公用設定板按下面的設定按鈕,系統會彈出設置窗口
到服務板,按新增
名稱隨便填
端口6881
勾選TCP
私人網絡中的電腦名稱或ip填你的本機ip
然後保存,再按同樣的方法增加6882-6889端口的映射,把它們通通指向你的電腦
(因為我的系統是繁體系統,所以以上的名稱不一定和你的相同)
不明白的可以看看WIn2000幫助系統中有關NAT的說明

用了端口映射後,只有你一個人爽,其他人還是老樣子(包括服務器),不過你可以搞一台BT下載專用機

現在享受以下速度的快感吧

BT的缺點:
1
用Python編寫,須然可以跨平台,但再Windows下耗資源比較多,特別是服務器應該考慮用C重寫
track
http://www.torrentse.cx%BA%C3%CF%F1...F@%98%D3%D7%F6/(其返回得東西和標準的不大一樣)===============================================================
在閱讀此文的同時 , 我連結至文中所提到的端口測試網址
http://www.thedonkeynetwork.com/connection_test
但是試了幾天,也試了很多次,都無法開啟...
有那位朋友知道..是否還有同樣提供此一功能的網站呢

贊助商連結


jubs2371
2004-08-08, 05:11 PM
感謝心得分享..非常用受用!!
謝謝!!

MrBenson
2004-08-08, 07:32 PM
分享一張小弟在友壇發表的回文‥

http://free.efile.com.cn/bensonset/bting.jpg

freecool
2004-11-12, 12:36 AM
謝謝分享這麼詳盡的教學!!!