IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)系統(tǒng)集成網(wǎng)絡(luò)管理 → 解析BitTorrent協(xié)議的原理

解析BitTorrent協(xié)議的原理

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

  下載,是我們網(wǎng)絡(luò)應(yīng)用中非常普遍的一項(xiàng)用能。也是網(wǎng)絡(luò)分享資源的一種方式。那么在這里我們來(lái)對(duì)BitTorrent協(xié)議的下載技術(shù)進(jìn)行一下介紹。相信說(shuō)起這個(gè)BitTorrent大家肯定不會(huì)有所陌生的。

  Bittorrent

  Bittorrent已經(jīng)成為最為流行的P2P軟件,在2004年6月的Cachelogic的一份測(cè)試是報(bào)告中提到Bittorrent的數(shù)據(jù)流量已經(jīng)占到整個(gè)P2P數(shù)據(jù)流量 的52%?與其他傳統(tǒng)P2P軟件如Gnutella,Fasttrack不同,Bittorrent只是一個(gè)純粹的文件下載協(xié)議,并提供搜索功能,所以往往資源的獲取要跟其他一些應(yīng)用結(jié)合起來(lái),比如說(shuō)發(fā)布Bittorrent種子信息的網(wǎng)站如5Q?或者是網(wǎng)絡(luò)搜索引擎如百度?google等?

  Bittorrent工作原理

  Bittorrent的工作原理其實(shí)很簡(jiǎn)單,他就是將一份數(shù)據(jù)分隔成256K大小的數(shù)據(jù)分組,并在Bittorrent 網(wǎng)絡(luò)中一群用戶相互協(xié)作完成這些數(shù)據(jù)的分發(fā),用戶參與數(shù)據(jù)分發(fā)的信息已文件的形式存儲(chǔ),一般可以通過(guò)web網(wǎng)站獲取這些信息?但是實(shí)際數(shù)據(jù)傳輸依靠的不是Http協(xié)議,而是由專門(mén)的P2P協(xié)議來(lái)完成,這些對(duì)于用戶都是透明的?

  普通的HTTP/FTP下載使用TCP/IP協(xié)議,BitTorrent協(xié)議是架構(gòu)于TCP/IP協(xié)議之上的一個(gè)P2P文件傳輸協(xié)議,處于TCP/IP結(jié)構(gòu)的應(yīng)用層? BitTorrent協(xié)議本身也包含了很多具體的內(nèi)容協(xié)議和擴(kuò)展協(xié)議,并在不斷擴(kuò)充中?

  根據(jù)BitTorrent協(xié)議,文件發(fā)布者會(huì)根據(jù)要發(fā)布的文件生成提供一個(gè).torrent文件,即種子文件,也簡(jiǎn)稱為"種子"? .torrent文件本質(zhì)上是文本文件,包含Tracker信息和文件信息兩部分?Tracker信息主要是BT下載中需要用到的Tracker服務(wù)器的地址和針對(duì)Tracker服務(wù)器的設(shè)置,文件信息是根據(jù)對(duì)目標(biāo)文件的計(jì)算生成的計(jì)算結(jié)果根據(jù)BitTorrent協(xié)議內(nèi)的B編碼規(guī)則進(jìn)行編碼?它的主要原理是需要把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2k的整數(shù)次方(由于是虛擬分塊,硬盤(pán)上并不產(chǎn)生各個(gè)塊文件),并把每個(gè)塊的索引信息和Hash驗(yàn)證碼寫(xiě)入.torrent文件中;所以,.torrent文件就是被下載文件的"索引"?

  下載者要下載文件內(nèi)容,需要先得到相應(yīng)的.torrent文件,然后使用BT客戶端軟件進(jìn)行下載?

  下載時(shí),BT客戶端首先解析.torrent文件得到Tracker地址,然后連接Tracker服務(wù)器?Tracker服務(wù)器回應(yīng)下載者的請(qǐng)求,提供下載者其他下載者(包括發(fā)布者)的IP?下載者再連接其他下載者,根據(jù).torrent文件,兩者分別對(duì)方告知自己已經(jīng)有的塊,然后交換對(duì)方?jīng)]有的數(shù)據(jù)?此時(shí)不需要其他服務(wù)器參與,分散了單個(gè)線路上的數(shù)據(jù)流量,因此減輕了服務(wù)器負(fù)擔(dān)?

  下載者每得到一個(gè)塊,需要算出下載塊的Hash驗(yàn)證碼與.torrent文件中的對(duì)比,如果一樣則說(shuō)明塊正確,不一樣則需要重新下載這個(gè)塊?這種規(guī)定是為了解決下載內(nèi)容準(zhǔn)確性的問(wèn)題?

  一般的HTTP/FTP下載,發(fā)布文件僅在某個(gè)或某幾個(gè)服務(wù)器,下載的人太多,服務(wù)器的帶寬很易不勝負(fù)荷,變得很慢?而B(niǎo)itTorrent協(xié)議下載的特點(diǎn)是,下載的人越多,提供的帶寬也越多,種子也會(huì)越來(lái)越多,下載速度就越快?而有些人下載完成后關(guān)掉下載任務(wù),提供較少量數(shù)據(jù)給其他用戶,為盡量避免這種行為,在非官方BitTorrent協(xié)議中存在超級(jí)種子的算法?這種算法允許文件發(fā)布者分幾步發(fā)布文件,發(fā)布者不需要一次提供文件所有內(nèi)容,而是慢慢開(kāi)放的下載內(nèi)容的比例,延長(zhǎng)下載時(shí)間?此時(shí),速度快的人由于未下載完必須提供給他人數(shù)據(jù),速度慢的人有更多機(jī)會(huì)得到數(shù)據(jù)?

關(guān)鍵詞標(biāo)簽:BitTorrent協(xié)議

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 路由器地址大全-各品牌路由設(shè)置地址路由器地址大全-各品牌路由設(shè)置地址各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密Nslookup命令詳解-域名DNS診斷Nslookup命令詳解-域名DNS診斷站長(zhǎng)裝備:十大網(wǎng)站管理員服務(wù)器工具軟件站長(zhǎng)裝備:十大網(wǎng)站管理員服務(wù)器工具軟件

相關(guān)下載

人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼路由器地址大全-各品牌路由設(shè)置地址騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程路由表說(shuō)明(詳解route print)網(wǎng)管員實(shí)際工作的一天用此方法讓2M帶寬下載速度達(dá)到250K/S左右網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量