1. 程式人生 > >bt tracker伺服器 相關內容

bt tracker伺服器 相關內容

bt下載可採用兩種方式:
DHT網路
中心伺服器
如果採用了DHT網路,進行BT下載就不需要中心伺服器了。


bt伺服器
http://bittorrent.com/
BitTorrent


Metadata-Version: 1.0
Name: BitTorrent
Version: 3.9.1
Summary: UNKNOWN
Home-page: http://bittorrent.com/
Author: Bram Cohen
Author-email: <[email protected]>
License: BitTorrent Open Source License
Description: UNKNOWN
Platform: UNKNOWN




BitTorrent Tracker 的特點:
  C++編寫,採用高效能網路通訊技術, 高效穩定。
  配置簡單容易。
  支援HTTP和UDP兩種連線模式, 與BitTorrent客戶端完美配合。
  可針對使用者數量, 進行效能調節。
  用瀏覽器進行遠端狀態監視。
  支援自定義的資料庫外掛, 並提供一個SDK開發示例。


BT原始碼的分佈
把BT的原始碼展開之後,可以看到有一些python程式,還有一些說明檔案等等,此外還有一個BitTorrent目錄。這些 python程式,實際是一些小工具,比如製作 metafile的、執行tracker伺服器的、執行BT client端的 btdownloadheadless 等等。而這些程式中,用到的一些 python 類的實現,都放在子目錄 BitTorrent 下面。我們的分析工作,通常是從工具程式入手,而隨著分析的展開,則重點是看 BitTorrenet子目錄下的程式碼。
在談到如何開發可維護的程式碼的一篇文章中,其中提到的一條就是開發一些小工具以簡化工作,我想BT的這種原始碼結構,也正是作者思想的一種體現吧[3]  。
1.BT客戶端


BT客戶端是安裝在使用者PC機上的客戶端軟體,目前有很多BT客戶端可用,這裡推薦BitComet(http://www.bitcomet.com/index-zh.htm)。它是一個類似FlashGet介面的BT下載客戶端軟體,簡潔易用。


BitComet在下載的同時,還負責將下載的內容共享給其它使用者,這個過程完全不需要使用者參與。如果不知道如何使用BT客戶端下載,那麼安裝BitComet後去訪問BT中國網站,試一試就知道如何使用了。


2.BT“種子”檔案


BT“種子”檔案是一個名為.torrent的檔案,它是由第一個釋出共享檔案者根據原始檔製作出來的原始檔的指紋資訊。“種子”檔案很小,一般在幾十 KB到幾百KB之間,其中包含檔案所在的BT端地址資訊及目標檔案的校驗碼。當BT使用者獲得“種子”後,直接在BT客戶端軟體中執行“種子”檔案,BT軟 件將根據“種子”檔案包含的資訊,自動查詢到該檔案所有可用的下載源,並進行下載。


3.Tracker


使用BT服務不需要指定伺服器,雖然在BT服務裡面仍然有伺服器的概念,但使用BT服務的人並不需要關心伺服器在哪裡。BT伺服器稱為Tracker,準 確地說,Tracker是指運行於伺服器上的一個程式,這個程式能夠追蹤到底有多少人同時在下載同一個檔案。BT客戶端連線上Tracker伺服器,就會 獲得一個下載人員的名單,根據這個名單,BT客戶端會自動連線網路中其它節點進行下載。


4.種子


BT服務把提供完整檔案的使用者節點稱為“種子”(Seed),正在下載的使用者稱為客戶(Client)。某一個檔案現在有多少“種子”、多少“客戶”是可以看到的。只要有一個“種子”就可以放心地下載。當然,種子越多、客戶越多的檔案下載的速度會越快。


如果發現“種子”數為0,那麼就不需要去嘗試了。當某個使用者下載完成後,如沒有選擇關閉,其它人就可以從該使用者處繼續下載檔案。所以當下載的人多起來,通常做“種子”的人也會隨之增加,下載速度也會加快。