区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > SHIB > 正文

HAT:技术 | IPFS网络是如何组建的?_CAL

作者:

时间:

回顾

IPFS-InterPlanetaryFileSystem星际文件系统,是一个点对点的分布式文件存储系统,IPFS的愿景是构建一个全世界的分布式网络,用来替代传统中心化的服务器模式,所有的IPFS节点组成一个分布式网络,每个节点都可以存储文件,用户可以从IPFS构建的网络中以DHT(DistributedHashTable,分布式哈希表)?的方式获取文件,从而实现了新一代的完全去中心化的网络,旨在取代现有的万维网。IPFS功能很丰富,如DHT组网,文件存储,Bitswap文件交换等功能。

文件存储和文件交换的技术详解可以通过之前的推文内容进行了解,今天我们来了解这个文件系统的“地基”——网络模块。

IPFS网络初识

IPFS是一个开源项目,要达到它声称的构建一个全世界的分布式网络的目标,那么他必然要先解决不同国家、不同地区节点的连接问题。

教育部学校规划中心:利用区块链等技术 推动人力资本定价体系的建立:4月9日,由教育部学校规划建设发展中心在京发布《“未来路线图”实验学校发展指南1.0》。会议指出,要以大数据测量评价中心作为基础,基于数智时代培养人才的需求,利用人工智能、大数据和区块链等新技术,重构测量评价体系,全过程、全要素记录学习者德智体美劳各方面的数据信息,从而为学习者全面发展和个性化需求提供大数据保障,提升综合素质评价的科学性,建立科学全面可信的教育评价体系,进而推动人力资本定价体系的建立。(科技日报)[2020/4/10]

首先,看一下IPFS网络部分配置,如下图所示,红框内部的Swarm是IPFS监听的网络地址,其中支持ipv4和ipv6协议,且默认支持QUIC协议。

*QUIC协议是由google最先提出的,目前已经提交给互联网工程任务小组,成为了正式的网络规范,相对于TCP来说QUIC网络传输协议的传输速度更快。

通化县法院采用区块链智能合约技术 实现执行“一键立案”:3月16日消息,通化县法院采用区块链智能合约技术,实现执行“一键立案”。2019年末,通化县法院成为吉林省法院系统首批审执衔接工作试点单位,探索以区块链智能合约技术为依托,以调解结案为切入点,逐步推行审执工作自动衔接。在区块链智能合约嵌入调解书案件中,作为当事人需要进行的操作只有一步:点击“未履行完毕”按钮,即可跳过后续繁复程序直接完成执行立案,后台将通过区块链智能合约技术自动生成执行申请书、抓取当事人信息、抓取执行依据、自动执行立案等。(新浪网)[2020/3/16]

IPFS节点启动之后日志如下图所示,可以看到IPFS节点监听了以下网络地址,其中包括本地的、局域网、广域网的地址,最后还有/p2p-circuit地址。

声音 | 贵州省省长:运用区块链等新技术 推动数字经济与实体经济的深度融合:1月15日消息,贵州省第十三届人民代表大会第三次会议在贵州举行。贵州省人民政府省长谌贻琴在作该省政府工作报告时要求,进一步推动数字经济与实体经济深度融合。坚持“四个强化”“四个融合”,充分运用大数据、云计算、区块链、人工智能、物联网等新一代信息技术,提升产业数字化、网络化、智能化水平。(上证报)[2020/1/15]

问题来了,为什么需要监听这么多地址?

那是因为IPFS是一个开源项目,为了让全世界各地的节点连接起来则必须要解决各种网络情况下节点连接的问题。

监听本地地址,这样本地启动多个IPFS节点,它们之间可以以该地址进行连接,监听局域网地址,这样内网内启动多个IPFS节点,它们之间可以以该局域网地址相互连接,监听广域网地址,这样公网中启动多个IPFS节点,它们之间可以以该广域网地址进行连接。

动态 | 精准信息:不开发区块链底层技术 目前主要是代维支付方面:据财联社消息,6连板的精准信息回复深交所关注函称,公司区块链业务主要方向是基于区块链技术开发在行业客户的应用平台,不开发底层技术,目前主要是代维支付方面,属于私有链范畴,因此要求既要了解区块链技术又要对客户运营模式熟悉,这是未来需要竞争的方面。[2019/4/7]

通过上述方式就解决了大部分网络情况下的IPFS节点的网络连接问题:

2个节点都在同一主机:通过127.0.0.1地址连接

2个节点在同一个内网内:通过局域网地址连接

2个节点都有公网地址:通过公网地址连接

1个节点在内网,1个节点在公网:内网的节点通过在公网节点的公网地址连接

这里有一个问题,如果2个节点处于两个不同内网环境,由于存在NAT设备,NAT设备可能是对称型,对称型的NAT设备是没有办法穿透的,所以IPFS提供了relay的方式解决不同内网环境下节点的连接问题,上面提到的监听/p2p-circuit地址则是为了解决该问题,对于2个处于不同内网环境不能直接连接的节点,通过配置relay节点中转从而建立连接。

声音 | 粤港澳大湾区研究中心副秘书长:未来将运用区块链技术 推动数据库的深度开发:据大公网消息,粤港澳大湾区博士后科技创新(南沙)公共研究中心今日正式揭牌,该研究中心副秘书长林津表示,目前中心正在建立科研设备有偿共享库,未来将运用区块链技术,完善数据管理和使用,推动数据库的深度开发,为粤港澳大湾区科技创新提供支持。[2019/1/23]

