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

eMule協(xié)議的DHT算法

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理 算法
下面我們主要介紹一下有關(guān)于eMule協(xié)議的主要算法。那么我們針對DHT算法進(jìn)行了分析。首先我們了解一下這個協(xié)議的內(nèi)容和算法概要。

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

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

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

確實(shí),BT采用DHT網(wǎng)絡(luò)后,反盜版將變得更加困難。因?yàn)樵诖酥埃脩暨M(jìn)行BT下載時,必需首先連接上Tracker服務(wù)器,根據(jù)所獲得的正在進(jìn)行下載和上傳的用戶列表,才能夠進(jìn)行正常的文件交換。這樣的話,只需封禁掉提供Tracker服務(wù)的網(wǎng)站,便可以截?cái)啾I版?zhèn)鞑サ耐緩健HT網(wǎng)絡(luò)則不同,由于此時互聯(lián)網(wǎng)中任何一個運(yùn)行BT客戶端的用戶都可以作為DHT網(wǎng)絡(luò)中的節(jié)點(diǎn),因此即使封禁掉那些提供Tracker服務(wù)的網(wǎng)站,用戶還是能夠通過全球范圍的邏輯DHT網(wǎng)絡(luò)分享文件,反盜版就無從談起。除非讓上的人都不上網(wǎng),或宣布使用BT軟件為重罪。但技術(shù)從來都是一把雙刃劍。在批判BT助長盜版氣焰的同時,我們也應(yīng)該看到,BT也正在日漸成為合法作品傳播的途徑。由于無法承受超量流量的訪問,一些免費(fèi)和共享軟件(如Foobar2000等)開始采用BT方式分發(fā)型的合法軟件——Linux系統(tǒng),更是將BT作為主要的分發(fā)渠道。

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

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

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

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

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

注:在Kad網(wǎng)絡(luò)中,系統(tǒng)存儲的數(shù)據(jù)以對形式存放。在BT的DHT實(shí)現(xiàn)中,其key值為torrent文件的info_hash串,其value值則和torrent文件有密切關(guān)系。

責(zé)任編輯:佟健 來源: IT運(yùn)維網(wǎng)
相關(guān)推薦

2010-06-23 14:55:04

eMule協(xié)議

2010-06-23 15:08:18

2010-07-02 12:02:11

eMule協(xié)議

2010-06-23 15:19:35

eMule協(xié)議

2010-06-28 21:33:17

eMule協(xié)議

2010-07-13 15:36:33

2010-06-23 14:20:06

eMule協(xié)議

2010-06-23 14:32:20

eMule協(xié)議

2018-03-13 08:45:08

存儲系統(tǒng)DHT算法

2010-07-09 09:19:22

路由選擇協(xié)議

2010-06-24 13:55:41

LEACH協(xié)議

2010-07-12 16:58:34

LEACH協(xié)議

2010-09-09 10:06:56

Zigbee協(xié)議棧加密算法

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

動態(tài)路由協(xié)議

2009-01-05 09:27:19

2022-03-09 09:34:19

智能汽車技術(shù)

2019-03-12 10:46:17

TCP協(xié)議算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久亚洲一区二区三区四区 | 午夜视频免费在线观看 | 黄色日批视频 | 不卡的av电影 | 北条麻妃一区二区三区在线视频 | 在线成人av| 久久精品91 | 亚洲精品久久久久久宅男 | 特黄级国产片 | 欧美精品1区2区3区 精品国产欧美一区二区 | 人人看人人干 | 日韩久久久久 | 成人一区二 | 在线黄av| 特黄一级 | 啪啪免费 | 日韩中文字幕网 | 精品一二区 | av影音在线| 91av视频在线观看 | 欧美mv日韩mv国产网站91进入 | 亚洲视频一区二区三区 | 成人精品一区亚洲午夜久久久 | 黄色一级毛片免费看 | 国产乱码精品一区二区三区忘忧草 | 亚洲精品久久久久中文字幕欢迎你 | 日p视频免费看 | 天天草天天爱 | 精品久久国产 | 国产精品激情 | 久久久久9999 | 午夜精品久久久 | 国产成人亚洲精品 | 欧洲一区二区视频 | 欧美一区二区免费 | 久久高潮 | 日韩精品在线看 | 久久99精品久久久久久青青日本 | 久久亚洲一区二区三 | 欧美日本在线观看 | 亚洲精品乱码久久久久久按摩观 |