BT協(xié)議具體分析.doc

BT協(xié)議具體分析.doc

ID:50811448

大小:849.50 KB

頁(yè)數(shù):14頁(yè)

時(shí)間:2020-03-14

BT協(xié)議具體分析.doc_第1頁(yè)
BT協(xié)議具體分析.doc_第2頁(yè)
BT協(xié)議具體分析.doc_第3頁(yè)
BT協(xié)議具體分析.doc_第4頁(yè)
BT協(xié)議具體分析.doc_第5頁(yè)
資源描述:

《BT協(xié)議具體分析.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、BT協(xié)議分析支持BT協(xié)議的P2P應(yīng)用程序很多,如BitBuddy、FlashBT、BitComet和BitSpirit等,這里以應(yīng)用程序BT為例來分析BT協(xié)議。本文中的BT,如其后沒有“協(xié)議”兩字,表示的是BT應(yīng)用程序。???BT由如下幾部分組成:.torrent文件、種子提供站點(diǎn)、目錄服務(wù)器和內(nèi)容發(fā)布者/下載者。.torrent文件是一個(gè)文本文件,包含了tracker信息和文件信息兩部分。tracker信息主要是BT下載中需要用到的tracker服務(wù)器的地址和針對(duì)tracker服務(wù)器的設(shè)置;文件信息是指將目標(biāo)文件計(jì)算處理后再根據(jù)BT協(xié)議的B編碼規(guī)則網(wǎng)編碼后得到的信息。BT的主要原理是

2、把提供下載的文件虛擬分成大小相等的塊,塊大小必須為2Kbyte的整數(shù)次方(由于是虛擬分塊,硬盤上并不產(chǎn)生各個(gè)塊文件),并把每個(gè)塊的索引信息和Hash驗(yàn)證碼寫入.torrent文件中,所以.torrent文件就是被下載文件的“索引”。種子提供站點(diǎn)也就是.torrent文件的提供站點(diǎn),為下載者提供.torrent文件下載服務(wù)。目錄服務(wù)器記錄被下載的文件的索引信息及下載該文件的用戶的信息(主要是IP地址及端口號(hào))。早期的BT協(xié)議只支持tracker(種子發(fā)布站)服務(wù)器,這種目錄服務(wù)器是集中式目錄與分布式查詢的混合型;在BT協(xié)議的升級(jí)版本中,增加了對(duì)DHT(分布式Hash表)網(wǎng)絡(luò)的支持,該網(wǎng)絡(luò)

3、中目錄服務(wù)器是分布式的。本文的討論只涉及tracker服務(wù)器。內(nèi)容發(fā)布者/下載者是BT網(wǎng)絡(luò)的主體,最終的下載由它們完成。構(gòu)成BT網(wǎng)絡(luò)的這幾部分的相互關(guān)系如圖1所示。???圖1?BT覆蓋網(wǎng)絡(luò)的結(jié)構(gòu)根據(jù)BT的工作原理,為了分析BT協(xié)議的交互過程,本文重點(diǎn)關(guān)注本地BT客戶機(jī)的運(yùn)行過程。圖2顯示了BT協(xié)議的測(cè)試環(huán)境,其中BT客戶機(jī)的IP地址是10.10.80.120,使用Wireshark俘獲BT協(xié)議分組的交互過程,Wireshark版本號(hào)為1.4.1。它們與因特網(wǎng)相連,BT服務(wù)器位于因特網(wǎng),BT版本號(hào)為1.24。BT協(xié)議的測(cè)試環(huán)境???BT協(xié)議主要包括3個(gè)部分:.torrent文件的格式(現(xiàn)

4、已加密,對(duì)非支持BT協(xié)議的軟件透明)、trackerHTTP/HTTPS協(xié)議和Bittorrent協(xié)議。其中trackerHTTP/HTTPS協(xié)議是BT客戶機(jī)與tracker服務(wù)器之間的通信協(xié)議,Bittorrent協(xié)議是BT客戶機(jī)之間的通信協(xié)議。下面介紹一下trackerHTTP/HTTPS協(xié)議。?BT客戶機(jī)依次向.torrent中的tracker服務(wù)器發(fā)送連接請(qǐng)求,以獲得正在下載該文件的對(duì)等方列表(主要是IP地址和監(jiān)聽端口)。如果連接成功獲得列表,就關(guān)閉連接,嘗試與列表中的對(duì)等方建立連接;如果不成功,嘗試下一個(gè)tracker服務(wù)器。由下圖知本次測(cè)試環(huán)境第一次向服務(wù)器tracker地

5、址為204.152.198.236發(fā)出請(qǐng)求,結(jié)果沒有找到,BT客戶機(jī)與BT服務(wù)器的交互過程下圖所示。????BT客戶機(jī)與BT服務(wù)器的交互過程?分析這些分組,易知分組197、198、199是建立TCP連接的三次握手。BT客戶機(jī)通過200號(hào)分組向tracker服務(wù)器發(fā)出獲取對(duì)等方列表的請(qǐng)求,202、203(重復(fù))號(hào)是對(duì)分組為應(yīng)答。204是對(duì)203號(hào)分組的應(yīng)答,205-218號(hào)分組是雙方互相關(guān)閉TCP連接并復(fù)位的過程。下面重點(diǎn)分析200號(hào)分組。?200號(hào)分組中的HTTP部分內(nèi)容如圖所示,使用*號(hào)代替空格以便于分析。圖200號(hào)分組中的HTTP部分內(nèi)容(沒有找到)最后,10.10.80.120以

6、迭代的方式(用隨機(jī)網(wǎng)絡(luò)的路由算法)向地址為123.110.87.2的服務(wù)器發(fā)出請(qǐng)求,經(jīng)過2090、2501、2502建立了TCP連接,如:BT客戶機(jī)與BT服務(wù)器的交互過程,第一個(gè)握手分組2504(帶Options12字節(jié))如下所示:帶Options選項(xiàng)的不帶Options選項(xiàng)的其中一些成分的含義如下:●SHA1Hashofinfodictionary:.torrent文件中的文件夾得FQDN下的絕對(duì)路徑的Shal值。tracker服務(wù)器通過它在發(fā)布列表中找到對(duì)應(yīng)的記錄。●peer_id:BT客戶機(jī)的惟一性標(biāo)志,在客戶機(jī)啟動(dòng)時(shí)產(chǎn)生,共20bit。在BTV1.0中沒有規(guī)定產(chǎn)生peer_id

7、的算法,只要求能夠保證惟一性即可。雖然該機(jī)器上有這一個(gè)文件,但由于種種原因,它獲得不了其資源,于是就有了分組4116,BitTorrentcontinuationdata的回應(yīng)。然后,再有了分組4119,continuationdata的回應(yīng)。然后10.10.80.120再次向175.180.186.26請(qǐng)求資源分組5956,發(fā)出handshark-TCP-Retransmission請(qǐng)求,繼續(xù)尋找資源。這個(gè)5647分組也是continuati

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。