网络分层一文了解网络整体分层结构
01hr网络协议栈
PlatON网络的基本实现是全分布式结构化拓扑1(DecentralizedStructuredTopology),完全基于RELOAD(REsourceLOcationAndDiscovery)基础协议〔RFC6940〕和Kademlia协议〔Kademlia〕。下图为PlatON网络整体分层结构。网络分层
1。1链接层
链接层定位于实现数据的安全传输,提供多种协议来防止窃听、篡改、消息伪造;提供安全、可认证的连接;保证消息来源认证和消息数据的完整性。网络分层
本层实现安全传输层协议(TLS)和数据包传输层安全性协议(DTLS)。针对密码算法,PlatON扩展实现为插件机制,可灵活支持国际标准算法(包括SHA256、SHA3、ECDSA、RSA、3DES、AES、RSAOAEP、ECIES等),同时将率先支持中国国密算法(SM2、SM3、SM4、SM9等)。
1。2分组转发和链接管理
负责提供分组转发服务来实现存储路由表,同时负责点对点建立连接,包括位于NAT设备和防火墙后的节点。RELOAD使用ICE方法RFC5245实现NAT穿越2。
1。3拓扑插件
RELOAD是一个P2P网络框架,支持扩展不同的拓扑算法来实现全分布式非结构化拓扑或全分布式结构化拓扑网络。网络分层
拓扑算法可利用消息传输组件来管理消息的收发,利用存储组件来管理数据的存储。拓扑算法与分组转发和链接管理层紧密配合,提供多种路由功能来满足不同需求。PlatON网络采用Kademlia算法来实现全分布式结构化拓扑网络。
1。4数据存储
负责数据的存储,通过与拓扑插件的配合完成数据的复制、迁移等动作,同时与消息传输组件配合完成数据消息的收发。RELOAD支持字符串、数组和dictionary类型的数据存储。网络分层
1。5消息传输
负责对应用提供可靠的点对点消息传输服务。PlatON在RELOAD基础上扩展了分区泛洪算法来进行消息的快速全网广播。
1。6应用层
利用RELOAD底层的通信、存储能力来构建服务发现扩展,以及基于服务发现的TURN3服务、SIP4服务、计算服务、数据服务、存储服务、区块链服务等。网络分层
以下章节主要描述应用层各服务的网络协议。
02:hr服务发现
在P2P覆盖网络中,有些节点负责对外部提供服务,有些节点负责向其他节点请求服务,比如中继服务、语音邮件服务、网关定位服务、转码服务等。PlatON中也需要部分节点提供算力服务、TURN服务、SIP服务等。其中服务发现是关键问题所在。
2。1ReDiR树
在P2P网络中,最简单的方式是在DHT5(DistributedHashTable,分布式哈希表,是一种分布式存储方法)中以一个特定的KEY保存所有提供某个服务的节点ID。但使用这种方法,将使存储节点的存储负载过大,而且会导致路由到存储节点的服务查询请求过多,造成消息处理负载过大。网络分层
为解决以上问题,PlatON使用ReDiR(RecursiveDistributedRendezvous)〔RFC7374来实现服务发现机制,ReDiR可以支持数万的服务提供节点及服务查询节点。
ReDiR使用树状结构实现P2P服务发现机制。同时使用RELOAD覆盖网络的存储能力保存数据,每一类服务部存储为一棵ReDiR树,树节点保存服务提供节点的信息。当某个节点请求查找指定服务的提供者时,对ReDiR树做有限次的查找就可以找到与请求节点最匹配的服务提供节点。
ReDiR树节点使用RELOAD的dictionary结构存储服务提供节点,每一个ReDiR树节点属于ReDiR树的某一层(level),ReDiR树的根节点为第0层,根节点的子节点位于第1层,第一层的子节点位于第2层,以此类推。
ReDiR树每层容纳的节点数取决于分支因子b,每层最多容纳blevel个节点,每个节点用(level,j)来唯一标识,其中level为节点所在的层数,j表示该节点为相应层中第j个节点。在每一层中,blevel个树节点把第level层分为个blevel个KEY空间。网络分层
所有服务节点映射存储到相应的KEY空间,每个KEY空间由一个树节点负责存储,树节点(level,j)包含的KEY范围为
其中0bamp;lt;b,树节点(level,j)中保存的资源ID取值为IDhash(service,level,j)。下图2为分支因子为2的ReDiR树。
2。2服务发布
在RELOAD覆盖网络中,KEY为k的节点n发布服务的步骤如下:
步骤一:选择一个初始层llstart,一般为2。
步骤二:节点n发送查询请求到负责KEY空间I(l,k)的树节点,获取该树节点存储的服务节点列表。网络分层
步骤三:节点n发送存储请求将自身信息存储到负责KEY空间I(l,k)的树节点中。
步骤四:检查第一步返回的结果,如果节点n的KEY值k是其中最大或最小的,则将当前层数减1,重复第23步,直到节点n的KEY值不是最大或最小,或者到达根节点为止。
同理,节点n从层llstart往下层遍历处理,直到满足以下条件为止:负责KEY空间I(l,k)的树节点中,节点n为唯一一个服务节点。
2。3服务更新
注册到ReDiR中的服务状态都是动态的,服务节点需要定期重复服务发布流程来更新服务状态。若超时未更新,负责存储的树节点需要将其从存储中删除。网络分层
2。4服务查找
服务查找过程跟服务发布类似,也是从一个初始层llstart开始,每一步获取到当前KEY空间I(l,k)中的服务节点列表,按照以下方法处理:
步骤一:如果没有返回任何服务节点,则表明KEY(k)对应的服务节点存在更大的KEY空间,将层数减1然后重复查询,如果当前level为0则查询失败。
步骤二:如果在返回的服务节点中,k不是其中最大或最小的,则表明对应的服务节点一定存在的子空间中,将层数加1,然后重复查询。网络分层
步骤三:否则,返回的结果为最接近KEY(k)的服务节点,查询成功。网络分层
03:hr计算服务
如何高效地进行计算节点间通信在PlatON中变得十分重要。建立在RELOAD协议基础上的计算服务,实现了计算服务的发布、计算服务的发现、计算会话的建立等。
3。1发布算力服务
计算节点加入PlatON网络提供算力服务,在注册为算力服务提供方之前,需要利用STUN6协议RFC5389来判断出自己是否在NAT设备后面。如果己经在NAT设备后面,则需要通过服务发现找到一个TURN服务来为自己提供公网的服务能力。计算节点需要把自己的IP地址或从TURN服务获取到的Relay地址注册到PlatON网络。
计算节点在发布算力服务时,使用服务发现扩展协议进行服务发布和更新,将自己发布到KEY空间I(l,power)中,power为节点提供的算力。
3。2发现算力服务
PlatON计算时,需要根据算力匹配计算节点,使用服务发现扩展协议查找KEY空间I(l,power),power为需要的算力参数。网络分层
3。3计算任务发布
PlatON在RELOAD基础上封装了计算任务分发协议,把计算任务通过P2P通讯分发给提供算力服务的计算节点。为保证计算的可靠性和性能,计算任务分发保持一定的冗余度,即同时分发给多个计算节点。
3。4安全多方计算协议
PlatON在RELOAD基础上封装了GC和OT的协议,以支持安全多方计算。安全多方计算中多个数据方通过SIP协议建立计算会话。
04:hr区块链服
区块链服务的节点使用RELOAD框架的消息传输组件进行交易数据的转发和区块数据的同步,以及共识过程中的点对点的通讯。
4。1区块链节点的加入
多个区块链可以同时运行在PlatON网络中,区块链在PlatON网络中也作为一种特殊的服务存在,节点选择加入指定的区块链时,需要使用服务发布方法将自己发布为指定区块链服务(服务名为指定区块链名称)的提供者。
客户端发起交易时可以使用服务发现方法根据区块链名称查找到指定区块链的节点,并向其发起区块链交易。网络分层
4。2交易数据的转发
利用RELOAD消息传输组件的快速广播能力,区块链交易能够迅速扩散到全网并打包到区块中。
4。3区块数据的同步
PlatON中,每个全节点都保持一份区块链的完整副本,区块经过共识后广播到整个RELOAD覆盖网络,各节点接收验证成功后保存到本地。
区块数据使用RELOAD消息组件的广播功能进行同步。
4。4可验证计算证明共识协议
Giskard共识算法中,基于计算贡献值加权权益选举出共识节点,该选举过程就是区块链交易。选举出来的多个共识节点通过异步BFT协议出块,异步BFT协议基于RELOAD协议实现。网络分层
别想打扰我学习原著小说叫什么别想打扰我学习剧情介现如今一个剧拍的好不好还得看和原著的还原度,电视剧《别想打扰我学习》也是根据小说改编而来,讲述了学霸女神南向晚梦回高中校园的故事,别想打扰我学习原著小说叫什么?下面带来介绍。……
绿松石盘玩变色的秘密绿松石的颜色呈现松绿色,绿松石在很多国家都有存在。下面,我们来看看绿松石盘玩变色有哪些原因吧。操作方法01:hr变色的原因绿松石中含有铜物质,该物质能够跟空气……
中老年性保健怎样才最有效年纪越大不代表性功能就会随之消失,只要你注意保养,性功能也一样可以保持的,那么中老年性保健怎样才最有效呢?下面就一起随本站小编来了解一下吧。进入老年期,老年人的性功能有了……
风华正茂是什么年龄详解风华正茂是指多少岁最近很多人都在说风华正茂这个成语,那么很多人有都知道,风华正茂其中有一层意思是指的这个年龄,那么这个风华正茂到底具体是指多少岁呢?又具体是指什么年龄呢?对于这个问题如果大家比较……
野外宿营地的选择在历时数天的野外旅行中,野外宿营是必不可少的,拥有一块好的宿营地将会使人得到良好的休息和集结供应。野外宿营地的选择要注意以下几点:近水营地要选择离水源近的地方,这样既能保……
海棠花什么时候开农历月到月一年只开一次花如今春天到了,正好是万物复苏的好时节,春暖花开,大地回春,到处都是一片生机勃勃的景象。就连人们期待许久的海棠花也开了,很多朋友们都不知道海棠花什么时候开,现在这个季节就正好是海……
原型技巧利用文本输入框做倒计时的效果偶然在网上搜索了一下利用axure做倒计时效果,但是看到的居然是利用动态面板一张一张叠起来,我脑补了一下60个数字叠在一个动态面板里的画面所以今天和大家交流一下我的制作思……
什么是物业税物业税如何征收什么是物业税?物业税如何征收?什么是物业税?何为物业税?以财产的价值为计税依据。依据国际惯例,物业税多属于地方税,是国家财政稳定而重要的来源。各国房地产保有税的名称……
罗非鱼稻田养殖的条件要求罗非鱼肉质鲜美,深受人们的喜爱,由于罗非鱼的市场需求量比较高,现在越来越多的人在稻田进行养殖,那么稻田养殖都需要哪些条件呢?下面就跟小编一起来看看罗非鱼稻田养殖的条件要求吧!……
还在忍受电脑风扇噪音的困扰吗这几个小很多朋友的电脑使用年限可能都很长了,对于这样的电脑,或多或少都会存在各种问题,比如电脑使用久了,它的机箱风扇可能会发出噪音,十分的烦人,这种噪音会影响到我们的使用效果,并且严重……
比尔盖茨管理日志之月日最要紧的是眼光人们常常要我解释微软的成功。他们想知道我们的公司从两个人、小本经营发展到一家拥有两万名雇员和年销售超过60亿美元的秘密。当然,不会有一个简单的答案,但运气是一个因素,然而我想最……
金盏菊金盏菊别称金盏菊又名金盏花、黄金盏、长生菊、醒酒花、常春花、金盏,为菊科金盏菊属植物,原产在南欧,是小型野生金盏花的改良品种。金盏菊的形态特征金盏菊为菊科、二……
黄玉石板有哪些功效真的黄玉石它是归于玉质资料的,它用手接触上去会有一种十分温润冰凉的感觉,而且这种温润冰凉之感会继续很久,不会快速被体温的热度掩盖。价格黄玉石它选用的人工资料是不会给人一种温润冰……
劳动纠纷调解注意事项随着我国市场经济的建立和发展,劳动者与用人单位利益目标上的冲突越来越明显,劳资矛盾呈现出居高不下的局面。那么,劳动纠纷调解注意事项是什么那?就让本站的小编和你一起去了解一下吧!……
自行车可以用汽车的自动补胎液吗补胎液作为一种液体,主要给车主提供应急使用的,在附近没有汽车维修店轮胎漏气的时候,给车主提供简单快捷的补胎方法,不仅不需要更换备胎,也不用使用千斤顶,在补胎的同时也在给轮胎充气……
母乳能够给宝宝最好的免疫力吗母乳能够给宝宝最好的免疫力吗?乳房之于女人,不仅是性的标志,更是爱的源泉。当孩子依偎在你的怀里,吮吸你的乳汁的时候,爱正在你和孩子之间流动。让我们来和这些母乳妈妈一起感受爱的力……
准妈妈如何科学使用眼药水孕妇在怀孕期间容易引起眼部疲劳、干涩、发炎和红痒等情况引起不适感,虽然眼药水进入体内浓度低,但仍有可能通过胎盘对胎儿造成一定的影响。那么准妈妈如何科学使用眼药水?准妈妈使……
危险品槽罐车如何维护保养罐车所运送的都是一些高危物品,危险货物具有爆炸、易燃、毒害、腐蚀和放射性等危险性,对人们的安全具有一定的潜伏危险,完成运输任务是一项技术性和专业性强的工作,那么危险品槽罐车如何……
孩子食欲差应该多吃哪食物辛、甘、苦、酸、咸是饮食的五种味道,也就是人们常说的五味,五味平衡,人才会健康。但是,现在宝宝摄取的咸、甜之味过多,与此同时也引发许多疾病,造成宝宝体质不佳,抵抗力下降,下面来……
夏天大米怎么放不生虫这个小妙招值得收藏夏天大米怎么放不生虫1、生石灰米缸里放点生石灰,主要作用是吸湿。生石灰会吸收水分来变成熟石灰,利用这个特性,把生石灰放在密封的坛子里,可以使坛子里保持干燥,这样的环……
严肃的问题一对年轻的男女坐在公园的一条长椅上,相互沉思地凝视着。过了好一会儿,姑娘对她的男友低声说:安古斯,如果告诉我你正在想什么,我就给你一个便士。小伙子答道:……
皖是哪个省的简称是安徽省的简称省会城市合肥车牌号中国有着九百六十多万平方公里的国土,为了管辖这片广袤的国土,我们将其划分为34个省级行政区,并且规定了这些省份的简称,其中皖是哪个省的简称呢?它是中国安徽省的简称,中国古代所说……
古代对食是什么意思太监和宫女的炮友用手和口对食是什么意思?很多人觉得没什么啊,不应该就是一起吃饭吗?当然不是,对食在古代就有了很多相关的记载了。我们都知道古代在皇宫里面有数不尽的宫女和太监,是人都有七情六欲,那么他们是……
情人节那天的趣事情人节那天,我约女朋友出去吃晚饭,晚上顺便开房。结果,我们很早就吃完饭了,天黑到宾馆一问,居然没有房间了。于是我和女朋友出了门,刚刚一出门,女朋友便对我说:我怎么感觉到这房子在……