收藏 分销(赏)

基于信息中心网络的增强型IPFS系统设计.pdf

上传人:自信****多点 文档编号:640207 上传时间:2024-01-22 格式:PDF 页数:11 大小:3.98MB
下载 相关 举报
基于信息中心网络的增强型IPFS系统设计.pdf_第1页
第1页 / 共11页
基于信息中心网络的增强型IPFS系统设计.pdf_第2页
第2页 / 共11页
基于信息中心网络的增强型IPFS系统设计.pdf_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 12 卷第 4 期2023 年 7 月网络新媒体技术Vol.12 No.4Jul.2023实用技术基于信息中心网络的增强型 IPFS 系统设计曾瑞彬 尤佳莉 李 杨 周雨菲(中国科学院声学研究所国家网络新媒体工程技术研究中心北京 100190中国科学院大学北京 100049)摘要:星际文件系统(IPFS)作为一种新兴的分布式文件系统,因其优秀的分布式特性而被许多研究人员所关注。然而,IPFS系统面临着基于分布式哈希表(DHT)的路由方式无法实现局部信息快速检索,以及 Bitswap 机制导致的链路资源利用不合理等问题,这些问题严重影响着 IPFS 系统的交付性能。而信息中心网络(ICN)作

2、为未来网络的代表,其数据具有全局唯一标识和网内缓存,通过名字解析服务实现基于标识的数据的快速定位和交付。本文提出了一种基于 ICN 的增强 IPFS 系统,该系统既保持分布式的特点,同时还利用 ICN 特性实现数据的快速交付。通过实验表明,相比于 IPFS 原系统,本文设计的增强 IPFS系统在下载速率与带宽利用率方面更具优势。关键词:星际文件系统,信息中心网络,名字解析服务,标识,交付性能DOI:10.20064/ki.2095-347X.2023.04.008Enhanced IPFS System Design Based on Information Center NetworkZEN

3、G Ruibin,YOU Jiali,LI Yang,ZHOU Yufei(National Network New Media Engineering Research Center,Institute of Acoustics,Chinese Academy of Sciences,Beijing,100190,China,University of Chinese Academy of Science,Beijing,100049,China)Abstract:The Interplanetary File System(IPFS),as an emerging distributed

4、file system,has been noticed by many researchers for itsexcellent distributed features.However,the IPFS system faces the problems that the routing method based on Distributed Hash Table(DHT)cannot achieve fast retrieval of local information and unreasonable utilization of link resources caused by Bi

5、tswap mechanism,which seriously affect the delivery performance of the IPFS system.The Information Centric Networking(ICN),as a representative ofthe future network,has a globally unique identifier for data and an in-network cache to enable fast location and delivery of identifier-based data through

6、name resolution services.In this paper,we propose an enhanced IPFS system based on ICN,which maintains thecharacteristics of distributed and enables fast data delivery using ICN features.Experiments show that the system designed in this paperis more advantageous in terms of download throughput and b

7、andwidth utilization than traditional IPFS.Keywords:IPFS,ICN,name resolution services,identifier,delivery performance本文于 2022-09-16 收到,2022-09-27 收到修改稿。中国科学院 C 类战略性科技先导专项课题:SEANET 技术标准化研究与系统研制(编号:XDC02070100)。0引言随着 5G 技术与互联网技术的发展,网络中数据的分布更加分散与碎片化,通过客户端/服务器(Client/Server,C/S)架构进行数据管理的模式已经难以满足人们对于数据交付

8、高质量的要求。星际文件系统(TheInterplanetary File System,IPFS)是由乔本贝内特提出的一种具有分布式哈希表(Distributed Hash Table,DHT)、块交换、版本控制技术、自认证系统特点的新型分布式文件系统1。它旨在取代现有基于地址的传4 期曾瑞彬 等:基于信息中心网络的增强型 IPFS 系统设计输协议 超文本传输协议(Hyper Text Transfer Protocol,HTTP),有助于网络能够从对等节点获取数据,而无需与服务提供商的服务器建立联系,打破现有的 C/S 架构模式2,3。但是与基于 C/S 架构的系统相比,IPFS 系统的性能

