區(qū)塊鏈部署與運(yùn)維 課件 ch06 區(qū)塊鏈網(wǎng)絡(luò)通信_(tái)第1頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 ch06 區(qū)塊鏈網(wǎng)絡(luò)通信_(tái)第2頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 ch06 區(qū)塊鏈網(wǎng)絡(luò)通信_(tái)第3頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 ch06 區(qū)塊鏈網(wǎng)絡(luò)通信_(tái)第4頁(yè)
區(qū)塊鏈部署與運(yùn)維 課件 ch06 區(qū)塊鏈網(wǎng)絡(luò)通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

區(qū)塊鏈網(wǎng)絡(luò)通信高等職業(yè)教育新目錄新專標(biāo)電子與信息大類教材區(qū)塊鏈部署與運(yùn)維第六章01認(rèn)識(shí)網(wǎng)絡(luò)通信模型在計(jì)算機(jī)網(wǎng)絡(luò)中,我們通過協(xié)議來進(jìn)行通信,那么區(qū)塊鏈節(jié)點(diǎn)之間是如何進(jìn)行通信的呢?任務(wù)場(chǎng)景認(rèn)識(shí)網(wǎng)絡(luò)通信模型任務(wù)布置:學(xué)習(xí)OSI參考模型的基本概念。學(xué)習(xí)TCP/IP參考模型的基本概念。使用虛擬機(jī)計(jì)算機(jī)軟件(VMwareWorkstation),搭建虛擬局域網(wǎng)。認(rèn)識(shí)網(wǎng)絡(luò)通信模型配置VMware虛擬機(jī)軟件的虛擬網(wǎng)絡(luò)設(shè)置(選擇使用VMnet8網(wǎng)卡進(jìn)行配置),如圖6-1所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型類似于網(wǎng)卡配置,可以設(shè)置子網(wǎng)和子網(wǎng)掩碼,在如圖6-2所示的①中進(jìn)行修改。認(rèn)識(shí)網(wǎng)絡(luò)通信模型在②中設(shè)置網(wǎng)關(guān),配置如圖6-3所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型在③中設(shè)置網(wǎng)段下的IP地址使用DHCP協(xié)議,獲取IP地址范圍,配置如圖6-4所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型創(chuàng)建兩臺(tái)虛擬機(jī),修改網(wǎng)卡配置文件內(nèi)容,如圖6-5所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型重啟網(wǎng)卡服務(wù),并使用ipa命令查看IP地址,如圖6-6所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型使用ping對(duì)方IP地址c4命令查看與對(duì)方的連通性,如圖6-7和圖6-8所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型填寫任務(wù)評(píng)價(jià)表,如6-1所示。認(rèn)識(shí)網(wǎng)絡(luò)通信模型02使用RPC協(xié)議任務(wù)場(chǎng)景在區(qū)塊鏈中,節(jié)點(diǎn)間可以通過RPC協(xié)議互相調(diào)用對(duì)方的服務(wù)來完成某些任務(wù),或查詢數(shù)據(jù)。使用RPC協(xié)議任務(wù)布置:學(xué)習(xí)RPC協(xié)議的基本概念。學(xué)習(xí)FISCOBCOS的RPC模塊。學(xué)習(xí)FISCOBCOS的RPC模塊的簡(jiǎn)單命令。使用RPC協(xié)議RPC協(xié)議全名為遠(yuǎn)程過程調(diào)用協(xié)議(RemoteProcedureCallProtocol),允許運(yùn)行于一臺(tái)計(jì)算機(jī)上的程序調(diào)用另一臺(tái)計(jì)算機(jī)的子程序,而程序員無須額外地為這個(gè)交互作用編程。RPC協(xié)議使用RPC協(xié)議目前RPC協(xié)議是P2P網(wǎng)絡(luò)中運(yùn)用較廣泛的通信協(xié)議之一,是目前區(qū)塊鏈節(jié)點(diǎn)通信的主流協(xié)議之一。RPC協(xié)議遠(yuǎn)程調(diào)用的目的是實(shí)現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用,如有節(jié)點(diǎn)A和節(jié)點(diǎn)B,現(xiàn)有調(diào)用業(yè)務(wù)部署于節(jié)點(diǎn)A,需要調(diào)用節(jié)點(diǎn)B的函數(shù)或方法,此時(shí)可以借助RPC協(xié)議通過網(wǎng)絡(luò)表達(dá)調(diào)用的語(yǔ)義和傳達(dá)調(diào)用的數(shù)據(jù)。使用RPC協(xié)議如圖6-9所示為基于RPC協(xié)議節(jié)點(diǎn)A與節(jié)點(diǎn)B的通信流程。使用RPC協(xié)議在上述流程中,Stub表示存根,節(jié)點(diǎn)AStub的作用為保存節(jié)點(diǎn)B的地址信息,將節(jié)點(diǎn)A的請(qǐng)求參數(shù)數(shù)據(jù)信息打包,再向下傳輸通過網(wǎng)絡(luò)發(fā)送。節(jié)點(diǎn)BStub的作用為接收節(jié)點(diǎn)A的請(qǐng)求數(shù)據(jù)信息并解析,然后調(diào)用本地服務(wù)進(jìn)行相應(yīng)處理。使用RPC協(xié)議FISCOBCOS的RPC模塊目前,包括FISCOBCOS等在內(nèi)的經(jīng)典區(qū)塊鏈技術(shù)都具備RPC模塊,可用于支持基于RPC協(xié)議的遠(yuǎn)程功能調(diào)用。RPC模塊負(fù)責(zé)提供FISCOBCOS的外部接口,客戶端通過RPC發(fā)送請(qǐng)求,RPC通過調(diào)用賬本管理模塊和P2P模塊獲取相關(guān)響應(yīng),并將響應(yīng)返回給客戶端。其中,賬本管理模塊通過多賬本機(jī)制管理區(qū)塊鏈底層的相關(guān)模塊,具體包括共識(shí)模塊、同步模塊、區(qū)塊管理模塊、交易池模塊及區(qū)塊鏈驗(yàn)證器。使用RPC協(xié)議如圖6-10所示為RPC模塊在FISCOBCOS中支持的功能。使用RPC協(xié)議客戶端請(qǐng)求jsonrpc:指定JSON-RPC協(xié)議版本的字符串,必須準(zhǔn)確地寫為“2.0”。method:調(diào)用方法的名稱。params:調(diào)用方法所需要的參數(shù),方法參數(shù)可選。id:已建立客戶端的唯一標(biāo)識(shí)ID,ID必須是一個(gè)字符串、數(shù)值或NULL空值。使用RPC協(xié)議01020304jsonrpc:指定JSON-RPC協(xié)議版本的字符串,必須準(zhǔn)確地寫為“2.0"。服務(wù)端響應(yīng)result:正確結(jié)果字段。eror:錯(cuò)誤結(jié)果字段。id:響應(yīng)id。使用RPC協(xié)議獲取節(jié)點(diǎn)版本信息。調(diào)用方法method為getClientVersion,操作如下:使用RPC協(xié)議FISCOBCOS的RPC模塊的簡(jiǎn)單命令輸出內(nèi)容對(duì)應(yīng)解釋,即節(jié)點(diǎn)獲取信息的說明,如表6-2所示。使用RPC協(xié)議獲取區(qū)塊高度。調(diào)用方法method為getBlockNumber,操作如下:使用RPC協(xié)議獲取群組節(jié)點(diǎn)信息。通過指定方法getGroupPeers獲取指定群組內(nèi)的共識(shí)節(jié)點(diǎn)和觀察節(jié)點(diǎn)列表,如下命令為查詢?nèi)航M編號(hào)為1的節(jié)點(diǎn)列表:使用RPC協(xié)議查詢?nèi)航MID列表。通過方法getGroupList獲取信息,操作如下:使用RPC協(xié)議填寫任務(wù)評(píng)價(jià)表,如表6-3所示。使用RPC協(xié)議03搭建P2P網(wǎng)絡(luò)任務(wù)布置:學(xué)習(xí)P2P網(wǎng)絡(luò)通信的基本知識(shí)。學(xué)習(xí)FISCOBCOS的網(wǎng)絡(luò)傳輸協(xié)議。掌握搭建P2P網(wǎng)絡(luò)和添加新節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò)的方法。搭建P2P網(wǎng)絡(luò)P2P網(wǎng)絡(luò)又稱對(duì)等網(wǎng)絡(luò)(Peer-to-Peernetworking),或?qū)Φ扔?jì)算(Peer-to-Peercomputing),是一種在對(duì)等節(jié)點(diǎn)(Peer)之間分配任務(wù)和工作負(fù)載的分布式應(yīng)用架構(gòu),是對(duì)等計(jì)算模型在應(yīng)用層層面的一種組網(wǎng)或網(wǎng)絡(luò)形式。P2P網(wǎng)絡(luò)通信搭建P2P網(wǎng)絡(luò)在P2P網(wǎng)絡(luò)環(huán)境中,彼此連接的多臺(tái)計(jì)算機(jī)之間處于對(duì)等的地位,各臺(tái)計(jì)算機(jī)有相同的功能,無主從之分,一臺(tái)計(jì)算機(jī)既可以作為服務(wù)器,設(shè)定共享資源供網(wǎng)絡(luò)中其他計(jì)算機(jī)使用,又可以作為工作站。網(wǎng)絡(luò)中的參與者能被其他對(duì)等節(jié)點(diǎn)直接訪問,無須經(jīng)過中間實(shí)體,它既是資源、服務(wù)和內(nèi)容的提供者,也可以是資源、服務(wù)和內(nèi)容的獲取者。搭建P2P網(wǎng)絡(luò)奉茶順序整個(gè)網(wǎng)絡(luò)不需要專用的集中服務(wù)器或?qū)S玫墓ぷ髡?。敬茶禮節(jié)網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請(qǐng)求者,又能對(duì)其他計(jì)算機(jī)的請(qǐng)求做出響應(yīng),提供資源、服務(wù)和內(nèi)容。通常這些資源和服務(wù)包括:信息的共享和交換、計(jì)算資源(如CPU計(jì)算能力共享)、存儲(chǔ)共享(如緩存和磁盤空間的使用)、網(wǎng)絡(luò)共享、打印機(jī)共享等?!啊贝罱≒2P網(wǎng)絡(luò)在區(qū)塊鏈技術(shù)中由于采用了去中心化的理論,數(shù)據(jù)均以點(diǎn)對(duì)點(diǎn)的通信方式實(shí)現(xiàn),因此P2P通信技術(shù)在節(jié)點(diǎn)通信中應(yīng)用極其廣泛。搭建P2P網(wǎng)絡(luò)FISCOBCOS的網(wǎng)絡(luò)傳輸協(xié)議基于P2P網(wǎng)絡(luò)通信的原理,F(xiàn)ISCOBCOS針對(duì)自身區(qū)塊鏈業(yè)務(wù)設(shè)計(jì)了個(gè)性化的網(wǎng)絡(luò)傳輸協(xié)議。在FISCOBCOS網(wǎng)絡(luò)傳輸協(xié)議中包含了兩類數(shù)據(jù)包格式,分別為:(1)P2PMessage格式:用于實(shí)現(xiàn)節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信。搭建P2P網(wǎng)絡(luò)(2)ChannelMessage格式:用于實(shí)現(xiàn)節(jié)點(diǎn)與客戶端通過SDK的方式通信。如圖6-11所示為FISCOBCOS網(wǎng)絡(luò)傳輸協(xié)議的實(shí)現(xiàn)形式。搭建P2P網(wǎng)絡(luò)P2PMessage作為區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)間進(jìn)行數(shù)據(jù)傳輸?shù)膮f(xié)議,從2.0開始擴(kuò)展了群組ID和模塊ID的范圍,最多支持32767個(gè)群組,且新增了Version字段來支持其他特性(如網(wǎng)絡(luò)壓縮),包頭大小為16字節(jié),其數(shù)據(jù)包的結(jié)構(gòu)如圖6-12所示。搭建P2P網(wǎng)絡(luò)表6-4為P2PMessage數(shù)據(jù)包內(nèi)容的描述。搭建P2P網(wǎng)絡(luò)我們可以通過在FISCOBCOS節(jié)點(diǎn)的配置文件中對(duì)節(jié)點(diǎn)的通信進(jìn)行配置。根據(jù)之前學(xué)習(xí)的內(nèi)容,我們已經(jīng)部署了FISCOBCOS的測(cè)試區(qū)塊鏈網(wǎng)絡(luò),在網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都有其對(duì)應(yīng)的配置文件,包括主配置config.ini和多個(gè)賬本配置group.group_id.genesis、group.groupid.ini,不同配置文件描述如下。FISCOBCOS節(jié)點(diǎn)的通信設(shè)置搭建P2P網(wǎng)絡(luò)config.ini主配置文件,主要配置RPC、P2P、SSL證書、賬本配置文件路徑、兼容性等信息。group.group_id.genesis群組配置文件,群組內(nèi)所有節(jié)點(diǎn)一致,節(jié)點(diǎn)啟動(dòng)后,不可手動(dòng)更改該配置,主要包括群組共識(shí)算法、存儲(chǔ)類型、最大Gas限制等配置項(xiàng)。group.group_id.ini群組可變配置文件,包括交易池大小等,配置后重啟節(jié)點(diǎn)生效。“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論