IPFS0.5改进内容路由:更智能的路由表

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

IPFS的DHT表有两种:公共(Public)和本地(Local)。

当很多用户使用公开共享的DHT表去发现和广播内容时,它们中有一些是在被分割的网络中运作(比如在本地网络或孤立的VPN)的。

对这些用户而言,如果DHL表中的非公开节点只是客户模式就会很麻烦,因为这些节点无法被连接,用户无法与它们通信。

在这种情况下,我们设计了另一种DHT表,这种DHT表包括了一些不在公开网络(比如VPN、CJDNS、Yggdrasil)中的节点。

我们将这种DHT表称为LAN DHT,而将公开网络的DHT表称为WAN DHT。这两种DHT表使用不同命名的DHT协议(比如WAN DHT为/ipfs/kad/1.0.0,LAN DHT为/ipfs/lan/kad/1.0.0)以防止两种网络混在一起。

但如果用户不恰当地配置了他们的网络,则他们使用的非公开网络有可能混为一团。

WAN DHT和LAN DHT在实现细节上的不同主要表现在DHT表对对等节点接受标准的不同,即什么节点能被纳入路由表中,什么不能。WAN DHT的标准是“节点看上去是在公开网络中”,而LAN DHT的标准是“节点看上去不在公开网络中”。

WAN DHT表中的节点可以根据它们的工作状况从客户模式切换为服务器模式,但LAN DHT中的节点则永远只能是服务器模式(除非“dhtclient”选项被设置)。

路由表:

早前我们分享过:Kademlia网络中的每个对等节点都维系着与网络中其它若干节点的连接。它们的工作方式如下:

1.当我们连接一个对等节点时,要检查这个节点是否符合条件被加入到我们的路由表中。

- 保证对等节点处于服务器模式,并且广播DHT协议的ID符合标准(比如对WANDHT是/ipfs/kad/1.0.0,对LAN DHT是/ipfs/lan/kad/1.0.0)。

- 保证对点节点的IP地址是公共地址(比如公共DHT表中的每个成员至少有一个公共的IP地址而不是只有类似192.168.X.Y这样的地址)。

2.如果一个节点满足条件可以被加进路由表,接下来就要决定该节点在Kademlia地址空间中应该放在哪个“桶”(“bucket”)里(比如节点在2^7和2^8之间,其地址空间为2^256,则节点在路由表中就应该放在定义为256-8的桶里)。

3.将该节点放入路由表

- 如果路由表中节点应该被放置的“桶”没有满(即该“桶”中放入的节点少于20个)则将该节点放入此桶中。

- 如果该桶已经满了则我们要检查这些节点中是否有可被替换出来的。如果有,就将可替换的节点拿出来,把新节点加入。如果没有,就放弃这个桶。

4.如果我们向路由表中的节点发出咨询请求但得不到回应,则把该节点从表中拿走。

- 注意:每次刷新后,我们都要遍历整个路由表并向最近没有通信过的节点发出咨询请求以检查它们是否仍然在线、可被连接。一旦发现某节点掉线不再可被连接,则把它从表中删除。

此外,为了保证路由表的准确,我们会每隔一段时间刷新它。对路由表刷新频率的计算基于一系列参数如“桶”的大小等。

我们可以增加刷新的频率,但它有个下限。对IPFS而言,其下限频率为每10分钟刷新一次。

参考链接:[https://blog.ipfs.io/2020-07-20-dht-deep-dive/](https://blog.ipfs.io/2020-07-20-dht-deep-dive/)

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/63267.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年08月18日
下一篇 2023年08月18日

相关推荐

  • 比原链节点竞选多少币,区块链竞选是什么意思啊

    一、“炒币”内幕有哪些“佛系炒币躺着赚20万!”“2天赚13万只是睡一觉的事情!”“币圈让我的100万本金快赔光了!……美少女博士教你正确的抄底姿势!”“韭菜心经,战胜庄家的必备心法!”……一搜炒币日记四个字,各类绝招、秘籍泛滥成灾。猛一听,人们还以为说的是A股。事实上

    2024-11-21 19:00:01
    5 0
  • 什么是区块链种子节点,区块链节点是什么通俗解释

    一、区块链节点具体是什么(区块链的节点是什么意思)什么是完整区块链节点?包含完整区块链、网络路由节点,只用来同步区块,参与验证,维持与对等节点的连接。区块链技术上的节点是什么?一个区块不等于一个节点:一个节点实际上就是一台接入区块链的计算机(服务器),任何联

    2024-11-19 13:30:01
    7 0
  • 以太坊节点多久更新,以太坊节点

    以太坊节点***全节点***轻节点***归档节点以太坊节点的多样性和角色在区块链网络中起着关键作用。主要有全节点、轻节点和归档节点三种类型。全节点是网络中的基石,拥有完整的区块链数据,确保交易验证和区块链同步,确保去中心化系统的安全。轻节点则是轻量级的选择,存储最

    2024-11-18 16:00:01
    6 0
  • 比特币全节点是什么,比特币节点是什么

    一、什么叫比特币,通俗一点比特币是一种网络虚拟货币,跟腾讯公司的Q币类似,你可以使用比特币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比特币购买现实生活当中的物品。P2P的去中心化特性与算法本身可以确保无法通过大量制造比

    2024-11-15 05:00:02
    12 0
  • 星火节点是什么,星火链网是干什么

    一、星火链网是干什么“星火链网”是以产业数字化转型工业互联网作为主要的应用场景来推动,同时以网络标识或者是数字身份这种数字化的资源为突破口,利用区块链的技术能力两者结合形成了一个基础设施,具备了区块链分布式的,可以实现数据交易交换的能力。同时又可以为工业互

    2024-11-14 21:30:01
    12 0
  • 什么是出块节点,节点是指什么

    一、模块***节点是指什么你好,模块(module)系指由复数个具基础功能之组件,组件组成之具特定功能之组件,该组件用以组成具完整功能之系统、设备或程序。节点就是指能上网的设备。节点控制模块(node control module)主要完成总线通信以及对控制模块发出指令的功能。模块的

    2024-11-13 15:30:01
    13 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载