9、还有很大差距。IPFS 系统通过 DHT 作为底层的路由系统(例如 Kademlia4),并依赖 Bitswap 协议5完成对等点之间的数据交付。虽然,这些技术能够有效地帮助节点在分布式网络中进行数据检索,但是这也导致了 IPFS 系统在数据解析时延方面存在极大的抖动。在面对大文件检索时,一次请求可能需要进行多次的 DHT 寻址,以及大量的重复数据块交换,这些问题导致 IPFS 系统的性能远不及传统的 C/S 架构的文件系统。因此,如何帮助 IPFS 系统实现数据的快速检索与交付对于 IPFS 系统发展而言至关重要。信息中心网络(Information Centric Networking,I

10、CN)作为一种新型的未来网络架构,利用具有全局唯一性的标识符表示数据和网络节点的缓存能力,并结合名称解析服务实现数据的快速定位,淡化了 IP 作用,IP地址在 ICN 中作为一种底层的、本地化的传输标识6。ICN 网络节点除了具备路由和转发等基础功能外,还具备存储、缓存和计算等能力,支持在中间节点上部署更多的功能。同时能够支持新型的标识符协议(Iden-tifier Protocol,IDP)7,具备就近获取、多源传输、随路缓存的能力。因此,基于 ICN 网络部署 IPFS 系统后,一方面,ICN 作为底层的网络,可以利用解析服务系统来协助IPFS 系统的数据解析流程,从而提高数据检索的命中率

11、,降低 DHT 所带来的解析时延。另一方面,采用新型标识符协议的就近获取、多源传输、随路缓存特征来提高 IPFS 系统的链路资源利用率,实现数据的快速交付。本文基于 ICN 与 IPFS 系统,设计了一种高性能的增强 IPFS 系统。其中的主要工作如下:阐述了增强IPFS 系统的设计思想,通过通信模块帮助 IPFS 系统完成 ICN 功能的接口的调用;详细描述了 IPFS 原系统与增强 IPFS 系统的读写操作流程的对比;在局域网中验证了增强 IPFS 系统的可行性。最终实验结果表明,相比于 IPFS 原系统,虽然增强 IPFS 系统在数据写入时引入了可容忍的解析注册时延,但在下载速率方面提升

12、了 300%,并且能够利用 ICN 网络层的副本选择机制实现合理的带宽资源利用。并通过视频播放应用程序测试验证,增强 IPFS 系统使缓冲事件发生数降低了 84%。1相关技术IPFS 本质上是一种内容可寻址、版本化、点对点超媒体的分布式存储系统以及传输协议。以其优秀的分布式存储特性,已经被成功应用于区块链存储8,9、物联网10,11以及网络计算12,13等领域,但是 IPFS 系统在性能方面还与经典架构存在较大的差距。IPFS 系统采用 DHT 的路由寻址方式,并配合 Bitswap 协议完成数据交付,但是这 2 种机制的引入,也给IPFS 系统带来了新的问题。虽然目前有许多高效的 DHT 路

13、由算法,但是依旧不可避免的在数据的解析与交付上增加了一个与访问内容所需的路由跳数成比例的因子14。为了进一步提高数据在 IPFS 系统中的解析成功率,降低数据获取时延,协议实验室为 IPFS 系统设计了 Bitswap 协议,主要通过构建对等点列表并配合评分机制,来帮助请求者共同完成数据的检索过程。当数据的请求者向 IPFS 系统发起数据解析请求时,IPFS 系统会优先向自身的对等点列表中评分数据较高的节点集合发送需要解析的内容标识(Content Identi-fier,CID)信息。如果对等点拥有请求数据,则将 CID 对应的数据块信息发送给请求者,反之则将其记录下来,等到接收到该数据块再

14、将数据发送给请求者。因此 Bitswap 协议泛洪的向多节点发送解析请求,导致IPFS 系统面临数据块重复交付的问题,这些重复交付的数据块,将占据请求者的大量链路带宽资源。DHT的路由机制与 Bitswap 协议在 IPFS 系统中是协同工作的,节点首先依赖 Bitswap 协议进行数据检索,当检索时间超过 1 s 后15,仍未接收到数据,则再进行 DHT 路由寻址,二者共同维持着 IPFS 系统的分布式特性,因此如何优化 IPFS 系统现有的解析与交付方式是改进 IPFS 系统性能的重要研究方向。Shen 等人从多角度分析了 IPFS 与 HTTP 协议,明确指出 IPFS 在解析与下载方面

