以太坊p2p通信分析
A. 以太坊架構是怎麼樣的
以太坊最上層的是DApp。它通過Web3.js和智能合約層進行交換。所有的智能合約都運行在EVM(以太坊虛擬機)上,並會用到RPC的調用。在EVM和RPC下面是以太坊的四大核心內容,包括:blockChain, 共識演算法,挖礦以及網路層。除了DApp外,其他的所有部分都在以太坊的客戶端里,目前最流行的以太坊客戶端就是Geth(Go-Ethereum)
B. 簡述p2p網路的特點。
與其它網路模型相比,P2P具有以下特點:
分散化(Decentralization)
網路中的資源和服務分散在所有節點上,信息的傳輸和服務的實現都直接在節點之間進行,可以無需中間環節和伺服器的介入,避免了可能的瓶頸。
即使是在混合P2P中,雖然在查找資源、定位服務或安全檢驗等環節需要集中式伺服器的參與,但主要的信息交換最終仍然在節點中間直接完成。這樣就大大降低了對集中式伺服器的資源和性能要求。分散化是P2P的基本特點,由此帶來了其在可擴展性、健壯性等方面的優勢。
可擴展性
在傳統的C/S架構中,系統能夠容納的用戶數量和提供服務的能力主要受伺服器的資源限制。為支持互聯網上的大量用戶,需要在伺服器端使用大量高性能的計算機,鋪設大帶寬的網路。為此機群、cluster等技術紛紛上陣。在此結構下,集中式伺服器之間的同步、協同等處理產生了大量的開銷,限制了系統規模的擴展。而在P2P網路中,隨著用戶的加入,不僅服務的需求增加了,系統整體的資源和服務能力也在同步地擴充,始終能較容易地滿足用戶的需要。即使在諸如Napster等混合型架構中,由於大部分處理直接在節點之間進行,大大減少了對伺服器的依賴,因而能夠方便地擴展到數百萬個以上的用戶。而對於純P2P來說,整個體系是全分布的,不存在瓶頸。理論上其可擴展性幾乎可以認為是無限的。P2P可擴展性好這一優點已經在一些得到應用的實例中得以證明,如Napster,Gnutella,Freenet等。
健壯性
在互聯網上隨時可能出現異常情況,網路中斷、網路擁塞、節點失效等各種異常事件都會給系統的穩定性和服務持續性帶來影響。在傳統的集中式服務模式中,集中式伺服器成為整個系統的要害所在,一旦發生異常就會影響到所有用戶的使用。而P2P架構則天生具有耐攻擊、高容錯的優點。由於服務是分散在各個節點之間進行的,部分節點或網路遭到破壞對其它部分的影響很小。而且P2P模型一般在部分節點失效時能夠自動調整整體拓撲,保持其它節點的連通性。事實上,P2P網路通常都是以自組織的方式建立起來的,並允許節點自由地加入和離開。一些P2P模型還能夠根據網路帶寬、節點數、負載等變化不斷地做自適應式的調整。
隱私性
隨著互聯網的普及和計算/存儲能力飛速增長,收集隱私信息正在變得越來越容易。隱私的保護作為網路安全性的一個方面越來越被大家所關注。目前的Internet通用協議不支持隱藏通信端地址的功能。攻擊者可以監控用戶的流量特徵,獲得IP地址。甚至可以使用一些跟蹤軟體直接從IP地址追蹤到個人用戶。在P2P網路中,由於信息的傳輸分散在各節點之間進行而無需經過某個集中環節,用戶的隱私信息被竊聽和泄漏的可能性大大縮小。此外,目前解決Internet隱私問題主要採用中繼轉發的技術方法,從而將通信的參與者隱藏在眾多的網路實體之中。在傳統的一些匿名通信系統中,實現這一機制依賴於某些中繼伺服器節點。而在P2P中,所有參與者都可以提供中繼轉發的功能,因而大大提高了匿名通訊的靈活性和可靠性,能夠為用戶提供更好的隱私保護。
高性能
性能優勢是P2P被廣泛關注的一個重要原因。
隨著硬體技術的發展,個人計算機的計算和存儲能力以及網路帶寬等性能依照摩爾定理高速增長。而在目前的互聯網上,這些普通用戶擁有的節點只是以客戶機的方式連接到網路中,僅僅作為信息和服務的消費者,游離於互聯網的邊緣。對於這些邊際節點的能力來說,存在極大的浪費。
採用P2P架構可以有效地利用互聯網中散布的大量普通節點,將計算任務或存儲資料分布到所有節點上。利用其中閑置的計算能力或存儲空間,達到高性能計算和海量存儲的目的。這與當前高性能計算機中普遍採用的分布式計算的思想是一致的。但通過利用網路中的大量空閑資源
,可以用更低的成本提供更高的計算和存儲能力。
C. 介紹p2p技術
P2P即Peer to Peer,稱為對等連接或對等網路,P2P技術主要指由硬體形成連接後的信息控制技術,其代表形式是軟體。
技術背景
P2P起源於最初的聯網通信方式,如在建築物內PC通過區域網互聯,不同建築物間通過Modem遠程撥號互聯。其中建立在TCP/IP協議之上的通信模式構成了今日互聯網的基礎,所以從基礎技術角度看,P2P不是新技術,而是新的應用技術模式。
今天,P2P再一次被關注主要是由Napster以及ICQ類軟體的出現,雖然在Napster之前P2P方式的研究也從未停止。
現在互聯網是以S(Server)/ B(Browser)或S/C(Client)結構的應用模式為主的,這樣的應用必須在網路內設置一個伺服器,信息通過伺服器才可以傳遞。信息或是先集中上傳到伺服器保存,然後再分別下載(如網站),或是信息按伺服器上專有規則(軟體)處理後才可在網路上傳遞流動(如郵件)。
如今擁有Napster及ICQ類軟體的PC(或操作者)就可以選擇同樣擁有此類軟體的另一PC(或操作者)形成互聯(直接連接,不通過伺服器),雙方共享資源,協同完成某種行動。而擁有同一P2P軟體的設備和用戶,還可以形成一個為其自己所有的在互聯網上的P2P專用網。
現狀
1. 代表性研發產品和技術
(1) ICQ類的即時通信軟體。兩個或多個用戶互相使用文字、語音或文件進行交流,快速、直接,易於同非PC網路設備(如PDA、手機)通信,而且它不依賴設備即可辨別用戶。由於利用P2P技術可以弱化甚至擺脫對中央伺服器的依賴,這樣的通信更接近非互聯網通信模式。
(2) Farsite(Microsoft),Ocean Store類數據存儲軟體。用於在網路上將存儲對象分散化存放,而不像現在放於專用伺服器。這樣減輕了伺服器負擔,增加了數據的可靠性和傳輸速度。
(3) Napster類軟體。實現數據共享,使用者可以直接從任意一台安裝同類軟體的PC上下載及上載文件,而不是從伺服器。用戶可以檢索、復制共享的文件。軟體自動發現最新的文件列表,發布者無需擔心發布的問題。
(4) Infrasearch、Pointera類數據搜索及查詢軟體。用來在P2P網中完成信息檢索。一旦形成P2P專用網,其上的數據搜索與現在互聯網中數據存在中央伺服器的情況有所不同,必須要考慮動態地將當前P2P網路中各個Peer的內容進行收集,並且要有效地向用戶傳遞。 P2P網用戶中相當數量在聯網方式上不同,專線、撥號、寬頻、窄帶都會碰到; 聯網的時間可以一個是24小時在線,而另一個完全可能僅聯機幾十分鍾; 使用的操作系統也不一定相同。
(5) Netbatch(Intel)類協同計算軟體。可聯接近1萬台PC,利用它們的空閑時間進行協同計算,完成超計算量的工作(如空間探測,分子生物學計算,晶元設計)。
(6) Groove 類數據或行動協同軟體。它是基於P2P連接的軟體工具,可以建立一個安全的企業級協同工作平台(P2P網),提供供求信息鏈上的互動信息溝通,如貨品目錄、庫存及發貨清單,幫助使用者進行經銷渠道維護、客戶服務和支持。
(7) 游戲軟體。事實上許多網路游戲均是P2P方式的,尤其是那些雙人及多人對弈游戲。
2. 組織與標准
目前,正式的P2P組織尚未成立,2000年8月間成立的P2P工作組,成員包括Intel、IBM、HP等大企業,目標集中在P2P技術的標准、安全性及可靠性等等。但由於P2P技術本身發展迅速,P2P技術涵蓋的范圍尚未確定,目前尚未有統一的規范。
發展
1. 關鍵技術
P2P是一種基於互聯網環境的新的應用型技術,主要為軟體技術。
(1) 對於互聯網上眾多計算機,P2P應用比其他應用要更多考慮那些低端PC的互聯,它們不具備伺服器那樣強的聯網能力,同時對於以往的P2P應用技術,現在的硬體環境已經更為復雜,這樣在通信基礎方面,P2P必須提供在現有硬體邏輯和底層通信協議上的端到端定位(定址)和握手技術,建立穩定的連接。涉及的技術有IP地址解析、NAT路由及防火牆。
(2) 在應用層面上,如果兩個Peer分別代表兩家不同的公司,而且它們已經通過互聯網建立連接,那麼一方的信息就必須為另一方所識別,所以當前互聯網上關於數據描述和交換的協議,如XML、SOAP、UDDI等都是一個完善的P2P軟體所要考慮的。
(3) 有通信就要有安全保障,加密技術是必須要考慮的。
(4) 其他需考慮的有如何設置中心伺服器,如何控制網路規模等。
2. P2P技術與現有互聯網技術比較
目前互聯網主要技術模式是S/C方式,此方式要在互聯網上設置擁有強大處理能力和大帶寬的高性能計算機,配合高檔的伺服器軟體,再將大量的數據集中存放在上面,並且要安裝多樣化的服務軟體,在集中處理數據的同時可以對互聯網上其他PC進行服務,提供或接收數據,提供處理能力及其他應用。對於一台與伺服器聯機並接受服務的PC機來說,這台PC機就是客戶機,其性能可以相對弱小。而P2P技術的特徵之一就是弱化了伺服器的作用,甚至取消伺服器,任意兩台PC互為伺服器,同時又是客戶機,即對等。右面是P2P與S/C方式的一些比較:
S/C方式造成互聯網路上的集中,無論信息資源還是成本資源均向同一方向集中,這樣的模式符合一對多、強對弱的社會關系形式,如政府對個人、對企業,大企業對小企業,學校對學生,企業對職工等等關系。所以S/C方式是符合市場需求的。P2P方式將導致信息數量、成本資源都向互聯網各點均勻分布,也就是所謂「邊緣化「的趨勢。此模式符合「一對一」的特點,以及彼此相當的社會關系形式,如個人對個人,規模相當的企業之間,等等,這也是符合市場需求的(如ICQ)。所以這兩種方式會共存,有關P2P即將替代S/C模式的說法是不成立的。P2P有其獨特的市場空間,是現有互聯網應用的補充,這一點應該是毫無疑問的。
3. P2P技術特性
(1) 既是S又是C,如何表現取決於用戶的要求,網路應用由使用者自由驅動。
(2) 信息在網路設備間直接流動,高速及時,降低中轉服務成本。
(3) 構成網路設備互動的基礎和應用。
(4) 在使網路信息分散化的同時,相同特性的P2P設備可以構成存在於互聯網這張大網中的子網,使信息按新方式又一次集中。
企業應用
應用P2P技術的互聯網產品正在迅速開辟出一塊新的互聯網應用市場,例如ICQ類的即時信息工具不僅創立了一個巨大市場,而且正在多方向地向外擴展,比如在移動通信市場,ICQ產品的多信息格式(文字、語言的支持)和即時性,可以為常規通信增加信息內容(文字、圖片)和通信對象(網上ICQ用戶)。
另一方面,ICQ的使用也會使部分用戶放棄Email,侵蝕Email市場。Napster類的文件共享型P2P產品開拓出網上文件傳播的新途徑,用戶不僅可以進行搜索和下載這樣的操作,同時也可以方便地將自己的文件提供給其他用戶,做到了基本的雙向交流。
由於P2P技術方案不同於S/C方式的特性,可以在許多方面彌補S/C方式的不足,P2P產品將建立互聯網上的一種新的應用模式,這時用戶不僅在PC裝有瀏覽器,而且還有數種P2P軟體來實現新的互聯網應用。
比如一個計算機配件經銷商可以通過Email或瀏覽器(如果對方也通過P2P技術發布信息,則也可以用P2P軟體)得到其上游廠家最新推出的產品信息及價格,研究了這些信息,並落實訂貨事宜之後,啟動P2P軟體,將新的產品及售價發布到重要客戶的P2P聯絡站上,其中一個未上網的用戶通過手機也知道了這消息。不久,經銷商將收到客戶的在線詢問,而經銷商在線回答問題的同時又將一個驅動程序傳給了這個客戶。這一切的操作均是通過互聯網,而對象是廠家人員或客戶,而非其網站或郵箱,這樣就真正利用互聯網做到了面對面的交流,更加接近現實社會的人際交流習慣。
1. 企業P2P互聯網應用的幾個側重
(1) 企業協同
企業協同包括兩大方面,一是企業內部的員工與員工、部門與部門、員工與部門之間的協同,無論部門及員工處在何種地理位置,只要擁有網路,雙方存在信息溝通的要求,就可以利用P2P軟體協調雙方的行為。信息的種類及行為目的可以是多種多樣的,如日程安排、通知發布、單據的審批、文件傳閱和分發、方案的評比(表決)、計劃協調等等這些可以通過電子文件表達的信息均可以通過軟體來表達,並以此將使用者聯系在一起。P2P應用更適用這當中更多需要用戶交互的部分,如計劃協調、日程安排等。二是企業與企業之間的行為協同,這種協同的互動的多樣性和復雜性要高於企業內部的協同。從簡單的會議日程安排、公文往來,到報價、詢價訂貨系統、訂單跟蹤、電子化交易。
(2) 企業門戶
新型企業門戶不再簡單地以一個網站來實現,它不但綜合了為企業內部員工或部門的服務,還可以為企業夥伴及用戶服務,同時也是企業管理者了解企業運行狀態,調控企業運行的管理工具。企業各個部分的運行情況均可以通過它傳遞給允許接觸到相關信息的使用者。管理者可以通過門戶掌握企業的動態,調控企業的運行,直達下級領導建立溝通。而企業內部的員工與企業外部的夥伴或客戶均可通過這一平台找到相關的人(工作人員),建立起這樣那樣的信息交流通道,實現不同的協作目標。這將綜合S/C技術和P2P技術,P2P部分將實現信息定向推送,實時溝通和數據互動。
(3) P2P群集和VPN
構建於互聯網之上的P2P應用不再簡單地限於兩個點,完全可以擴展到多點的群集,形成互聯網中的一個虛擬的子網,構成一個精簡的VPN。這樣一來,通過相對簡單的,僅僅是對P2P用戶端軟體的操作,用戶就可以主動地選擇不同的VPN並加入,同時也就使得了不同的VPN同時存在於互聯網之中。個性化、專業化同時又是開放(基於互聯網)的VPN的出現,使信息的集中和流動更接近現實社會的信息流動方式,更易於為人們所接受。比如喜愛音樂的人們建立了自己的音樂VPN,擅長編程的設計師可以建立自己的程序員VPN,而對於企業,行業化、渠道化的組織終於有了一個在互聯網上安家的便捷途徑。可以預計,行業化的目錄服務、信息服務將通過此方式迅速涌現,為企業電子商務打下一個良好基礎。
(4) 人機遠程互動和機機互動
遠程監控和調試已經運用在許多工業場合,甚至也出現了一些通過網站方式運行的方案,但網站方式在速度和交互性方面的缺陷使得用戶無法接受。P2P方案為這方面的應用開辟了新的天地,利用它,一個鍋爐廠商可以通過互聯網幫助其客戶調控其鍋爐的運行狀態,而我們也可以在回家的路上用手機將家中的空調提前打開。
(5) 寬頻網及無線移動網應用
當帶寬達到數據流要求的容量,如實時音頻、實時視頻,人們期待已久的多種網路應用就會呈現在面前。而特別能滿足交互需要的P2P技術更有一塊施展的天地,電話會議、視頻會議、遠程教育、培訓、安裝調試等等都將為企業帶來P2P技術的新應用。實際上ICQ作為P2P技術已經開始應用在手機簡訊上。
2. 企業P2P互聯網應用的市場特點
(1) 構成企業B2B電子商務內容的一部分。
(2) 促進建立新的互聯網數據交換標准和數據安全模式。
(3) 引起新一代互聯網的應用,可以建立起底層結構平台。
(4) 具有領域化的市場分割—與前一時期的互聯網熱有相同的出發點,將建立起相關行業的群落。
(5) 有較明確的贏利模式。由於P2P產品不再像S/C方式那樣客戶僅使用瀏覽器,而是使用特質的客戶端軟體,同時軟體的使用需廠家的直接支持,用戶對購買軟體或繳納使用費很容易理解。
(6) 向後產品和技術可以整合進入企業內部信息管理市場,向前可以進入企業外部電子商務市場。
3. 估計的產品形式
(1) 底層基礎開發平台及專項應用軟體。
(2) 軟體工程。為企業量身定做。
(3) 軟體服務。將軟體功能租給企業使用及信息服務。
D. P2P通信是怎麼實現的
這個說起來就比較復雜了,我建議你去參考一下ESFramework通信框架中的P2P功能,該框架就支持P2P通信功能。
E. 如何實現跨網段的P2P通訊
實現P2P的方式很多,NAT系列,花生系列、零遁系列都可以實現,如後者就是P2P通信,數據不走伺服器。安全、穩定、可靠。接法也很簡單。有兩種模式,有LAN模式和WAN模式兩種可供選擇,接好後簡單的配置就能實現異地P2P組網。
F. 即時通訊軟體用戶之間怎麼建立p2p通訊
即時通訊軟體用戶之間建立p2p通訊方法:
p2p網路中的中繼轉發部分(transfer)
系統的發送部分(sender)
系統的接收部分(receiver)
(1)中繼轉發部分(transfer)
transfer主要負責提供匿名通信的服務,接收sender不同類型的消息,對其信息進行解密操作並且傳遞到jxta網路中下一個peer的transfer,如果是最終結點peer就首先建立與receiver的連接,然後將信息解密之後,再解析xml文件得到數據傳遞到receiver。然後再接收receiver不同類型的消息,對其信息進行加密操作並且傳遞到下一個peer的transfer ,直到傳回到sender。在sender請求建立通道時,必須根據sender 請求信息判斷這個transfer是作為中間結點處理數據還是作為最終結點處理數據,兩者的處理信息方式有很大區別。如果信息傳遞過程中出現問題,將出錯信息傳回receiver。
(2)發送部分(sender)
sender主要負責查找jxta網路中提供匿名通信服務的transfer,通過找到的transfer建立起一條基於p2p網路的通道,然後就可以在這條通道上建立每一個socket通話連接,這樣通過這條通道就可以傳遞不同類型的信息(請求建立通道、數據、請求結束通話、請求關閉通道、建立通道允許、結束通話允許、關閉通道允許以及出錯信息)。在接收到receiver傳遞過來的信息時,由於經過加密得到的是密文,必須按照建立的p2p網路路徑的順序進行解密,才能得到所需要的明文數據。在傳遞信息時,把需要傳遞的信息封裝成xml的格式,這樣在需要使用這些信息的transfer上就可以解析出所需要的數據,以便於進行下一步的操作。
(3)接收部分(receiver)
receiver主要負責在接收到p2p網路中的transfer傳遞過來時的socket連接請求時同意socket連接,列出和自己建立連接的sender,通過選擇sender進行基於p2p網路的信息傳遞。在接收到p2p網路中的transfer傳遞過來時的socket通話結束請求時關閉socket連接,同時取消在列表中的sender,這樣receiver就無法與結束通話的sender再次取得聯系。在receiver關閉時,必須通知所有已經與自己連接的sender,sender才可以關閉與這個receiver的連接。
G. 計算機網路中p2p通信方式為下列哪種通信方式
客戶伺服器方式是一點對多點的,對等通信方式是點對點的 為了使數據分組從源傳送到目的地,源端OSI模型的每一層都必須與目的端的對等層進行通信,這種通信方式..
H. 有誰能給我解釋下P2P模式,分布式的和集中式的通信方式的根本區別。
分布式是分開控管,具有綜合評定的權利;集中式比較類似於集權中央管控,好比一個人或者幾個人說了算
I. 誰能幫我個畢業論文設計(基於p2p的即時通信軟體)
還是自己寫吧,有個網站的資料比較齊全,我之前也在那找了些很不錯。好像叫淘論文,不記得網址了,你輸中文也查得到的。