熊蓋站 - 首頁

  Plurk Twitter    

» 您尚未 登入註冊 | 說明 | 娛樂中心 | 點歌 | 聊天留言 | 最新 | 精華 | 論壇 | 資訊 | 首頁 | 影音模式

熊蓋站  -> 軟體資訊  -> 【教學】BT名詞解釋+出錯程式碼解釋+BT設定

--> 本頁主題: 【教學】BT名詞解釋+出錯程式碼解釋+BT設定 加為IE收藏 | 收藏主題 | 上一主題 | 下一主題 | 可列印版本
andy6989


終身成就獎
頭銜:論壇執行長論壇執行長

∷ 職務: 站長 該帥哥目前不在線
∷ 編號: 1
∷ 級別: 天使會員
∷ 發帖: 8098
∷ 威望: 6189
∷ 財富: 36813 蓋幣
∷ 貢獻: 173
∷ 配偶: 單身
∷ 家族: 無門無派
∷ 註冊: 2005-01-30
∷ 上次: 2019-03-27
鮮花(55)
寵物資料

寵物狀態:生存
寵物級別:287 -最終進化-
寵物PK:開(接受挑戰)
HP:7275/7275
MP:674/674
SP:4800/5000
EXP:86%
  【字體: Plurk Twitter 
【本站推薦】:
 【教學】BT名詞解釋+出錯程式碼解釋+BT設定

挺實用的文章..對瞭解BT有很大的說明 ......喜歡BT的朋友看看吧

BT:BT是一種共享軟體(不是「變態」),全名叫"BitTorrent"。
一般來講,下載是把文件由伺服器端傳送到客戶端,例如FTP,HTTP,PUB等等。

但是這樣就出現了一個問題,隨著用戶的增多,對帶寬的要求也隨之增多,用戶過多就會造成瓶頸,而且搞不好還會把伺服器掛掉,所以很多的伺服器會都有用戶人數的限制,下載速度的限制,這樣就給用戶造成了諸多的不便。
但BT就不同,用BT下載反而是用戶越多,下載越快,這是為什麼呢?因為BT用的是一種傳銷的方式來達到共享的

BT首先在上傳者端把一個文件分成了Z個部分,甲在伺服器隨機下載了第N各部分,乙在伺服器隨機下載了第M個部分,這樣甲的BT就會根據情況到乙的電腦上去拿乙已經下載好的M部分,乙的BT就會根據情況去到甲的電腦上去拿甲已經下載好的N部分,這樣就不但減輕了伺服器端得負荷,也加快了用戶方(甲乙)的下載速度,效率也提高了,更同樣減少了地域之間的限制。比如說丙要連到伺服器去下載的話可能才幾K,但是要是到甲和乙的電腦上去拿就快得多了。所以說用的人越多,下載的人越多,大家也就越快,BT的優越性就在這裡。而且,在你下載的同時,你也在上傳(別人從你的電腦上拿那個文件的某個部分),所以說在享受別人提供的下載的同時,你也在貢獻。

★開放防火牆BT連接阜一步一步學★

僅為超級菜鳥服務:

ICF是"Internet Connection Firewall"的簡稱,也就是英特網連接防火牆。ICF建立在你的電腦與英特網之間,它可以讓你請求的資料通過、而阻礙你沒有請求的資料包,是一個關於包的防火牆。在使用BT有時會因為ICF的阻攔,引起連接不到SEED或者資料包延滯降低下載速度。所以我們有必要在ICF中設定對BT使用的連接阜不進行阻攔。

1。在你的桌面上右鍵點擊「網路芳鄰」,彈出的表單中選項「內容」。

2。彈出「網路連接」視窗。在裡面找到你上網用的連接,右鍵點擊它,在彈出的表單中選項「內容」。

3。彈出「本機連接內容」視窗。選項其中的「進階」選擇項。

4。看看滑鼠所指的項目有沒有選(如果沒有選就不用往下看了),選了就點擊視窗下方的「設定」按鈕。

5。彈出「進階設定」視窗。圖中被選的是一些一般的網路服務,現在我們要增加新的BT服務,點擊「增加」按鈕。

6。彈出「服務設定」視窗。依次填寫「服務描述」(隨便你羅),「本機IP位址」(也可以寫你的機器名),「連接阜號」(BT連接阜是6881~6890,每個BT線程佔用一個連接阜,據說只能開9個),然後確定即可。(別忘了選TCP傳輸協定)

7。這樣「服務」欄中就增加了一個「BT1」服務,這個服務開放的是6881連接阜,同樣你可以再新增開放6882~6890連接阜的服務,都搞定以後就點「確定」按鈕。

8。現在我們的BT就可以在ICF中通行無阻了。

9。很多電腦中都沒有開啟ICF,但裝有其他的專業防火牆。以最常用的天網防火牆個人版為例,同樣可以設定開放BT連接阜,點擊天網的「自訂IP規則」按鈕。

10。點擊「增加規則」按鈕。