15、依旧存在巨大的性能95网络新媒体技术2023 年瓶颈16。但是在面对过量的吞吐量时,HTTP 集中式的架构会严重拖垮其性能,而 IPFS 的表现更具备优势17。此外,Abdullah 等人的研究指出,在私有网络中 IPFS 系统的性能不如传统的 C/S 架构好18。因此IPFS 系统需要进一步的改进其性能,才能够接近它所提出的愿景。然而 IPFS 系统是基于传统的 IP 网络的覆盖网络,因此 IPFS 系统其本质上依旧是以端点 IP 为核心的应用层协议,仅限于应用层的解析机制与单播通信19。相比之下,ICN 中的网络设备所拥有的缓存、命名寻址、地址后绑定以及标识符协议等特征,能够从网络层给 I

16、PFS 的系统性能带来提升。为了进一步提高 IPFS 系统的性能,Onur Ascigil 等人利用命名数据网络(Named Data Networking,NDN)与 IPFS 系统结合构建了一个分布式的信息检索系统,降低了 IPFS 系统在数据交付时产生的冗余数据包问题,优化了 IPFS 节点的带宽资源19。他们的研究证明了从网络层改善 IPFS 系统性能是可行的。但是,NDN 采用层次化命名方式以及基于名称的路由方法,将路由与解析服务耦合到一起,通过泛洪的方式完成数据的检索与交付。这种方法需要的流量代价过高,并且解析时延不稳定20,因此也不适用于 IPFS 网络中大型文件的查找。相比于

17、NDN,ICN 中有部分支持扁平化命名方式与独立名称解析方法的经典案例,例如 Mobility-First21,SEANet7等。其中的网络节点的 ID 信息采用非对称加密技术生成,这与 IPFS 系统的 ID 生成方式一致,仅在哈希算法的选择上存在差异。在此类网络中的解析路由机制主要有 2 个步骤:通过独立的解析系统查找 ID 所对应的位置标识符(如 IP 地址信息);通过位置标识符进行数据路由传输。扁平化解析方式将解析与路由解耦可以减少在数据检索过程中所产生的流量,并且当前有的 ICN(例如 SEANet)采用现场解析系统7,保证了时延,为进一步优化 IPFS 系统解析时延提供可能。现场名

18、字映射和解析系统(Local Name Mapping and Resolution System,LNMRS)是一个部署于边缘的基于服务等级的层次型结构的分布式自治系统,主要为网络距离较近的用户提供即时解析服务7。所有的ICN 网络节点在获取到数据后,都向现场 LNMRS 进行注册操作,因此对于同个解析域内的数据请求者,能够实现“一跳解析”。即增强 IPFS 系统向 LNMRS 发起解析请求,而 LNMRS 将解析域内拥有数据的节点 IP 地址返回给请求者。请求者可依据特定的策略选择合适的节点,主动与数据源节点建立传输通道,而不像Bitswap 协议一样,通过泛洪机制被动地接收多个节点返回的

19、数据,也无需同 DHT 路由机制一般,引入与路由跳数相关的因子。此外,这些支持扁平化命名的 ICN 架构都设计了支持地址后向绑定底层标识符传输协议。在面对节点频繁加入与退出的分布式网络中,传统 IP 网络中的传输协议,在节点下线后,将导致数据传输失败。在近期的 IPFS 系统相关网络分析中指出,IPFS 系统的可靠节点仅为 1.4%15,因此支持地址后向绑定的 ICN 新型协议,能够利用网络的存储能力与解析服务系统,在节点退出 IPFS 网络后,将数据包迁移至新的数据源,保证数据的可靠传输。目前,虽然已经有研究证明了从网络层提升 IPFS 系统性能的可行性,但都是基于仿真平台的模拟实验,未能提

20、出一种具备 ICN 网络特征的增强型 IPFS 系统的设计架构。本文基于 IPFS 原系统提出了一种可行的增强系统设计架构。该架构能够合理地将 IPFS 原系统应用层路由与 ICN 的网络层内容寻址方式相结合,使得 ICN 能够帮助 IPFS 系统进行高效的数据交付,并在局域网内验证了设计的增强型 IPFS 系统的性能与功能。2IPFS 系统设计与实现目前,IPFST 系统的应用程序有 GOIPFS 版本与 JSIPFS 版本,分别为采用 Go 语言研发的版本以及 Node-js 语言研发的版本。在设计上,我们基于 JSIPFS 作为研发的框架。由于 IPFS 系统的项目研发具有高度解耦的特性

