BitTorrent (協定)
BitTorrent協定(簡稱BT,俗稱位元洪流、BT下載)是用在對等網路中檔案分享的網路協定程式。和對等(point-to-point)的協定程式不同,它是使用者群對使用者群(peer-to-peer),而且使用者越多,下載同一檔案的人越多,上傳同一檔案的人越多,下載該檔案的速度越快。且下載後,繼續維持上傳的狀態,就可以「分享」,成為其使用者端節點下載的種子檔案(.torrent),同時上傳及下載。
原作者 | 布萊姆·科恩 |
---|---|
開發者 | Rainberry, Inc. |
首次發布 | 2001年 |
原始碼庫 | github |
標準 | BitTorrent協定規範[1] |
類型 | 對等網路檔案分享 |
網站 | www |
歷史
該技術由美國的程式設計師布萊姆·科亨於2001年4月時發布,並於2001年7月2日時首次正式應用。
原理簡述
普通的HTTP/FTP下載使用TCP/IP協定,BitTorrent協定是架構於TCP/IP協定之上的一個P2P檔案傳輸通訊協定,處於TCP/IP結構的應用層。BitTorrent協定本身也包含了很多具體的內容協定和擴展協定,並在不斷擴充中。
根據BitTorrent協定,檔案發布者會根據要發布的檔案生成提供一個.torrent檔案,即種子檔案,也簡稱為「種子」。
種子檔案本質上是文字檔案,包含Tracker資訊和檔案資訊兩部分。Tracker資訊主要是BT下載中需要用到的Tracker伺服器的位址和針對Tracker伺服器的設定,檔案資訊是根據對目的檔的計算生成的,計算結果根據BitTorrent協定內的Bencode規則進行編碼。它的主要原理是需要把提供下載的檔案虛擬分成大小相等的塊,塊大小必須為2k的整數次方(由於是虛擬分塊,硬碟上並不產生各個塊檔案),並把每個塊的索引資訊和Hash驗證碼寫入種子檔案中;所以,種子檔案就是被下載檔案的「索引」。
下載者要下載檔案內容,需要先得到相應的種子檔案,然後使用BT客戶端軟體進行下載。
下載時,BT客戶端首先解析種子檔案得到Tracker位址,然後連接Tracker伺服器。Tracker伺服器回應下載者的請求,提供下載者其他下載者(包括發布者)的IP。下載者再連接其他下載者,根據種子檔案,兩者分別告知對方自己已經有的塊,然後交換對方所沒有的資料。此時不需要其他伺服器參與,分散了單個線路上的資料流量,因此減輕了伺服器負擔。
下載者每得到一個塊,需要算出下載塊的Hash驗證碼與種子檔案中的對比,如果一樣則說明塊正確,不一樣則需要重新下載這個塊。這種規定是為了解決下載內容準確性的問題。
一般的HTTP/FTP下載,發布檔案僅在某個或某幾個伺服器,下載的人太多,伺服器的頻寬很易不勝負荷,變得很慢。而BitTorrent協定下載的特點是,下載的人越多,提供的頻寬也越多,下載速度就越快。同時,擁有完整檔案的使用者也會越來越多,使檔案的「壽命」不斷延長。
DHT網路
目前,又發展出DHT網路技術,可以在無Tracker的情況下下載。
DHT全稱為分散式雜湊表(Distributed Hash Table),是一種分散式儲存方法。在不需要伺服器的情況下,每個客戶端負責一個小範圍的路由,並負責儲存一小部分資料,從而實現整個DHT網路的定址和儲存。使用支援該技術的BT下載軟體,使用者無需連上Tracker就可以下載,因為軟體會在DHT網路中尋找下載同一檔案的其他使用者並與之通訊,開始下載任務。
有些軟體(如比特精靈)還會自動通過DHT搜尋種子資源,構成種子市場。
另外,這裡使用的DHT演算法叫Kademlia(在eMule中也有使用,稱為Kad網路,具體實現協定有所不同)。
這種技術好處十分明顯,就是大大減輕了Tracker的負擔(甚至不需要)。使用者之間可以更快速建立通訊(特別是與Tracker連接不上的時候)。
BT中相關概念
BitTorrent與自由軟體
BitTorrent對於大型文件和自由軟體如Linux、FreeBSD的發佈幫助很大。對於發佈數百MiB以至數十GiB的檔案時,如Fedora的光碟鏡像格式檔,BitTorrent的使用能大大減低伺服器的資料流量從而減低發佈的成本。另外,一般有新版本軟體推出時,連結該伺服器的人數必定非常龐大,使用BitTorrent也能大大減低繁忙時間伺服器的負擔。
歷史
2002年,布萊姆·科亨在CodeCon初次露面,發表首個BT軟體BitTorrent。它以Python寫成,以MIT許可證發布。
影響
以線上遊戲為例,有些線上遊戲的線上更新(如魔獸世界)就是採用BT的技術。所以當每次有改版時,動輒數百MiB的更新檔,透過遊戲廠商所提供的更新程式,以BT的方式進行下載分流。這為以往的其他種線上遊戲,每次重大改版就必須重新壓製光碟,或是等待單一下載點的下載方式,帶來另一種節省成本的經營模式。
BT下載方式目前引起社會的廣泛討論。利用BT免費發布著作權內容肯定損害著作權所有者的合法權益,但傳播非收費性內容的好處有目共睹。爭論的焦點是,是否應因此立法全面禁止BT,並且對從事BT下載的人作出懲罰。目前為止,中國大陸和西歐等地區的國家,對BT仍沒有任何法律上的約束。不過2009年12月,國家廣播電影電視總局曾大範圍打擊和封鎖在中國的Tracker伺服器,以BTChina為代表的一批知名Tracker伺服器均因此停止服務。
在香港,陳乃明因為發布電影的種子而被海關拘捕。2005年10月24日,香港司法機關裁定陳乃明的侵權罪成立,需要即時監禁三個月。香港工商貿易部門領導曾俊華與海關關長湯顯明對今次裁決感到滿意,並表示香港政府和業界將不容忍任何侵權行為的存在,同時政府亦會隨時與商人合作打擊侵權行為。香港海關再於2008年9月及2009年4月先後拘捕兩人,分別為一名27歲任職收銀員的女性及一名38歲無業的男性。他們都被懷疑以BT非法上傳兩套外國電影而被捕,其中男疑犯涉及的電影為英國電影《故園風雨後》(Brideshead Revisited)及美國電視電影《十級颶風》(NYC: Tornado Terror)。他們成為當局自2007年中啟用,24小時運作的「網線監察系統」(Lineament Monitoring System)以來首兩名被捕者,使香港因以BT非法上傳而被捕人士的總數提升至三名[2][3][4]。
而台灣需受到美國特別301報告報復的壓力,常與IFPI及商業軟體聯盟(BSA)等商業著作權組織合作查緝提供BT來源的網站及論壇,台灣論壇首度因為供應BT下載遭到被捕,卡提諾王國為全台灣最大的BT及違法分享的分享平台,也於不久後被法務部調查。
大部分的BT下載都是歌曲或影片,尤以後者為多。舉個例子,一集電視劇集的大小約200至300MiB,而電影則是幾百MiB至幾GiB(1GiB=1024MiB),BT技術出現前,要下載這些類影片頗困難和花時間。因此BT的發展使網際網路使用者下載影片的數量大大增加。除了下載本地的歌曲影片外,使用者同時也能下載其他國家地區的歌曲影片,一些在其他國家播放的電視劇或綜藝節目,次日BT網站已能提供下載。所以BT的發展也促使網際網路使用者更加快地能接觸到其他國家的影視,而不需等待自己國家購買回來播放或出版VCD/DVD才能看。這樣使使用者多了選擇,不需只跟隨本地電視台或電影院播映什麼,就只看什麼。同樣地,他們的偶像也漸漸由在地化轉為國際化,以中國大陸及台灣為例,年輕人追捧的偶像越來越多是來自其他國家,如日本、韓國等。而這或多或少和他們能以BT下載其電視電影,更快和更多地接觸外地資訊娛樂有關。
支援此協定的軟體
相關條目
參考文獻
- ^ Cohen, Bram. BitTorrent Protocol 1.0. BitTorrent.org. October 2002 [1 June 2020]. (原始內容存檔於8 February 2014).
- ^ 兩電影斬件上載古惑漢落網. 大公報. 2009-04-29 [2009-04-29]. (原始內容存檔於2013-04-28).
- ^ 分段上載電影侵權無業漢被拘. 明報/新浪. 2009-04-29 [2009-04-29]. (原始內容存檔於2009-07-07).
- ^ HK Man Arrested for Sharing Films with BitTorrent. Xinhua/CriEnglish.com. 2009-04-29 [2009-04-29]. (原始內容存檔於2009-06-14) (英語).
外部連結
- 官方網站
- Specification (頁面存檔備份,存於網際網路檔案館)
- 開放目錄專案中的「BitTorrent」
- Unofficial BitTorrent Protocol Specification v1.0 (頁面存檔備份,存於網際網路檔案館) at wiki.theory.org
- Unofficial BitTorrent Location-aware Protocol 1.0 Specification (頁面存檔備份,存於網際網路檔案館) at wiki.theory.org