以太坊 網路服務分析

2021-09-16 23:37:31 字數 1759 閱讀 1244

目錄

1 網路分層 ………………………………………………………………………………..4

2 會話層…………………………………………………………………………………….4

2.1 peer 介紹……………………………………………………………………………..5

2.2 peer 管理 …………………………………………………………………………….5

2.2.1 peer 動態新增刪除流程 ………………………………………………………5

2.2.2 peer 握手機制…………………………………………………………………….6

3 表示層:rlp 編碼 ……………………………………………………………………..6

4 應用層:eth 協議……………………………………………………………………..6

1 網路分層

以太坊所有網路功能如下圖所示: 所有網路功能建立在乙太網的傳輸層之上,tcp 及 udp 均有應用。

2 會話層

會話層主要包括 peer 管理,nodetable 管理和 rpc 協議,本文著重介紹 peer 管理, nodetable 請參考《p2p 網路及鄰居節點發現機制》。 涉及到會話層的關鍵**:

2.1 peer 介紹

peer 指通過了通訊握手的鄰居節點,只有鄰居節點才能變為 peer,只有 peer 列表中的 節點,才能進行正常的通訊。

2.2 peer 管理

peers 在**中以 map 的結構存在,由 server 執行方法 run建立,並在 run 方法中進行 新增和刪除維護。pees 最大預設數量為 25(node/defaults.go 定義)

2.2.1 peer 動態新增刪除流程

peer 新增分為兩種:被動新增和主動新增。 1) 被動新增指其他節點發起握手,流程如下:

2) 每當當前 peers 有變動時,如新增,刪除,或者一次 dial任務完成,則會執行一次主動 握手流程如下,其中要進行 dial(撥號,即握手通訊)的節點有以下幾部分組成:

3) peer 刪除有三種方式: rpc 命令刪除,一次應用層通訊完成自動刪除,通訊過程讀寫錯誤。

2.2.2 peer 握手機制

3 表示層:rlp 編碼

4 應用層:eth 協議

peer 握手成功後,即可進行應用層通訊,eth 協議資料報如下表所示:

eth 協議應用層包括如下命令:

以太坊網路服務分析

目錄 1 網路分層 2 會話層 2.1 peer 介紹 2.2 peer 管理 3 表示層 rlp 編碼 4 應用層 eth 協議 1 網路分層 以太坊所有網路功能如下圖所示 所有網路功能建立在乙太網的傳輸層之上,tcp 及 udp 均有應用。2 會話層 會話層主要包括 peer 管理,nodeta...

以太坊網路服務分析

以太坊所有網路功能如下圖所示 所有網路功能建立在乙太網的傳輸層之上,tcp 及 udp 均有應用。會話層主要包括 peer 管理,nodetable 管理和 rpc 協議,本文著重介紹 peer 管理,nodetable 請參考 p2p 網路及鄰居節點發現機制 涉及到會話層的關鍵 原始檔類 類描述主...

以太坊網路服務分析

目錄 1 網路分層 2 會話層 2.1 peer 介紹 2.2 peer 管理 3 表示層 rlp 編碼 4 應用層 eth 協議 1 網路分層 以太坊所有網路功能如下圖所示 所有網路功能建立在乙太網的傳輸層之上,tcp 及 udp 均有應用。2 會話層 會話層主要包括 peer 管理,nodeta...