結構化P2P網路 DHT網路原理

2021-06-22 12:39:27 字數 1267 閱讀 6720

p2p系統的應用越來越廣泛,在檔案共享、流**服務、即時通訊交流、計算和儲存能力共享以及協同處理與服務等方面都能看到p2p的存在,一些p2p應用如napster、emule、bittorrent等早已是家喻戶曉了。

p2p按其拓撲關係大致可以分為兩類四種形式:

1.非結構化拓撲。包括中心化拓撲、分布式拓撲、半分布式拓撲,其分別對應著napster、bittorrent、kazaa這三種知名的應用。

2.結構化拓撲。主要形式為分布式結構化拓撲,也就是所謂的dht網路。

dht——distributed hash table 分布式雜湊表:

1.雜湊表被分割成不連續的塊,每個節點被分配給乙個屬於自己的雜湊塊,並成為這個雜湊塊的管理者。

dht網路的基本思想如下:

1.每乙份資源都由一組關鍵字進行標識。

2.系統對其中的每乙個關鍵字進行hash,根據hash的結果決定此關鍵字對應的那條資訊(即資源索引中的一項)由哪個使用者負責儲存。

3.使用者搜尋的時候,用同樣的演算法計算每個關鍵字的hash,從而獲得該關鍵字對應的資訊儲存位置,並迅速定位資源。

效果可以看下具體51搜尋展示結合xunsearch全文檢索技術,可以達到毫秒級的資料搜尋   

dht關鍵字定位:

1.dht通過分布式雜湊函式,將輸入的關鍵字唯一對映到某個節點上,然後通過某些路由演算法同該節點建立連線。

2.每個節點並不需要儲存整個系統的節點檢視資訊,只在節點中儲存其鄰近的幾個後繼節點資訊,當乙個節點收到乙個查詢操作時,如果它發現所查詢的標識不在自己關聯的區間內,那麼該節點將會把該查詢傳送給其儲存節點資訊表中它認為最靠近目標的鄰居。

3.每次**都能更進一步地接近資料來源。因此較少的路由資訊就可以有效地實現到達目標節點。

dht的具體演算法實現過程:

(1)對每個節點的一定特徵(如ip位址)進行hash,使得到的每個節點的節點值唯一。將節點按照節點值的從小到大構成乙個環(chord環)。(此處節點值可以看作是新環中的ip位址)

(2)通過節點值,獲取每個節點與下乙個臨近節點之間的距離,從而獲得每個節點所需負責的值區間。(此過程類似於建立路由表)

(3)對每個節點上的資源提取關鍵字,並對關鍵字進行hash,得到的hash值按照(2)中的每個節點負責的區間進行分配,從而使每一項資源的儲存資訊都被儲存在乙個節點上。(此步驟獲得了資源的索引列表)

(4)當搜尋一項資源時,對其關鍵字進行hash,得到的值與當前節點的值區間表相比較,從而獲得資源的索引資訊最有可能存在的節點。查詢該節點,獲取資源的索引,根據索引,即可找到資源所在的節點,並建立通訊。

結構化P2P網路 DHT網路原理

p2p系統的應用越來越廣泛,在檔案共享 流 服務 即時通訊交流 計算和儲存能力共享以及協同處理與服務等方面都能看到p2p的存在,一些p2p應用如napster emule bittorrent等早已是家喻戶曉了。p2p按其拓撲關係大致可以分為兩類四種形式 1.非結構化拓撲。包括中心化拓撲 分布式拓撲...

P2P網路模型

1 靜態配置模型 靜態配置模型是一種相對靜態而簡單的對等點定位模型。在該模型中,每個對等點都確切地知道存在於其p2p 網路中其它對等點的位置以及它們所提供的共享資源內容。缺點 網路無法應付不能預知的隨機事件和臨時變更,比如對等點隨機進入和退出網路。優點 整個網路在外部攻擊面前表現得很穩固。2 動態配...

基於Chord的結構化P2P平台

chord協議闡述了怎樣找到給定值的儲存位置,新結點怎麼樣加入系統以及怎麼樣從已有結點的失敗 或離開 中恢復。chord的核心在於提供了乙個快速的分布式的hash功能計算,把值對映到儲存它們的結點上去。hash功能可以平衡負載,而且,當第n個結點加入 離開 網路時,只有o 1 n 部分值被移到了不同...