至此,IPFS解决了不同网络环境下的节点之间建立连接的问题,下面我们来看一下IPFS是如何构建大规模的分布式节点网络,将处于全世界的不同地区的各个节点连接起来的。

IPFS网络构建

IPFS网络构建的过程可以看作是两个阶段:

▲?Bootstrap阶段

IPFS节点在启动之前需要配置它的Bootstrap节点,配置文件中相关配置如下图所示,Bootstrap配置中配置了IPFS节点启动时需要连接的所有种子节点列表,这些节点地址列表信息是默认的,如果需要搭建IPFS私有网络可以修改成自己的种子节点列表。默认提供的种子节点都是具有公网地址的节点,IPFS节点启动的时候首先连接该种子节点,后续通过该种子节点去发现IPFS网络中更多的节点,从而进行连接,也就是DHT组网阶段。

▲?DHT组网阶段

IPFS节点连接种子节点成功以后则去通过DHT去发现其他节点,关于DHT的详解可以看这篇文章《Libp2p中DHT和Bitswap详解》。

发现其他节点之后则尝试进行连接,连接成功的节点会加入到该节点的节点列表,以便后续可以直接与该节点通信,考虑到全世界的IPFS节点规模很大,不可能每个节点和其他节点保持长连接,所以对每个节点的连接数量做了限制,一般节点连接数量都在1千以下,对于没有连接的节点需要通信的话,可以通过DHT找到该节点地址,然后连接该节点进行通信,这样就构成了大规模的分布式节点网络。

我们可以通过一个示例展示上述过程。下图是一个常见的网络拓扑架构,有三个网络分别连接了Internet,IPFSnode1部署在具有公网ip的服务器上,外部可以直接访问该节点,IPFSnode2和IPFSnode3都部署在对称型NAT设备后面,外部不能访问该节点。

在上面的网络架构下,处于公网的IPFSnode1作为种子节点,种子节点最先启动,然后IPFSnode2,node3,node4,node5的种子节点配置成IPFSnode1,分别启动后首先连接IPFSnode1,连接成功后通过DHT发现其他节点最后分别连接,对于IPFSnode1,它连接的节点地址列表如下图所示,由于IPFSnode2,node3,node4,node5均处于NAT设备后面,所以IPFSnode1节点列表中这些节点的端口都是NAT设备映射后的端口。

对于IPFSnode3来说,它的节点地址列表中,IPFSnode1的地址是公网地址,由于IPFSnode3和IPFSnode2都处于NAT设备后面,不能直接连接,所以IPFSnode2的地址是relay地址,IPFSnode1节点作为relay节点,IPFSnode3给IPFSnode2发消息时通过IPFSnode1转发,relay地址格式为:

Relay节点的地址/p2p-circuit/p2p/目标节点id

而IPFSnode3的节点地址列表中,IPFSnode4和IPFSnode5的地址均为局域网地址,这样就完成了公网节点、处于NAT设备后的局域网节点的组网过程。

总结

以上就是IPFS网络的组建过程,为了方便描述只是以几个IPFS节点为例。

实际上IPFS的这种网络组建方式也能很好地支持超大规模节点的组网,当节点规模很大的时候,设置数十个节点作为种子节点,通过DHT组网就能完成数万甚至更多节点的组网,此时每个节点的长连接数量保持在数百个,后续节点间通信时,如果还没有建立连接,可以通过DHT根据节点id查询该节点的地址信息,然后通过该地址连接该节点最后完成通信过程。

IPFS网络的这种组建方式也非常值得分布式系统学习和借鉴。

作者简介

姚文豪来自数据网格实验室BitXMesh团队数据平台架构师

标签:ANDHATSTOCALWandXhathor币钱包STOR价格ethicaltea

SHIB热门资讯
比特币:金色荐读 | 这几款小众交易工具 值得 DEX 交易员收藏_DEXFLOW

金色荐读|这几款小众交易工具值得DEX交易员收藏 金色荐读 刚刚 522 近期Uniswap等DEX引起广泛关注,且代币价格不断攀升。本文介绍一些交易工具,欢迎大家收藏.

EFI:DeFi + NFT 会碰撞出怎样的花火_Hurricane NFT

原标题:NFT是否比DeFi更具发展前景?NFT无疑是区块链领域的热点之一,而DeFi的不断发展又带了DeFi+NFT的新玩法.

NFT:以太坊矿工1月收入历史新高 EIP-1559利好屯币牺牲矿工 新入场需谨慎_World of Defish

实施已是必然,币价将上涨,有利囤币老矿工,但不利于新矿工。数据显示,受币价大涨影响,1月份以太坊矿工收入达到历史新高.

WAS:马斯克 Clubhouse 直播全程回顾(附英文全文)_STO

当下最热门的App是哪个?估计不少会说Clubhouse,这个App目前估值达到10亿美元,在不到一年的时间里就成为独角兽.

数字货币:Visa首席执行官认同比特币是数字黄金 愿意与交易所合作_加密货币指什么

美国跨国金融服务公司Visa的首席执行官AlfredKelly最近就类似于比特币的加密货币发表了一些值得注意的评论.

比特币:知名加密分析师称,2025年比特币有望达到10亿用户_SBECOM价格

比特币的崛起似乎无法阻挡。比特币创立至今已有十多年的时间,其面值最高已超过4万美元,目前正被类似PayPal和CashApp等大型金融平台所接受,并且比以往任何时候都更加的易于被大众所拥有.