當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]看到很多咨詢BT種子原理的問題,在這里整理些資料,希望對需要的朋友有幫助??梢苑謨蓚€層面來分析一下:? 1、torrent文件的原理:如果這個問題是指torrent文件本身,那么,當(dāng)你對一個文件(或者

看到很多咨詢BT種子原理的問題,在這里整理些資料,希望對需要的朋友有幫助。


可以分兩個層面來分析一下:

? 1、torrent文件的原理:如果這個問題是指torrent文件本身,那么,當(dāng)你對一個文件(或者文件夾)制作成.torrent文件,實際上生成的.torrent文件里面主要包括了這些信息:

? A)這個文件(文件夾)中數(shù)據(jù)的SHA1值,比如一個1G的文件,如果按1M每塊進(jìn)行分塊,則會被分為了1000塊,torrent中就會有這1000個數(shù)據(jù)塊的指紋值(SHA1的hash值),這個占據(jù)了torrent文件的絕大部分空間。這些值的目的是為了下載的過程中進(jìn)行數(shù)據(jù)校驗,確保數(shù)據(jù)收到的和當(dāng)時源頭制作torrent時的源文件100%一致,防止惡意數(shù)據(jù)攻擊。

? B)一般制作torrent文件時,還會要指定一個或者多個Tracker的地址,比如http://www.a.com:8080/announce這種地址.torrent里面一般也會存儲了這個信息,這個其實也尤為重要。相當(dāng)于記錄了一個問詢服務(wù)器的地址,這個問詢服務(wù)器的作用,后面我再解釋。

? C)文件或者文件夾內(nèi)每個文件的名字,方便下載文件時,磁盤上直接命名好跟原始數(shù)據(jù)一樣的目錄結(jié)構(gòu)、文件名。

? D)其它一些輔助和可擴(kuò)展的信息,比如可以配置一個P2SP的http地址輔助下載,比如制作軟件的名字、備注……。 E)上面信息生成后,torrent會把A)里面的這些信息,以及torrent里面的文件名等關(guān)鍵信息,再進(jìn)行一次Hash,生成一個新的SHA1值,作為torrent的HASH值,也就是我們經(jīng)??吹降南螺d軟件里面對這個種子命名的一個唯一的hash值,也有的在magnet這種磁力鏈接中可以看到這個值,這就是torrent的唯一標(biāo)記。

? 以上就是.torrent文件的內(nèi)容,可以用記事本打開,但可能看到亂碼。這個文件的編碼遵循了bencode編碼規(guī)則。但實際內(nèi)容就主要是上面這些。所以,torrent可以理解為對原始數(shù)據(jù)的一些記錄。

? 2、如果這個的問題是指,BT是如何通過.torrent開始進(jìn)行下載的,那么這個的原理大概是這樣的:

? A)下載軟件拿到.torrent文件后,先進(jìn)行打開,讀取里面的這些信息,載入內(nèi)存。

? B)torrent中有Tracker的地址,下載軟件拿到后,會去跟Tracker進(jìn)行通訊,告訴Tracker:我要下載這個文件(通過hash值作為標(biāo)記); Tracker收到請求后,會記錄這個客戶端的公網(wǎng)IP(記錄這廝在下載這個文件),同時呢,會返回給他:我這邊還知道哪些人也在下載這個文件,一般是會返回200個IP(如果不夠,當(dāng)然就有多少返回多少)。當(dāng)然了,如果下載過程中,協(xié)議要求你必須5分鐘跟tracker通訊一次,如果太久不通訊,tracker就認(rèn)為你下線了,會把你從節(jié)點列表中刪除的。

? C)客戶端拿到了一堆IP后,就開始挨個去嘗試連接,連上后就開始互相通訊了。比如告訴對方,我有哪些分塊,問問對方有哪些,然后把我有的給對方;讓對方把他有的某一塊給我,這樣就你來我往開始了下載。當(dāng)然,如果很悲催的情況下,此時沒別人在線,那就只能沒速度了,就只能不停的找啊找啊找朋友,直到找到一個好朋友。

? D)當(dāng)然,如果torrent中有一個P2SP的Http地址輔助下載,那么也可以同時從這個Http服務(wù)器要數(shù)據(jù),也會把這個服務(wù)器當(dāng)成一個普通的節(jié)點,每次要1塊數(shù)據(jù),通過Http協(xié)議里面的Range標(biāo)記,指定只要一部分?jǐn)?shù)據(jù)過來輔助下載。

? 整個BT的基本原理和過程就是這樣,當(dāng)然,這只是BT的基本原理,要做好一個完善的BT還是有很多路要走的。比如:

? 1)如果Tracker服務(wù)器出問題了,連不上這個問詢的服務(wù)器,就拿不到周圍的鄰居節(jié)點,怎么辦?---NB的BT發(fā)明者提出了DHT的概念,就算Tracker連不上了,也可以通過分布式哈希表DHT技術(shù),通過DHT網(wǎng)絡(luò)慢慢的尋找志同道合的鄰居節(jié)點,只是沒有Tracker那么直接那么快速,但慢一些總還是有機(jī)會找到鄰居的。

? 2)網(wǎng)絡(luò)是復(fù)雜的,特別是各個聰明的運營商,為了不讓自己的用戶消耗太多帶寬,很多地區(qū)的運營商對P2P是有封鎖的,比如某城寬帶等。他們的做法早期是分析協(xié)議里面的握手消息,BT的握手消息是明文的Bittorrent Protocol,粗暴的運營商看到剛建立完連接就發(fā)這個明文會立即斷開連接;文明點的運營商看到后不斷開連接,但會限速到20K讓你慢慢下載。當(dāng)然,BT后來也發(fā)明了加密協(xié)議,運營商也升級了封鎖的設(shè)備,也開始模擬自己是一個客戶端,嘗試分析加密后的協(xié)議,精彩紛呈。所以,要做一個穩(wěn)定的靠譜的P2P系統(tǒng)還是有不少坑要趟的。

? 3)還有很多其他的,比如BT對磁盤的調(diào)度、緩存的機(jī)制、文件分塊的調(diào)度算法、服務(wù)器對幾百萬幾千萬用戶量時的性能提升等等。

? 另外,如果您需要一個完整的BT系統(tǒng)或者P2P分發(fā)數(shù)據(jù)下載系統(tǒng),也可以看看點量BT ,已經(jīng)歷經(jīng)10幾年的改進(jìn)和上百家用戶的使用,包括搜狐暢游、上海征途等眾多知名的大公司。目前應(yīng)該是最穩(wěn)定和完善的P2P商業(yè)內(nèi)核,很方便內(nèi)嵌到自己的軟件系統(tǒng)中,不再需要從頭制造輪子。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