21、,许多模块的研究与开发都是相互独立的,例如:星际链接数据(InterPlanetary Linked Data,IPLD)、Bitswap、P2P 库(Library of P2P,Libp2p)等,因此为 IPFS 系统与 ICN 二者的结合提供了许多便利。IPFS 系064 期曾瑞彬 等:基于信息中心网络的增强型 IPFS 系统设计图 1增强 IPFS 系统设计架构图统负责提供上层的对外接口,而 ICN 协同底层的内容寻址、传输协议、数据交付等。此外,为了保证研发的增强 IPFS 系统与 IPFS 原系统依旧能够保持通信,所以我们在功能研发与模块设计时需要注意传统系统与增强系统之间的兼容性

22、。增强 IPFS 系统的设计是基于具有分布式 LN-MRS 与支持数据包重构的新型标识符协议的 ICN 架构-SEANet7。它支持兼容现有的 IP 网络,因此基于此类 ICN 架构,能够降低部署代价,同时保证了增强 IPFS 系统与现有的基于 IP 网络的 IPFS 系统实现兼容。图 1 为增强 IPFS 系统的设计架构,其主要由IPFS 原系统模块、通信模块以及 ICN 功能模块组成。2.1系统架构2.1.1IPFS 原系统IPFS 原系统与增强 IPFS 系统在网络中是共存的,增强 IPFS 系统应当支持与 IPFS 原系统进行交互的能力,实现与 IPFS 系统的现有应用无缝衔接。因此增

23、强 IPFS 系统的主体是基于 IPFS 原系统进行设计,并在 IPFS 原系统的相关工作逻辑处,调用相关的增强接口,从而实现性能的提升。增强 IPFS 系统拥有与 IPFS 原系统相同的对上接口,能够为相关 IPFS系统应用提供支撑,同时在 IPFS 原系统的网络层与交换层利用新模块提供的接口,实现系统能力的增强。其中,IPFS 原系统主要的代码架构模块说明如下:ipfs-cli:封装了 IPFS 系统的对外命令行界面,其中包括 add、get、block 等;ipfs-core:是相关指令的核心逻辑的实现入口;ipfs-unixfs:由 exporter 和 importer 2 个模块组

24、成,其中 exporter 主要是导出包含有数据 CID、Link 列表以及内容信息的一个 Merkle 树结构的 DAG 节点实例,而 importer 主要是用于生成上述实例;ipfs-block-service:提供了块级别的添加、获取、删除等应用编程接口,由 ipfs-repo 提供支持;ipfs-repo:是关于 IPFS 系统数据存储库的相关具体实现;ipfs-bitswap:Bitswap 是 IPFS 系统使用的“数据交换”协议,该模块是其核心的逻辑实现代码;ipfs-datastore:封装了数据存储库底层对数据的操作接口;libp2p:libp2p 是一个“网络堆栈”,该模

25、块封装了 IPFS 系统底层传输所需要的路由传输协议。同时这个模块与 IPFS 系统是分离的,支持其他项目使用。2.1.2通信模块通信模块作为增强 IPFS 系统的特有模块,主要是作为 IPFS 原系统调用 ICN 功能的中间件,并对外提供接口供 IPFS 原系统中的相关模块调用。主要分为内部通信模块与外部通信模块。内部通信模块主要是通过系列接口实现 IPFS 系统程序对 ICN 功能的调用,其中包括解析、注册、数据管理等多个接口。IPFS 系统与 ICN 的相关系统之间通过建立 Socket 通道实现远程过程调用(Remote Proce-dure Call,RPC)通信,通过发送对应的报文

26、字段,完成 IPFS 系统对 ICN 网络功能的调用。外部通信模块主要是实现增强系统之间的信息通信,主要由监听接口与通知接口构成。ICN 节点相比于传统的私人 IPFS 节点,能够提供数据面的存储能力。通过网内的资源节点为用户提供稳定的存储能力,16网络新媒体技术2023 年基于传统的 IPFS 结构,在增强 IPFS 系统上引入了存储接口,其中存储接口逻辑是基于拉模式22。当用户需要向网内存储数据时,首先通过与 IPFS 系统写操作相同的处理流程,将数据切分成数据块,放至本地数据库。增强 IPFS 系统会通过一定机制选择合适的存储节点,向存储节点通信模块的监听组件发送拉取报文。对等的存储节点

