目錄
1 網路分層
2 會話層
2.1 peer 介紹
2.2 peer 管理
3 表示層:rlp 編碼
4 應用層:eth 協議
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 網路分層 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 均有應用。會話層主要包括 peer 管理,nodetable 管理和 rpc 協議,本文著重介紹 peer 管理,nodetable 請參考 p2p 網路及鄰居節點發現機制 涉及到會話層的關鍵 原始檔類 類描述主...
以太坊網路服務分析
目錄 1 網路分層 2 會話層 2.1 peer 介紹 2.2 peer 管理 3 表示層 rlp 編碼 4 應用層 eth 協議 1 網路分層 以太坊所有網路功能如下圖所示 所有網路功能建立在乙太網的傳輸層之上,tcp 及 udp 均有應用。2 會話層 會話層主要包括 peer 管理,nodeta...