关于以太坊:网络服务分析

当前位置:首页 > 币圈百科 > 关于以太坊:网络服务分析

关于以太坊:网络服务分析

2023-01-13币圈百科212

1网络分层

以太坊的所有网络功能如下图所示:所有网络功能都基于以太网的传输层,TCP和UDP都适用。蓑衣网小编2022

2会话层

会话层主要包括对等管理、节点表管理和RPC协议。这篇文章关注的是同级管理。有关节点表,请参考《P2P 网络及邻居节点发现机制》。会话层相关关键代码:

2.1对等体介绍

对等体是指通过了通信握手的邻居节点,只有邻居节点才能成为对等体,只有对等体列表中的节点才能正常通信。

2.2 Peer管理

Peer在代码中作为一个map结构存在,由服务器运行方法run创建,在run方法中通过添加和删除来蓑衣网小编2022维护。最大默认对等体数量为25(由node/defaults.go定义)

2.2.1对等体的动态添加和删除过程

对等体添加有被动添加和主动添加两种。1)被动添加是指其他节点发起握手,过程如下:

2)每当当前对等体发生变化,如添加、删除或完成一个拨号任务时,都会进行如下主动握手过程,其中要拨号的节点(握手通信)由以下几部分组成:系统启动时,将配置文件写入nodeTable,随机选取(当前needDynDials的一半,needDynDials的值为(S. Max Peer 1)/2=13)。当Loobbuf中的节点(发现任务中的邻居节点)中的对等节点数量不足时,将强制刷新nodetable,刷新后的节点将被写入lookbuf。

3)删除对等体蓑衣网小编2022有三种方式:RPC命令删除、一次应用层通信后自动删除、通信过程中读写错误。

2.2.2对等握手机制

参考《以太坊底层技术研究:Peer 握手机制》

3表示层:RLP编码[X][X]X在以太坊相关的网络上发送的所有数据都遵循RLP编码,参考《RLP 机制分析》

[可以进行应用层通信,Eth协议数据包如下表所示:[X][X][X][X]Eth协议应用层包括以下命令:[X][X][X][X][X]本文是

关于作者

蓝莲花(王小明),微信/QQ: 263305605,微信官方账号:xm123798。朝夕网(zhaoxi.co)创始人。致力于推广区块链的应用。

关于以太坊:网络服务分析 | 分享给朋友: