成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

eMule協議的DHT算法

網絡 網絡管理 算法
下面我們主要介紹一下有關于eMule協議的主要算法。那么我們針對DHT算法進行了分析。首先我們了解一下這個協議的內容和算法概要。

BT協議和eMule協議在算法中有著一些差異,導致兩者的使用是無法兼容的。那么我們如何考慮這算法的差異呢?首先還是讓我們了解一下兩協議中的DHT算法。DHT的全稱是Distributed Hash Table,即分布式哈希表技術,是一種分布式存儲方法。這種網絡不需要中心節點服務器,而是每個客戶端負責一個小范圍的路由,并負責存儲一小部分數據,從而實現整個DHT網絡的尋址和存儲。和中心節點服務器不同,DHT網絡中的各節點并不需要維護整個網絡的信息,而是只在節點中存儲其臨近的后繼節點信息,幅減少了帶寬的占用和資源的消耗。DHT網絡還在與關鍵字最接近的節點上復制備份冗余信息,避免了單一節點失效問題。我們可以把整個DHT網絡想象成一個城市,那么每個客戶端,就好比城市里各個角落的地圖,上面繪制了附近區域的地形情況,把這些地圖一匯總,城市的全貌就出來了。

而DHT所采用的算法中最出名的是Kademlia,eMule最早開始使用,Bitcomet、Azureus和BitTorrent只是步其后塵,同樣使用Kademlia算法的DHT。不過它們各自的實現協議不盡相同,因此不能相互兼容(BitComet與BitTorrent兼容,Azureus更像eMule,但與其它都不兼容)。
 
在2005年5月著名的BiTtorrent在4.0版實現基于Kademlia協議的DHT技術后,很快國內的BitComet和BitSpirit也實現了和BitTorrent兼容的DHT技術,實現trackerless下載方式。eMule協議實現的基于Kademlia類似的技術(BT中叫DHT,eMule中叫Kad),和BT軟件使用的Kd技術的區別在于key、value和node ID的計算方法不同。

對于BT協議,目前國內用戶使用最多的BT客戶端就是Bitcomet,默認情況下,無須做任何設置BitComet即可自動連接并使用DHT網絡。啟動軟件,它會使用和TCP端口號相同的UDP端口進行DHT網絡連接。任何P2P技術的改進都與版權的博奕脫不了干系,DHT網絡能夠引起如此注目亦是如此。

確實,BT采用DHT網絡后,反盜版將變得更加困難。因為在此之前,用戶進行BT下載時,必需首先連接上Tracker服務器,根據所獲得的正在進行下載和上傳的用戶列表,才能夠進行正常的文件交換。這樣的話,只需封禁掉提供Tracker服務的網站,便可以截斷盜版傳播的途徑。DHT網絡則不同,由于此時互聯網中任何一個運行BT客戶端的用戶都可以作為DHT網絡中的節點,因此即使封禁掉那些提供Tracker服務的網站,用戶還是能夠通過全球范圍的邏輯DHT網絡分享文件,反盜版就無從談起。除非讓上的人都不上網,或宣布使用BT軟件為重罪。但技術從來都是一把雙刃劍。在批判BT助長盜版氣焰的同時,我們也應該看到,BT也正在日漸成為合法作品傳播的途徑。由于無法承受超量流量的訪問,一些免費和共享軟件(如Foobar2000等)開始采用BT方式分發型的合法軟件——Linux系統,更是將BT作為主要的分發渠道。

在eMule協議中也有使用,常把它叫做KAD,只不過具體實現的協議有所不同。Kad網絡的主要的目標是做到不需要服務器和改善可量測性。相對于傳統的ed2k服務器只能處理一定數量的使用者(我們在服務器列表也都看到了,每個服務器都有最多人數限制),而且如果服務器連接人數過多,還會嚴重的的拖垮網絡。傳統的ed2k網絡需要服務器支持作為中轉和存儲hash列表信息,kad可以不通過服務器同樣完成ed2k網絡的一切功能。Kad需要UDP端口的支持,之后Emule會自動按照客戶端的要求,來判斷它能否自由連線,然后同樣也會分配一個id,這個過程和ed2k的高id和低id檢查很像,不過這個id所代表的意義不同于ed2k網絡,它代表一個是否“ly”的狀態。

