Emule與bt協議小議

2021-04-06 13:19:24 字數 3149 閱讀 6902

emule與bt

協議小議

很久以前就一直想寫個東西來總結一下我對

p2p,

可一直不能靜下心來

,不知道是不是由於沒喝靜心口服液的原因

,最近終於成文

,拿出來與大家共享

,並歡迎拍磚

,共同進步

.閒話少話

,轉入正題

.簡單的說

,emule

與bt

協議兩者各有千秋

,下面就兩種協議的異同及效能作一比較.

1.傳統連線方式

bt使用統一的

torrent

,torrent,

emule

僅有乙個檔案

id,2.

底層傳輸協議比較

bt只使用

tcp,

協議簡單有效

,但是功能比較單一

,有的功能不完整

emule

使用tcp

和udp

兩種協議進行通訊

,更加有效的利用了網路資源

,功能完整強大

,但這也同時使主機的負荷加大

,程式編寫難度提高

3.檔案組織方式和資料驗證方式

bt會在開始前對檔案進行一次完全的

hash,

就是將檔案首尾相聯然後按固定塊取

sha值

,這些值最終被放入

torrent

檔案編碼中,,

高效簡單

,一般情況下

bthash測試,

檢查其正確性

emule

在連線字串中只存放了整體檔案的

hash值,

通過將這個

hash

到伺服器上取出檔案的相關資訊

,在實際的操作中

,會將檔案分解成

9.28m

大小的塊並進行

hash

用於對塊的完整性測試

.新版的

emul

會用一種叫

aich

的技術,

就是說將檔案分成

120k

大小的塊然後

hash

再將hash

值進行二進迭代式(具體的看

emule協議)

的hash

最終組成乙個

hash

二叉樹這種方式的好處是可以在連線時只加入根結節的

hash

值而不用加入葉子節點

,減小了連線時的字串大小,,

測試出的根節點

hash

與得到的根節點的

hash

值不同,

則可以通過協議與網路上的其它主機的樹進行比較快速得出錯誤的塊.

4.流量控制方式bt,

,,

得出允許上傳的客戶

;為防止新客戶長時間得不到其它客戶的認同

,bt,bt

會簡單的使上傳流量最的客戶得到更多的時間完成上傳

;,bt

;,bt

會對檔案塊在整個網路中的存在複本的多少進行跟蹤,,

以使整個網路的檔案冗餘度提高

.簡單的說

bt使用的是針對檔案的流量控制方式.

emule

採用的是客戶積分的方式,,

從而得出乙個客戶的積分值,,

,這樣就在乙個比較長的時間內對使用者對其它使用者的整體貢獻有了乙個評估

.簡單的說

emule

採用的是針對使用者的流量控制方式.

5.kad

與dht

kad

和dht

兩者都是基於

kademlia

技術的分布式

hash

表查詢技術

,可惜的是由於協議上的區別

,兩者不能互通

.簡單介紹下

kad,

它首先給每個客戶分配乙個唯一的id值

,然後對不同的

id值進行異或來得到兩個客戶之間的"距離

",kad

會維護乙個桶

,"距離

"越近的使用者桶裡的數量會越多

,kad

定其的對桶裡的使用者進行清理

,以保持其有效性

.對於檔案和使用者

emule

會有兩個這個東西

,所以我們可以通過

kad來查詢檔案和檔案相關的使用者資訊

;同樣為了考慮冗餘的問題

,kad

會將其自身的資訊複製乙份給"距離

"它最近的一定數量的使用者

,這樣就算在它下線後

,這些資訊也不會丟失

.bt的

dht不太了解,呵呵

,不過估計差不多.

6.功能比較

emule

具有查詢功能

,而這在

bt 只能通過**來實現

新版的emule

在對防火牆的支援上採用的**的方式

,就是如果乙個使用者處在內網

,那麼它會找到乙個在公網的使用者作為它的朋友

.bt在這方面沒有明顯的變化

,但是不同的

bt客戶端實現方式有些不同的支援.

7.總體效能比較

個人感覺

bt的方式更注重於簡單高效的快速傳輸,而

emule

更注重於整個網路狀態的變化及使用者體驗.bt

佔優,

而從網路狀態及完整強大的協議支援上說

,emule

作了更多的事情

.從效能上考慮

,在相同網路狀態下

,bt, emule

,這源於兩者對網路均衡及

p2p模式的不同理解.

總結:

無論是bt

還是emule

都是優秀的

p2p,

對於他們的學習

,最終還是要深入到其原始碼內部進行研究

,而對於網路均衡分布式群集模式的學習

,它們起到了拋磚引玉的作用

,還是那句老話

,學無止境

,讓我們多多交流

,共同進步.

最後僅以此文感謝那些幫助我的人和qq群

3557250

的朋友們

.

Emule與bt協議小議

簡單的說,emule與bt 協議兩者各有千秋,下面就兩種協議的異同及效能作一比較.1.傳統連線方式 2.底層傳輸協議比較 emule使用tcp和udp兩種協議進行通訊,更加有效的利用了網路資源,功能完整強大,但這也同時使主機的負荷加大,程式編寫難度提高 3.檔案組織方式和資料驗證方式 4.流量控制方...

BT和eMule協議的比較和分析

轉載自 http hustlg.bokee.com 6475842.html bt和emule協議的巨集觀比較和分析 emule從技術層面上說是比bt好很多的,可是由於各種各樣的原因,似乎在網際網路上emule並不是很流行。傳統連線方式 4.流量控制方式 5.功能與效能 bt片選擇策略 片斷選擇 片...

小議LWIP ARP協議1

在tcp ip網路中,arp協議始終是相當重要的乙個環節,它主要是負責將32位的ip位址 ipv6則是128位 對映為48位的mac位址 規定每一種網路通訊裝置具備唯一的mac位址 從而可以在底層資料鏈路層中標記不同的網路通訊裝置。由於ip位址和mac位址沒有固定的對映規則,所以為了描述這種對映關係...