BitTorrent概述(选自维基)

 

BitTorrent

維基百科,自由的百科全書

跳转到: 导航, 搜尋
此文是論及BitTorrent協議。如要查看軟體請到BitTorrent軟體

BitTorrent協議(簡稱BT,俗稱比特洪流BT下載變態下載)是一個網路文件傳輸協議,它能夠實現點對點文件分享技術。比起其他點對點的協議,它更有多點對多點的特性,這個特點簡單的說就是:下載的人越多,速度越快。下載完不馬上關閉BitTorrent軟體,就可以成為種子(擁有完整的檔案者)分流讓其他人下載。

目錄

[隱藏]

<script type="text/javascript"> // </script>

[編輯] 原理簡述

BT原理
BT原理

普通的HTTP/FTP下載使用TCP/IP協議BitTorrent協議是架構於TCP/IP協議之上的一個P2P文件傳輸協議,處於TCP/IP結構的應用層BitTorrent協議本身也包含了很多具體的內容協議和擴展協議,併在不斷擴充中。

根據BitTorrent協議,文件發佈者會根據要發佈的文件生成提供一個.torrent文件,即種子文件,也簡稱為「種子」。

.torrent文件本質上是文本文件,包含Tracker信息和文件信息兩部分。Tracker信息主要是BT下載中需要用到的Tracker伺服器的地址和針對Tracker伺服器的設置,文件信息是根據對目標文件的計算生成的,計算結果根據BitTorrent協議內的B編碼規則進行編碼。它的主要原理是需要把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2k的整數次方(由於是虛擬分塊,硬碟上並不產生各個塊文件),並把每個塊的索引信息和Hash驗證碼寫入.torrent文件中;所以,.torrent文件就是被下載文件的「索引」。

下載者要下載文件內容,需要先得到相應的.torrent文件,然後使用BT客戶端軟體進行下載。

下載時,BT客戶端首先解析.torrent文件得到Tracker地址,然後連接Tracker伺服器。Tracker伺服器回應下載者的請求,提供下載者其他下載者(包括發佈者)的IP。下載者再連接其他下載者,根據.torrent文件,兩者分別對方告知自己已經有的塊,然後交換對方沒有的數據。此時不需要其他伺服器參與,分散了單個線路上的數據流量,因此減輕了伺服器負擔。

下載者每得到一個塊,需要算出下載塊的Hash驗證碼與.torrent文件中的對比,如果一樣則說明塊正確,不一樣則需要重新下載這個塊。這種規定是為了解決下載內容準確性的問題。

一般的HTTP/FTP下載,發佈文件僅在某個或某幾個伺服器,下載的人太多,伺服器的頻寬很易不勝負荷,變得很慢。而BitTorrent協議下載的特點是,下載的人越多,提供的頻寬也越多,種子也會越來越多,下載速度就越快。

而有些人下載完成後關掉下載任務,提供較少量數據給其他用戶,為盡量避免這種行為,在非官方BitTorrent協議中存在超級種子的演算法。這種演算法允許文件發佈者分幾步發佈文件,發佈者不需要一次提供文件所有內容,而是慢慢開放的下載內容的比例,延長下載時間。此時,速度快的人由於未下載完必須提供給他人數據,速度慢的人有更多機會得到數據。

[編輯] DHT網路

目前,又發展出DHT網路技術,使得無Tracker下載成為可能。

DHT全稱為分散式哈希表(Distributed Hash Table),是一種分散式存儲方法。在不需要伺服器的情況下,每個客戶端負責一個小範圍的路由,並負責存儲一小部分數據,從而實現整個DHT網路的定址和存儲。使用支持該技術的BT下載軟體,用戶無需連上Tracker就可以下載,因為軟體會在DHT網路中尋找下載同一文件的其他用戶並與之通訊,開始下載任務。

有些軟體(比特精靈)還會自動通過DHT搜索種子資源,構成種子市場

另外,這裡使用的DHT演算法叫Kademlia(在eMule中也有使用,稱為KAD,具體實現協議有所不同)。

這種技術好處十分明顯,就是大大減輕了Tracker的負擔(甚至不需要)。用戶之間可以更快速建立通訊(特別是與Tracker連接不上的時候)。

[編輯] BT中相關概念

Tracker:收集下載者信息的伺服器,並將此信息提供給其他下載者,使下載者們相互連接起來,傳輸數據。

種子:指一個下載任務中所有文件都被某下載者完整的下載,此時下載者成為一個種子。發佈者本身發佈的文件就是原始種子。也指.torrent文件。

做種:發佈者提供下載任務的全部內容的行為;下載者下載完成後繼續提供給他人下載的行為。

[編輯] BitTorrent與自由軟體

BitTorrent對於大型文檔和自由軟體LinuxFreeBSD的發佈幫助很大。對於發佈數百MB以至數GB的檔案時,如Fedora光碟鏡像格式檔,BitTorrent的使用能大大減低伺服器數據流量從而減低發佈的成本。另外,一般有新版本軟體推出時,伺服器必定人山人海,使用BitTorrent也能大大減低繁忙時間伺服器的負擔。

[編輯] 優秀的BT軟體

[編輯] 歷史

2002年布萊姆·科亨CodeCon初次露面,發表首個BT軟體BitTorrent。它以Python寫成,以MIT許可證發布。

[編輯] 負面影響

BT下載方式目前引起社會的廣泛討論。

利用BT免費發佈版權內容肯定損害版權所有者的合法權益,但傳播非收費性內容的好處有目共睹。爭論的焦點是,是否應因此立法全面禁止BT,並且對從事BT下載的人作出懲罰。但到目前為止,中國大陸西歐國家等,如德國,對BT仍沒有任何法律上的約束。而在香港,已經有人(綽號為古惑天皇)因為發佈電影的種子而被海關拘捕。2005年10月24日,香港司法機關裁定「古惑天皇」的侵權罪成立,需要即時「監禁」三個月。香港工商貿易部門領導曾俊華與「海關關長」湯顯明對今次裁決感到歡迎,並表示香港將不容忍任何侵權行為的存在,同時政府亦會隨時與商人合作打擊侵權行為。而在台灣,由於需受到美國特別301條款報復的壓力,因此經常與IFPI商業軟體聯盟BSA)等商業版權組織合作查緝提供BT來源的網站及討論區,台灣論壇首度因為供應BT下載遭到被捕,卡提諾王國為全台灣最大的BT以及違法分享最大的分享平臺,也於不久後被法務部調查。

[編輯] 支援BT下載協定的瀏覽器

  • Opera 8.10 Preview 2 (正式版未發佈該功能)

[編輯] 外部鏈接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值