P2P技術(shù)

P2P在區(qū)塊鏈中處于底層服務(wù)的一層,所以也有必要了解一下基本的P2P技術(shù)原理。

網(wǎng)絡(luò)拓?fù)?/h3>

現(xiàn)代的網(wǎng)絡(luò)環(huán)境都是很復(fù)雜的,在C/S模式下的網(wǎng)絡(luò)相對(duì)比較好組織。但是在分布式的情況下還要維持一個(gè)相對(duì)穩(wěn)定的網(wǎng)絡(luò)拓?fù)涫潜容^難的。所以我們需要先學(xué)習(xí)一下基本的網(wǎng)絡(luò)拓?fù)涞念愋汀?/p>

  • 星型網(wǎng)絡(luò)
  • 總線型網(wǎng)絡(luò)
  • 環(huán)形網(wǎng)絡(luò)
    這三種是用的最多的網(wǎng)絡(luò)拓?fù)?,?dāng)然也有其他的一些網(wǎng)絡(luò),比如樹(shù)型網(wǎng)絡(luò),全聯(lián)接網(wǎng)絡(luò),只是這些不再我們的討論范圍之內(nèi)。
    對(duì)于一個(gè)P2P類型的網(wǎng)絡(luò),如何在節(jié)點(diǎn)不斷加入和退出的情況下,維護(hù)一個(gè)網(wǎng)絡(luò)基本的拓?fù)錉顟B(tài)是很重要的一點(diǎn)。

P2P網(wǎng)絡(luò)類型

P2P網(wǎng)絡(luò)類型很重要的一個(gè)區(qū)分依據(jù)就是網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的關(guān)系。
主要類型有:

  • 集中式拓?fù)?/li>
  • 全分布式結(jié)構(gòu)式拓?fù)?/li>
  • 全分布式非結(jié)構(gòu)化拓?fù)?/li>
  • 混合式拓?fù)?br> 以上的四種類型也是按照P2P網(wǎng)絡(luò)發(fā)展的趨勢(shì)來(lái)排列的。
    我們可以試想一下全是C/S模式的互聯(lián)網(wǎng)時(shí)代,現(xiàn)在我們想實(shí)現(xiàn)的是:我怎么才能讓我的電腦連到并不是一臺(tái)服務(wù)器的別人的電腦來(lái)獲取資源呢?很自然的想法就是——我把我的IP放到服務(wù)器上,告訴大家我這里擁有某項(xiàng)資源不就好了嗎?這也就是第一代的P2P做的事情。

集中式P2P網(wǎng)絡(luò)

這種形式的拓?fù)鋱D如下:
[圖片上傳中...(0021pC59zy6QhssSI5jc9&690.jpeg-87f7bd-1571721640609-0)]

一次完整的P2P訪問(wèn)的過(guò)程如下L:

  1. Peer A注冊(cè)自己的信息到目錄服務(wù)器S上
  2. Peer D需要 FileA,向目錄服務(wù)器S進(jìn)行查詢,得知Peer A擁有這個(gè)資源,服務(wù)器通過(guò)應(yīng)答方式,將Peer A的注冊(cè)信息和文件位置的信息發(fā)送回去。
  3. Peer B便可以和Peer A建立起單獨(dú)的聯(lián)系,拿到信息。

可以看到這樣形式的P2P還是很樸素的,雖然解決了部分服務(wù)器帶寬和存儲(chǔ)上的負(fù)擔(dān),但是整個(gè)系統(tǒng)實(shí)際上離開(kāi)了中心的目錄服務(wù)器還是無(wú)法工作,并不是真正意義上的P2P。
我們急需要新的組織方式來(lái)解除對(duì)于中心服務(wù)器的依賴。這就是第二代“全分布式結(jié)構(gòu)化拓?fù)銹2P網(wǎng)絡(luò)”所完成的。

全分布式結(jié)構(gòu)式拓?fù)?/h4>

為了能夠不依賴中心化的服務(wù)器,我們碰到的第一個(gè)問(wèn)題就是——如何在分布式的P2P網(wǎng)絡(luò)中快速定位到資源所在的Peer節(jié)點(diǎn)呢?
這也就是DHT(Distributed Hash Table)技術(shù)所解決的問(wèn)題。

DHT技術(shù)
DHT技術(shù),用來(lái)將不同的資源按照關(guān)鍵字(key)分散存儲(chǔ)到網(wǎng)絡(luò)中去,獲取資源時(shí)也同樣通過(guò)這個(gè)Key值得到具體的Peer節(jié)點(diǎn)的位置。
而這個(gè)Key值是通過(guò)一定的Hash函數(shù)對(duì)于一個(gè)文件的名字進(jìn)行哈希得到的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容