Kad能夠自我組織,并且自我調節***的使用者數量以及他們的連接效果。因此,它更能使網絡的損失達到最小。由于具備了以上所敘述的功能,Kad也被稱之為Serverless network(無服務器網絡)。雖然目前一直處于開發階段(alpha stage) 。通過進行Kad關鍵字搜尋,任何人可以在文件分享網絡中尋找資料。沒有任何中央服務器儲存文件索引,這項工作是平均由所有客戶端擔當:擁有要分享的文件的枝節點,會先處理文件的內容,并從內容計算出一組雜湊Hash值,這組值將會在分享網絡中辨識這個文件。kad網絡首先給每個客戶分配一個唯一的ID值,然后對不同的ID值進行異或來得到兩個客戶之間的“距離”,kad會維護一個桶,“距離”越近的用戶桶里的數量會越多,kad定期對桶里的用戶進行清理,以保持其有效性。

對于文件和用戶eMule協議會有兩個這樣的結構,可以通過kad來查找文件和文件相關的用戶信息;同樣為了考慮冗余的問題,kad會將其自身的信息復制一份給“距離”它最近的一定數量的用戶,這樣就算在它下線后,這些信息也不會丟失。Kad本身有一個nodes.dat文件,也叫做節點文件,這里面存放了我們在Kad網絡中的鄰居節點,我們都是通過這些節點來進入Kad網絡的,相當于Bt下載中通過router來加入DHT網絡。

注:在eMule協議具體的實現過程中,采用的ID是28bit。例如:找到用戶小則是通過將用戶id異或的方式,兩個id的二進位異或值決定他們之間的邏輯距離,如00距離0要比距離00近。那么當一個用戶加入kad后,首先通過一個已知的用戶找到一批用戶的id和ip地址和端口。當該用戶要尋找一個特定用戶A的時候,該用戶先詢問幾個已知的邏輯距離較A較近的用戶,如B用戶,C用戶,D用戶,B,C,D會告訴該用戶他們知道的更加近的用戶的id和ip地址和端口,同理類推,這個用戶最終就能找到A。所以尋找的次數會在logN數量級,這里N代表詢問的人數。

最令人遺憾的是BT和eMule中的DHT算法無法互通和兼容!

注:在Kad網絡中,系統存儲的數據以對形式存放。在BT的DHT實現中,其key值為torrent文件的info_hash串,其value值則和torrent文件有密切關系。

責任編輯:佟健 來源: IT運維網
相關推薦

2010-06-23 14:55:04

eMule協議

2010-06-23 15:08:18

2010-07-02 12:02:11

eMule協議

2010-06-23 15:19:35

eMule協議

2010-06-28 21:33:17

eMule協議

2010-07-13 15:36:33

2010-06-23 14:20:06

eMule協議

2010-06-23 14:32:20

eMule協議

2018-03-13 08:45:08

存儲系統DHT算法

2010-07-09 09:19:22

路由選擇協議

2010-06-24 13:55:41

LEACH協議

2010-07-12 16:58:34

LEACH協議

2010-09-09 10:06:56

Zigbee協議棧加密算法

2009-12-03 17:10:43

2014-03-04 09:55:23

2011-03-17 17:40:52

iptables配置

2009-12-10 15:46:22

動態路由協議

2009-01-05 09:27:19

2014-02-19 11:12:35

2022-03-09 09:34:19

智能汽車技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人av在线播放 | 超碰婷婷 | 亚洲国产成人精品女人久久久野战 | 91伦理片| 欧美精品一区三区 | 亚洲一区二区三区在线播放 | 精品日韩一区 | 日韩精品在线视频 | 午夜影院在线观看 | 丁香五月缴情综合网 | 亚洲综合天堂 | 亚洲国产精品一区二区第一页 | 日韩在线综合 | 日韩视频国产 | 国产成人99久久亚洲综合精品 | 九一视频在线观看 | 久久国产精99精产国高潮 | 久久精品国产免费 | 成人在线播放网站 | 国产精品久久久久久 | 色桃网| 超碰导航| 国产精品免费一区二区三区四区 | 日本黄色大片免费 | 国产999精品久久久久久 | 中文字幕精品一区二区三区精品 | 午夜影院在线观看版 | 久久乐国产精品 | 国产农村一级片 | 国产精品久久久久久久久久久久久 | 色婷婷av一区二区三区软件 | 中文字幕91 | 毛片的网址 | 日韩精品一区二区三区在线 | 久久综合一区 | 久久精品亚洲 | 欧美成人精品 | av片网| 天堂中文av | 日日草夜夜草 | 国产午夜精品视频 |