27、接收到拉取报文后,通过调用 IDP 接口完成数据的拉取。2.1.3ICN 功能模块增强 IPFS 系统部署在 ICN 节点上,并通过相关接口调用网络的功能,为 IPFS 系统增加了如下特征。(1)支持分布式现场名称解析系统。在 IPFS 系统中,节点使用 DHT 与 Bitswap 进行数据检索,不仅导致解析时延不稳定,同时在数据交付时,会产生大量冗余数据包。而我们采用的是具有确定性时延的分布式现场名称解析系统的 ICN 网络,每个 ICN 节点都被划分到一个解析域内,并通过解析域内的解析节点实现标识符的快速定位,而且节点本身无需存储这些索引信息7。(2)支持内置多源选择策略。由于网络中有多个

28、数据存储副本,并且每个数据副本的链路负载、时延、吞吐量等因素不相同,需要选择合适的数据源完成数据交付。在 ICN 中,底层网络设备能够被赋予多种副本选择策略23。而在本文的设计中,采用了较为朴素的策略,即在建立交付通道之前,通过发送测量报文,来选择合适的副本。(3)支持缓存。缓存是 ICN 网络具备的核心特性24,虽然 IPFS 系统也具备缓存功能,但主要是在应用层进行缓存。此外,IPFS 节点所有下载过的数据都会在本地数据库中缓存一段时间,主要与缓存的生存时间以及缓存空间相关。IPFS 系统的缓存是通过用户下载操作所附带的,而 ICN 网络中的缓存是路由节点自身具备的。我们通过利用生成 IP

29、FS 内容标识(Content Identifier,CID)的哈希函数应用到缓存数据上,通过解析系统,检索到路由节点上的缓存数据,完成数据交付。2.2系统接口说明2.2.1监听/通知接口监听/通知接口主要负责增强 IPFS 系统之间的信息通信,实现协同工作。监听/通知接口时相对于 IPFS原系统是独立的接口,主要服务于增强 IPFS 系统的新服务,如存储服务等。监听接口是在增强 IPFS 系统开启守护进程时同时开启的,因此需要在 IPFS 系统的接口层中进行调用,而通知接口是根据系统需求进行调用的,二者的主要代码于通信模块中的外部模块中实现。监听接口利用报文中携带的标识符判定通知接口的服务需

30、求,并采取不同的解析方式,将报文中的信息提取出来,进行协同服务实现,如存储服务、资源选择策略等。2.2.2注册/解析接口注册接口主要功能为在数据入网时,向增强型解析服务系统注册相关 CID 与 IP 地址的对应信息,而解析接口负责访问解析服务系统,帮助请求者实现 CID 对应数据资源的快速定位。前者在 ipfs-unixfs 的导入(importer)模块中调用,而后者主要在导出(exporter)模块中调用。在增强 IPFS 系统中,在数据入网时采用注册操作,是为了帮助请求者在数据获取过程中,配合 ICN 的 LNMRS 实现数据的快速定位。传统的 IPFS 系统解析依赖于 DHT 机制与

31、Bitswap 协议实现数据定位,故在性能上存在瓶颈16。而本文所涉及的 ICN 是具有独立的增强解析服务系统,能够为数据请求者提供低时延的解析服务,提高系统在解析能力方面的性能。2.2.3数据管理接口数据管理接口主要负责管理系统中的不同类型的数据,例如:缓存数据与长期存储数据等。该接口主要在 IPFS 系统的数据存储模块 ipfs-datastore 中进行调用,由于 IPFS 系统的所有数据都将通过该模块进行操作,因此,通过将数据管理接口与该模块的结合,能够为不同类型的数据提供特定的操作逻辑。增强 IPFS系统为不同类型的数据,提供了不同路径的数据管理库,并且在 IPFS 系统的不同类型数

32、据之间提供校验能264 期曾瑞彬 等:基于信息中心网络的增强型 IPFS 系统设计力,如避免缓存长期存储的 IPFS 数据。同时 ICN 节点作为网络的路由节点,承载着各类不同系统的数据,不同系统之间的编码方式也存在差异。数据管理接口能够根据数据的 ID 信息,验证是否符合 IPFS 系统的数据 CID,将 IPFS 数据与其他系统数据区分。2.2.4IDP 接口标识符协议传输接口主要是用于调用支持数据包重构的新型标识符传输协议,实现请求节点与网络内资源节点之间的数据快速传输。libp2p 模块封装了 IPFS 系统所需的所有路由传输协议,因此将标识符协议封装到该模块中,2 个增强 IPFS