11。彈出「IP規則修改」視窗。如圖依次填寫「名稱」(隨便寫),「資料包方向」選「接收或傳送」,對方IP位址選「任何位址」,選TPC傳輸協定,「本機連接阜」填「從6881到6890」,「TCP標誌位」選「SYN」項目,最後選項當滿足上面條件時「通行」,其他的填不填無所謂,然後點確定。

12。現在「自訂IP規則」欄中就增加了一個「BT」規則,打上前面的鉤鉤。

13。點「儲存」按鈕,搞定收工。呼~

使用BT程序中出現10060/10061錯誤後不必退出,這只是tracker伺服器太忙,BT會自動重試(無論這種情況是出現在開始還是下載程序中)

另外注意錯誤的時間,如果距現在已經超過2分鐘,恰恰說明現在是正常的。(BT不會自動清除過期的錯誤)

BT Experimental的Advanced介紹
BitTorrent EXPERIMENTAL是BT的一個非官方版本,主要是增加了 限制上傳速度、最大上傳人數及其他一些功能,在最新版的BT Experimental v3.2.1b-2中,又增加了一個新的功能 [Advanced],通過這個功能,你能夠察看:和你相聯接的有哪些人,你和它們之間的資料傳輸速度怎麼樣(包括上傳和下載)等等。
BT Experimental的界面與BT很像,使用方法也一模一樣,只是多了一些設定:


左下角的 Settings for 預設的多種上網方式,選項與你的上網方式相同的選項,BT Experimental就會自動為你設定比較理想的 最大上傳速度和人數,當然你也可以自己設定,不過記住:your download rate is proportional to your upload rate(你的下載速度與你的上傳速度相關)

右下角的Upload rate和Max uploads就是你的 最大上傳速度和人數。

接下來,就是主要介紹的Advanced功能了。
在左下角的 Settings for 下面,有個藍色的 Advanced 單詞,點擊它,就會彈出Advanced視窗,如下:


解釋一下每列的意義:
optimistic unchoke:意義不明
IP:對方的IP
local/remote:也不太清楚
Up:當前你為對方上傳資料的速度,也就是對方在你這裡下載的當前速度。
Interested:你是否有對方需要的資料," * " 表示是。
Choking:對方是否暫時被你拒絕從你這裡下載資料," * " 表示是。
這個需要解釋一下:在BT Experimental裡,你是可以限制同時從你這裡下載的人數的,比如你限制為6,但並不是說只能有6個人連到你這裡,可能有幾十個人連到你的電腦,這時,BT Experimental就會自動選項6個人,允許他們下載資料,其他的人就被暫時拒絕了,當過了一段時間後,BT Experimental又會自動選項另外的6個人,保證每個想從你這裡下載的人都能夠下載到資料。
Down:當前你從對方那裡下載的速度。
Interesting:對方是否有你需要的資料," * " 表示是。
Choked:你是否暫時被對方拒絕從他那裡下載資料," * " 表示是。
Snubbed:暫時意義不明。
Downloaded:你從對方那裡下載的資料總量。
Completed:對方的文件資料的完整度。100%的那些人就是SeeD。大家都來拜一拜呀~~~~~
Peer Download Speed:對方下載的總速度。嗯嗯,看到那些上百KB速度的人了吧,羨慕啊~~~~~

好了,介紹完畢,這下大家都明白了吧?這個Advanced功能很不錯吧,如果喜歡就去下載一個吧,和BT一樣方便,但是功能更強,穩定性也很好。(廣告!廣告!)
下載位址:http://ei.kefro.st/projects/btclient/

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/an...nt=started

http://btfans.3322.org:6969/announce 是發佈伺服器的位址
info_hash 是torrent文件中的 info 部分的Sha校驗碼,WEB通過它在發佈列表找到對應的紀錄,
peer_id 是自身的標識,它是12個0和當前時間+全球的唯一標識碼(GUID)的Sha校驗的前八位,共20位
port 你提供上傳的 port
IP 你的ip位址,沒有的話伺服器會自己找到
uploaded downloaded 你上傳和下載了多少,伺服器可以用它來做流量分析
left 你還要下載多少個字元
event 狀態,告訴伺服器你是準備開始下載,還是停止,還是下載完成了
以上這個操作預設 5 分鐘做一次,或由伺服器設定

伺服器會做甚麼

伺服器中有個一個 track 程序來管理這些請求
得到這一串程式碼後就會用 info_hash 來搜尋列表,找到你就可以下載,找不到就對不起啦
接著它會反連(NatCheck)你的 IP 和 Port這樣就可以知道你是局內網用戶還是共網用戶(如果你是局內網用戶,它是連不通的,因為它會連到你的伺服器上,你的伺服器當然沒有這個連接阜啦)
然後伺服器返回現在正在下載這個文件的所有公共外網用戶的IP和port,就像是這樣
d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eer id20:00180531904b7e3abdd74orti6881eeee
interval 1800 是告訴 BT 隔多少秒來查詢一次這裡是 30 分鐘 (有點過分了)
最後如果你是公共外網用戶它會把你提交的 IP 和 Port 放到info_hash 對應的列表中,這樣其它人就可以找到你