33、对等点之间就能通过直接调用实现直接通信。IDP 主要是用于增强 IPFS 系统之间的数据传输,例如数据存储时的数据拉取。2.3基本操作2.3.1增强 IPFS 系统的读操作流程图 2 为 IPFS 原系统与增强 IPFS 系统读操作的流程示意图。虽然最终面向用户的数据是完整的,但是在读操作过程中是通过获取完整数据最初存储在网内的数据块,最后通过拼接获得的。在 IPFS 原系统中,获取一个文件,需要知道它所对应的 CID 名称,当该 CID 对应的文件 size 属性大于或等于 256 KB 时,则该CID 文件块包含源文件的数据信息,如果文件块小于 256 KB,则该 CID 文件块包含为一些

34、描述性信息以及该源文件被切分后对应的子块的 CID 索引。因此可以通过遍历方式,依次根据根节点的文件块,获取其他link 所指向的文件块。图 2IPFS 原系统与增强 IPFS 系统读操作流程图在通过 CID 获取文件块的情况下,IPFS 原系统首先会在本地数据库中查找,当本地拥有数据,则系统将CID 对应的数据信息返回。如果本地查找失败,则需要判定节点是否在线,如果节点没有在线,则本次检索失败,如果节点在线,则向网内发送所需文件块的信息。在特定时间内未查找到数据,则退出获取程序。如果成功从网内获取数据后,则将数据存储在本地数据库中,然后再调用本地获取接口,最终返回获取的 CID数据块。而在

35、IPFS 原系统的获取机制的上层程序,通过流式读取的方式,不断的读取回来的块文件数据,进行处36网络新媒体技术2023 年理,最终获得完整的所需文件。而增强 IPFS 系统接收到读操作指令后,首先是通过利用解析接口向 ICN 中的解析服务系统发送解析报文字段,完成解析动作。如果成功检索到解析域内含有数据源,则增强 IPFS 系统会通过 ICN 的标识符协议将数据从资源节点拉取回来,存储到本地路径下,并将状态信息返回,当增强 IPFS 系统检测到返回成功状态,则调用自身的本地接口,从数据库中将数据提取出来。此过程中,会存在多个数据源副本,因此副本选择策略能够帮助系统完成高效的数据交付。同时,当增

36、强 IPFS 系统接收到来自 IPFS 原系统对等点的 DHT 请求数据或 Bitswap 的请求数据,都会优先检索 LNMRS,与上述流程一致。如果 LNMRS 未有请求 CID 的注册信息,则增强 IPFS 系统采用与 IPFS 原系统相同的 Bitswap 协议以及 DHT 解析操作流程,进而保证 IPFS 系统的分布式特性。2.3.2增强 IPFS 系统的写操作流程IPFS 系统的添加(add)指令的工作流程图,如图 3 所示。首先,IPFS 系统需要将文件按照固定的大小读取(256 KB)生成 Chunk,将生成的 Chunk 处理成相应的 DAG 节点,再封装成相应的 ipld-b

37、lock 的实例,通过循环遍历的方式进行处理。然后将 BLOCK 传递到下层文件系统,进行存储,同时将 BLOCK 的 CID 信息返回,在上层将文件相关 BLOCK 数据封装成树形结构。对于未上线节点,所有操作只涉及到本地,如果节点上线,则还需向相应对等节点发送相关数据信息。图 3IPFS 原系统与增强 IPFS 系统写操作流程图在增强 IPFS 系统中,当节点添加文件后,需要将所生成文件块的信息注册到 LNMRS 中。相比于 IPFS原系统,增强 IPFS 系统需要有与现场 LNMRS 交互的接口。图 3 右侧部分为增强 IPFS 系统将文件入网的流程图,可以看出文件在接口层被切成固定大小

38、的数据块,并添加进本地数据库后,系统通过注册接口将文件块的 CID 信息与自身的地址信息发送给 LNMRS,而后根据 LNMRS 的返回报文确定注册操作的完成状态。并且增强 IPFS 系统会依据返回报文清理 CID 列表,对464 期曾瑞彬 等:基于信息中心网络的增强型 IPFS 系统设计于失败的 CID 会实行重传机制。在所有逻辑处理完毕后,系统将根节点的 CID 返回给用户。3实验本节主要对基于 ICN 的增强 IPFS 系统与 IPFS 原系统进行了对比实验,其中 IPFS 原系统我们分别测试了 JSIPFS 版本与 GOIPFS 版本。实验的 ICN 网络环境选择了具有 LNMRS 的

39、 SEANet7,并在网络中内置了基于测量报文往返时延最短的节点选择策略,以及随路缓存的缓存策略,并配置 60 s 的缓存生存时间。其中,由于实验中的节点数量较少,在不考虑解析系统并发处理能力的前提下,我们利用单节点实现了 LN-MRS。为了更好地分析不同 IPFS 系统之间的性能差距,引入了如下评测指标:IPFS 系统的数据写入时延:IPFS 将数据写入到 IPFS 网络中所花费的时间;IPFS 系统的网络下载速率:该指标表示系统每秒传输的字节数,采用 IPFS 系统获取文件大小与获取时延之比表示;缓冲事件数:IPFS 系统相关视频播放应用程序在播放视频过程中所发生视频缓冲的次数。在不同的场

40、景下,通过分别比较上述的指标,我们验证了基于 ICN 的增强型 IPFS 系统与 IPFS 原系统的性能差距。3.1方案介绍实验通过搭建 IPFS 系统局域网进行分析,网络由 4 台地理分散的服务器组成,服务器的编号分别为 2、3、9 和 50,链路带宽为 50 Mbit/s,并通过一组核心交换机实现数据通信。实验通过在服务器上部署 IPFS 原系统与增强 IPFS 系统的应用程序,实现节点的部署工作。服务器的配置为 Intel(R)Xeon(R)Gold 5118 CPU 2.30 GHz,12 cores。图 4实验网络拓扑结构图如图 4 所示为服务器的网络拓扑结构。为了更好的了解 ICN

41、 网络对 IPFS 系统的性能提升,我们分别设计了 2 个方面的实验对比,其中包括性能对比与功能对比。性能测试主要围绕系统的读写操作进行展开,而功能对比主要是依赖于丰富的 IPFS 系统的分布式应用程序,测试能否在增强 IPFS 系统应用程序上进行运行。3.2性能比较如图 5 所示,上述的对比实验主要是基于服务器 2与 3 展 开的,分别 比较了 JSIPFS、GOIPFS 以及增 强IPFS 系统,图 5 中显示了各种 IPFS 系统在下载时的速率与 IPFS 下载文件块大小之间的关系。显然 JSIPFS的性能最低,这主要是由于研发的语言特性所影响的。图 5下载(读)时的速率比较图当链路资源

42、富足时,GOIPFS 的速率随着文件块大小的增加而增加,而增强 IPFS 系统虽然是基于 JSIPFS 开发的,但表现出了远超 JSIPFS的性能优势,同时相比于 GOIPFS 也有很好的性能优势。在实验中,相比于 GOIPFS,增强 IPFS 系统在下载1 MB 的文件时,下载速率提升了约 300%。虽然,随着下载文件大小的增加,下载时的速率性能提升有所下降,但依旧是 GOIPFS 的 2 倍。其主要原因是 IPFS 系统的数据获取性能会受到链路带宽的限制,当下载速率提升到一定程度,增长趋势会趋于平缓。图 6 为 JSIPFS 与增强 IPFS 二者在 add 操作上的处理时延。根56网络新

43、媒体技术2023 年据上述描述,增强 IPFS 系统是在 IPFS 原系统的逻辑架构中间层进行了修改,因此保留着 IPFS 系统的上层接口。虽然,IPFS 系统的 add 操作是将文件切分为多个数据块存储在本地,但是由于基于增强 IPFS 系统在写操作过程中需要向 LNMRS 进行注册操作,因此存在一定的操作时延。但是由于 LNMRS 是通过时延作为约束条件,所以操作产生的时延代价较低,由图 6 可知,二者在不同数据大小下的写操作所产生的时间基本上保持一致。但是随着文件大小的增加,注册操作所带来的时延也随之增加,但总体上仍处在一个可控范围。为了进一步分析评估了每个数据块进行注册所需的时间,当文

44、件块过小,数据处理时延的抖动对于注册时延的干扰较大,因此我们基于在 10 MB 和 50 MB 文件大小的背景下测量数据。以 IPFS 的每个块为256 KB 进行分析,得到了如图 7 所示的结果。图 7 表明在测试中,每个数据块所需的平均注册时延,在0.75 0.82 ms 之间,这主要取决于 ICN 节点与解析节点之间数据传输时延以及系统对于数据信息的批量处理逻辑。引入注册操作,必然会引入额外的时延,但是相对增强 IPFS 系统在下载速率方面的显著提升,引入的注册开销是可接受的。图 6添加(写)操作的处理时延对比图图 7平均每个数据块的注册时间对比图如图 8 所示是不同数据源对于节点在下载