下載
得到這些 peer IP後,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的確要比公共外網用戶要慢很多.於是有了下面的

一直是0%:
可能SEED是局內網,連接不上。有時用PTC和shareaza無法下的東東,用BT就可以下。
下不了的話具體原因跟具體情況有關,如你的網路是否區域網路,你是否能訪問到tracker,你使用的是那種客戶端,你下載的具體是哪一個BT文件,你是從頭開始下還是續傳,續傳的話之前是否當機過等這些都有關係。
BT下載慢的一些原因:
1、不是公共外網用戶。局內網用戶不能提供主動連接,所以較慢
2、各個運營商網路接頭速率不高
3、下載者上傳速率不高。因為BT優先處理上傳較快的人
4、發佈時seed的多少,還與發佈者的速率相關,還有下載的人數越多相應的下載速度就越快(這就是BT的最大優點)
5、用戶的防火牆阻礙作用

關於BT錯誤信息的一些解釋


最近發現有很多人問有關BT的出錯資訊,下面給出完整的解釋:

事實上,當你看到這些錯誤提示時,其實並不要緊張,這是你所要做的便是----等待.


注意:使用BT程序中出現紅字錯誤後不必退出,BT會自動重試(無論這種情況是出現在開始還是下載程序中)另外注意錯誤的時間,如果距現在已經超過5分鐘,恰恰說明現在是正常的。(BT不會自動清除過期的錯誤)


I. A piece failed hash chech, re-downloading it

這並不是什麼壞消息,你不用理會它.意思是告訴你,你下載的文件有一部分是壞的,bt會自動幫你重新下載錯誤的部分.導致這個錯誤的大多數原因在於某些人錯誤的使用了"跳過hash檢查"這個選項

II.bad data from tracker -

通常你不必理會它,通常是tracker伺服器過載或者down了.也有可能是你的網掉線了(如部分長寬,訪問任何網站會返回登入界面,就是錯誤的data啦)


III.Problem connecting to tracker - timeout exceeded
Problem connecting to tracker - HTTP Error 503: Connect failed
Problem connecting to tracker - [Errno socket error] (10061, "Connection refused")
Problem connecting to tracker - (111, 'Connection refused')

說明在連接tracker伺服器程序中出現錯誤,有可能trakker伺服器過載或者down了,這時並不要心急,等待BT自動重試.如果很長時間都沒有反映的話,你可以加上"--http_timeout 120"的參數來加大連接重試時間.具體做法另文說明.

IV.Problem connecting to tracker - HTTP Error 400: Not Authorized

說明這個tracker伺服器不允許你使用這個torrent文件(國內好像比較少見),有些tracker伺服器只允許在他們自己網站上發佈的torrent才允許下載.解決只有換一個torrent文件了,

V.Problem connecting to tracker - HTTP Error 404: Not Found

很簡單,torrent文件在tracker伺服器上已經找不到了,找個新的吧.

VI.Problem connecting to tracker - HTTP Error 407: Proxy Authentication Required

假如你用的是代理下載BT,說明這個代理需要驗證,需要你輸入用戶名和密碼.

VII.Problem getting response info - [Errno 2] No such file or directory: "C:\\Documents and Sett..."

在某些情況下,IE有可能沒把torrent文件存在臨時資料夾內.解決方法是在torrent文件下載位址上按右鍵,然後另存到硬碟的某處(這可是個好習慣,以後你求種子或者reseed的時候特別有用,建議大家都這麼干,利己利人),然後雙按這個torrent文件開始下載.如果出現這個問題,建議清楚你的IE緩衝,在文件中如果出現"["或者"]"也會出現這個問題.
個軟體,PTC,一個FLASHGET風格的BT下載,解決了當你同時下很多SEED時,工作管理欄上一堆視窗的問題,而且也可以搜尋種子的數量.
但是BT有他的缺點,不像E2K,無法控制沒有自覺的用戶,所以在有些發佈點上,要下就快下,否則種子在幾個小時後有可能就沒有了.
http://itguysam.no-ip.com/PTC.html
BitTorrent experimental v5.2 http://btfans3.3322.org/torrents/16287.torrent
這個很好可以設定占停顯示種子的ip設定連接阜


※ ※ ※ 本文為 andy6989 與 熊蓋站 共同所有,未經同意,請勿轉載 ※ ※ ※

 



≡熊蓋站管理團隊≡--共勉之--



[樓 主] |
發表於:2005-03-25 17:00

  熊蓋站 -> 軟體資訊

v 最新文章        熊蓋站為自由討論論壇,所有個人行為或言論不代表本站立場。文章內容如有涉及侵權請聯絡我們,將立即刪除相關文章資料        v 精華文章

               

奇摩搜尋
完全比對 模糊比對

線上收看: 景點即時影像 | 線上查詢: 火車時刻表最上方

    Powered by 熊蓋站  Code © 2005-2017 Plurk Twitter 
讀取秒數Time 0.011158 second(s),query:4 Gzip enabled
   現在時間是 2024-11-27 20:33