45、时速率的影响。以节点 3 为请求者,分别测量了节点 3 向剩余的节点下载相同大小的文件时的网络速率,同时测试了具有多数据源节点时节点 3 的下载速率。如图 8可见,IPFS 原传统在面对拥有多节点数据源的网络环境时,通过 Bitswap 技术能够实现从多个节点下载数据块,在链路状态空闲时,能够提高节点的网络下载速率,降低下载所需的时延。但是,当数据源节点过多,而链路资源有限时,由于 Bitswap 导致的重复数据包交付问题,使得请求者的链路资源快速耗尽,从而使得节点的下载速率下降,下载时延增加。但是基于 ICN 网络的增强 IPFS 系统通过 ICN 内置的节点选择策略,选择合适的数据源节点作

46、为交付节点,始终拥有最大的下载速率,因此请求者的链路资源得到了很好的利用。图 8不同数据源对于下载速率的影响对比图图 9缓存分布对于下载速率的影响对比图如图 9 所示主要反映了 ICN 缓存对于下载速率的影响。以节点 3 为数据请求者向数据拥有者节点 9 发664 期曾瑞彬 等:基于信息中心网络的增强型 IPFS 系统设计起数据获取请求,其中数据经过路由节点 2。在首次获取时,节点 2 上未缓存请求的数据,因此数据主要由节点 9 数据源返回给数据请求者节点 3,但是在此过程中路由节点 2 成功缓存了数据。当节点 3 将下载数据清空后,发起二次请求时,路由节点 2 上拥有请求数据的缓存,因此节点

47、 2 能够直接将节点 3 请求的数据返回,而无需请求路由到节点 9,加速了数据的下载速率。因此,ICN 的缓存能力能够有效地降低数据的获取时延,提高数据的下载速率。3.3功能测试实验方案针对于增强 IPFS 系统进行了接口测试,增强 IPFS 系统在接口功能与 IPFS 原系统没有变化,完全地继承了 IPFS 系统的接口。而对于增强 IPFS 系统的应用测试,我们选取了 IPFS 系统应用中最出名的DTube 作为测试对象,它是一个类似于 YouTube 的视频网站,但是在其上分享视频的都是 IPFS 用户。我们图 10不同系统下的视频播放缓冲次数对比图利用 IPFS 原系统与增强 IPFS

48、系统分别对外发布的一个 102 MB 的高清视频,并通过客户端去浏览该视频,应用能够正常运行。图 10 所示,为客户端在不同系统下的视频播放过程中缓冲次数。其中,基于增强 IPFS 系统的缓冲次数相比于 IPFS 原系统下降了 84%,这主要是由于增强 IPFS 系统具有分布式 LNMRS 与新型的标识符传输协议,支持高效的解析服务与数据传输能力,保证视频流在数据交付时更加流畅。综上所述,增强 IPFS 系统在继承现有的 IPFS 应用生态的同时,能够为 IPFS 应用的用户提供更高的服务质量,进一步验证了本文所设计的基于 ICN 的增强 IPFS 系统是可行的。4结束语本文主要介绍了基于 I

49、CN 的增强 IPFS 系统的设计与实现,主要工作如下:首先,对 IPFS 系统进行调研,总结了 IPFS 系统所面临的解析与下载性能不足等问题,并指出了利用 ICN 特征能够为 IPFS 系统在链路可用性以及节点可用性上带来优势。其次,从源代码的分析、模块介绍、读写操作设计几个方面,对增强 IPFS系统进行了设计,并定义了 IPFS 系统与 ICN 之间利用通信模块实现接口交互的模式。最后,针对增强 IPFS系统与 IPFS 原系统进了性能与功能的对比实验。实验分析说明增强 IPFS 系统既能继承 IPFS 原系统的应用生态,又能够利用网络层的分布式现场解析系统、标识符传输协议实现更高效的数

50、据交付能力,并基于副本选择策略实现更合理的网络带宽资源利用,验证了本文设计的增强 IPFS 系统的合理性与有效性。参考文献1 Benet J.IPFS-content addressed,versioned,P2P file system(DRAFT 3)EB/OL.arXiv preprint arXiv:1407.3561.(2014-07-14).https:/arxiv.org/abs/1407.3561.2 Muralidharan S,Ko H.An InterPlanetary file system(IPFS)based IoT frameworkC/2019 IEEE int

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服