【论文翻译系列】名称数据联网简介的翻译(计算机网络论文翻译)

【论文翻译系列】名称数据联网简介的翻译

原文:A Brief Introduction to Named Data Networking
原文出处:[链接在此]
在这里插入图片描述
注:更多相关资料来源:[点击这里]
作者:Alex Afanasyev,Jeff Burke,Tamer Refaei,Lan Wang,Beichuan Zhang,Lixia Zhang
名称数据联名网:[点击这里]

计算机网络的作业,纯属翻译及标注,有不对的还望指正
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

翻译及标注:

摘要:作为一种拟议的互联网体系结构,命名数据网络(NDN)的设计是通过命名数据来连接计算设备的世界,而不是像现今IP那样命名数据容器。 随着这一变化,NDN给网络通信带来了许多好处,包括内置组播、网络缓存、多路径转发和直接保护数据。 在间歇性连接和移动的临时环境中,NDN还能够实现弹性通信,这在今天的TCP/IP体系结构中是很难实现的。 本文简要介绍了NDN的基本概念和操作,并为有兴趣进一步探索NDN的读者提供了一个广泛的参考列表。
索引术语-网络体系结构,命名数据网络

一、导言(INTRODUCTION)

简而言之,网络传送数据位。网络体系结构的工作是定义如何实现此数据传输。网络体系结构设计有两个基本决策:(1)数据传递使用什么命名空间;(2)传递时使用什么特定的机制。
第一个设计决策有两个主要选项:(1)命名要将比特(数据位)运往的位置;或(2)命名比特本身。第二个设计决策取决于第一个设计决策:第二个设计决策取决于第一个:如果按位置命名,则要从主机A发送到主机B的比特(数据位)可以沿着两个通信端点(虚拟电路)之间已建立的路径传输,也可以作为独立的数据段通过网络传输到B(数据报)。如果直接命名比特(数据位),则需要按名称提取数据,因为数据本身不会到达任何地方。
今天的TCP/IP协议体系结构选择了网络命名空间设计的第一种选项,命名位置,这与电路交换电话网络使用的通信模型相同。电话网络将电话号码分配给在特定位置有线的每个电话机,并在两个呼叫方之间建立电路。从电话到IP网络,电话号码被IP地址取代,电路交换被传送数据报的分组交换取代,但基于位置的点对点通信模型保持不变。
命名数据网络(NDN)[1],2014年7月的美国计算机通信评论的“命名数据网络”[2]采用网络命名空间设计的第二种选项,命名比特(数据位)。作为一种拟议的互联网架构,NDN旨在通过命名数据位来将从物联网传感器到云服务器的计算设备世界联网。如我们在图1中所示,命名的(和安全的,如稍后所示)数据块构成了NDN网络体系结构的核心,并且NDN网络层使用应用程序数据名称进行通信。此设计使网络能够通过任何必要的方式检索命名数据;以相同的方式处理网络、存储和计算资源(第四节),并使用户能够直接保护数据(第五节)。
本文简要介绍了NDN的基本概念和操作,并列出了NDN在过去八年中设计和开发的主要成果的广泛参考列表。虽然篇幅所限,我们必须把NDN总体设计的详细描述留给另一篇论文,但我们希望这篇文章能为读者提供NDN的基本原理、概念、操作和属性的总体情况。我们鼓励感兴趣的读者浏览参考资料以了解更多细节。
本文采用不同于前人介绍NDN的方法[2],通过与大多数人应该熟悉的两种设计(HTTP和TCP/IP协议栈)(第二节和第三节)的比较,介绍了NDN设计中的基本概念。然后,我们概述了NDN的网络转发(第四节)、安全通信(第五节)和数据集同步(Sync)的基本方法,数据集同步(Sync)在NDN协议栈中扮演传输服务的角色(第六节)。最后,我们讨论了与NDN设计相关的几个主题(第七节),包括(i)NDN在战场应用中的适用性,(ii)NDN设计中的基本思想来源,以及(iii)应用程序在NDN体系结构开发中的作用。

图1比较IP和NDN协议沙漏

二、作为数据检索协议(DATA RETRIEVAL PROTOCOL)的NDN

从10,000英尺开始,NDN的基本思想可以看作是将HTTP的请求语义(针对命名数据对象)和响应(包含请求的对象)转移到网络层[注:从原本的应用层转至网络层]。作为网络层协议,NDN的请求和响应以网络数据包粒度(分组粒度)工作(图2)-NDN兴趣包中携带的每个请求都包含所请求数据的名称,并取回一个NDN数据包。如果应用数据对象的大小较大,则对该对象进行分段,段号是数据包名中的一个组成部分。这两种数据包类型都带有数据名称;既不包含地址,也不包含有关请求者的任何信息。

图2 在NDN网络中,一个感兴趣的数据包可以从原始数据生成器、路由器缓存或专用数据存储库取回一个数据包(请参见第四节)

今天的大多数互联网应用程序都建立在按名称请求内容的Web协议之上。NDN采用这种请求-应答通信模式,在网络层直接使用应用数据名称,使网络服务与应用通信模式[网络层于应用层]最匹配。但是,与仅由应用程序使用的HTTP请求中使用的URL[注:统一资源定位符(Uniform Resource Locator,URL)]不同,NDN数据名称也由网络层用于获取数据,如第四节所述,并用于定义安全策略以及自动执行数据身份验证和机密性控制(第五节)。因此,在所有NDN应用程序和协议设计中,命名空间设计是最重要的一步,也往往是最具挑战性的一步,尽管关于从NDN命名空间设计练习中积累的经验教训的文章很少。我们正在进行的工作之一是系统地记录我们的经验,以指导未来的NDN发展努力。
除了是网络层数据包外,NDN数据包还在其他两个重要方面与HTTP数据对象不同。首先,虽然HTTP响应消息通过底层TCP连接隐式地绑定到请求URL,但每个NDN数据包除请求的内容之外,还显式地携带数据名称,以及在数据创建时将该名称加密绑定到内容的签名;还可以在需要时对内容进行加密。其次,虽然同一个URL可能会检索到不同的内容,但NDN数据包是不可变的:每个名称唯一标识一个NDN数据包;当生产者更改数据包的内容时,需要生成一个新的名称来区分内容的不同版本。

三、沙漏形NDN协议堆栈

网络研究人员非常熟悉现有的TCP/IP协议体系结构。我们利用这种熟悉性,通过将NDN协议堆栈与TCP/IP协议堆栈进行比较来帮助读者掌握NDN概念,如图1所示。我们重点介绍了这两个堆栈之间的相似之处,更重要的是,它们之间的几个根本区别。
最突出的相似之处在于,NDN协议栈保留了与TCP/IP相同的沙漏形状。就像IP一样,NDN网络协议执行数据报传递,并在任何可以承载数据报的传输介质上运行。介质可能包括最常用于互连附近设备的现有第2层协议,以及TCP/UDP/IP隧道(我们现在使用该隧道连接彼此远程的启用NDN的设备)。
尽管结构相似,图1还显示NDN将沙漏的窄腰部分从携带源地址和目的地址的IP数据包更改为命名的安全NDN数据区块。这一概念上的简单更改导致了NDN和IP之间的些许深刻差异:
● NDN网络层没有地址,而是使用应用程序定义的名称空间。
● 因此,NDN命名数据而不是数据容器。
● 在NDN中,消费者取回数据,而不是发送者将数据包推送到目的地。

直接将应用程序命名空间用于网络通信可以极大地简化基于NDN的系统:不再需要IP地址分配或DNS服务来将应用程序使用的名称转换为IP用于交付的地址。接下来,我们描述NDN数据包传送,它说明了与IP相比的另一个重大变化:NDN使用状态转发平面。
四、NDN作为转发引擎(FORWARDING ENGINE)
默认情况下,兴趣分组仅携带所请求数据的名称,不包含有关请求者的任何信息。每个NDN转发器(forwarder)在兴趣中使用该名称来确定该兴趣应该转发到哪个或哪些接口。
A.有状态转发平面。(Stateful Forwarding Plane)

图3 NDN节点上的转发进程: 上游表示数据生产者的方向,下游表示数据消费者。
如图3所示,每个NDN节点的转发模块包含三个基本组件:[Content Store]内容存储库(CS)、[Pending Interest Table]待定兴趣表(PIT)和包括[Forwarding Information Base]转发信息库(FIB)的转发策略,转发信息库由路由协议或其他方式(如自学习)填充[8]。在接收到Interest IN时,转发器首先检查CS,然后检查PIT:如果从CS找到匹配的数据,则返回该数据;否则,如果找到匹配的PIT条目,则将IN的传入接口添加到PIT。如果CS或PIT中没有匹配,转发器会记录PIT中的传入和传出接口以及时间戳,然后转发策略根据FIB和观察到的性能决定输出接口,如下所述。
一旦兴趣到达具有具有匹配名称的数据分组D的节点,则在兴趣的反向路径上逐跳地转发D以到达所有请求者,而不管可能有多少个;D也可以被高速缓存在每一跳的CS中,以服务于将来对相同数据的请求。可以看到,这种兴趣-数据交换在每一跳创建一个闭环反馈环,允许每个转发器测量数据检索性能,通过逐跳NACK报告转发问题,并执行有效的拥塞控制。
我们建议感兴趣的读者参考[9]、[10],了解有关NDN转发功能的更多详细信息,但有三个简短的观察。1.首先,NDN具有用于数据报传递的状态转发平面:状态为每包、每跳。2.其次,这种状态转发平面的大小与带宽时间往返延迟成正比,可能会对NDN路由器的内存提出很高的要求。然而,PIT提供了许多功能,包括组播传递、无环多路径转发、网内拥塞控制、高效丢失恢复、即时检测和从路径故障中稳健恢复,这些都是Internet长期追求的[9]。我们认为,新的网络体系结构设计必须充分利用技术进步,如新型的快速和大容量存储器,以最大限度地满足应用的需求。3.最后,NDN转发器可以缓冲兴趣(在PIT中)和数据(在CS中),这是一个独特的特性,使NDN本身能够在不利环境中通过间歇连接进行通信,我们将在第VII-A节进一步讨论。
B.NDN网络中的路由。
NDN网络运行路由协议以传播数据名称的可达性,类似于IP网络运行路由协议以传播IP地址的可达性。然而,IP网络中的路由与NDN网络中的路由有几个重要的区别。
首先,NDN路由协议是NDN应用,路由更新是命名并保护NDN数据包的。因此,NDN路由安全性是内置的,而增强IP路由的安全性是一项多年的工作,而且还远远没有完成。
其次,NDN允许每个FIB条目具有多个下一跳,而无需担心兴趣循环,从而支持多路径转发。相反,由于担心数据包循环,IP FIB条目只有一个下一跳。
第三,规模较小的NDN网络可能不运行任何路由协议,但它可以使用自学习来发现数据的可达性[8]。
最后,正如我们在[11]中解释的那样,NDN的状态转发平面从根本上改变了路由协议的要求和重要性,因为FIB只是转发决策中的一个,但不再是唯一的输入因素。
基于名称的NDN路由的一个常见问题是可伸缩性,因为IP地址空间有限,但NDN的名称空间是无限的。感兴趣的读者可以查阅[12]和[13],它们报告了解决NDN路由可扩展性的初步结果。
C.使用名称进行网络通信的力量。
通过执行一项概念上简单的任务:将IP数据包从任何主机传送到任何其他主机,Internet实现了丰富多样的应用程序,从而改变了我们的生活。路由和转发提供了网络层完成此任务的基本功能-它们决定了如何在全球范围内从一台主机到达另一台主机。通过命名数据和对名称执行路由/转发,NDN放大了这种能力。到目前为止,手机上的应用程序要想获得想要的数据,比如几天前在街区聚会上拍的一张照片,它必须首先弄清楚要向其发送数据请求的目的地IP地址,这是一项不是微不足道的任务-应用程序使用具有语义意义的名称工作,对地址或网络拓扑一无所知。今天,我们让手机通过查找DNS来找到云服务器的地址,并让云处理应用程序的需求,即使邻居的存储服务器(例如Synology box9)可能正在托管从该街区聚会拍摄的所有照片;如果用户想要在照片上添加注释,几个街区外的城市图书馆中带有GPU的桌面很可能能够提供所需的照片处理功能。
有了NDN,邻居的语法盒可以在本地宣布其收集的内容(照片)的名称,图书馆桌面可以宣布其计算服务。通过使用适当的名称获取数据,NDN不再区分导线、存储器甚至处理之间的区别,因为所请求的数据可以来自它们中的任何一个-原始相机、附近的存储器或处理单元,以满足用户对图片注释的请求[14]-[16]。
在正确处理路由可扩展性的情况下,相同的功能可以扩展到更大的规模。通过使用应用程序名称在网络层进行通信,NDN将网络、存储和处理融合到一个集成系统中。
五、通信安全
尽管在密码学、安全协议和系统级防御方面取得了所有进步,但安全仍然是当今互联网面临的最大挑战。NDN以与今天的做法完全不同的方式应对这一挑战。NDN使人们能够通过让数据生产者对每个数据包进行加密签名以将数据名称和内容绑定在一起来直接保护数据。还可以在需要数据机密性时对数据进行加密[17]。这些安全属性的真实性和机密性-保留在数据本身,独立于数据容器和通信通道。命名的安全数据分组直接在NDN协议栈的窄腰处提供基本构建块,以保护NDN通信。此外,网络内存储/缓存、多路径转发和流平衡是NDN架构提供的关键功能,可针对当前TCP/IP架构难以应对的拒绝服务攻击(例如带宽耗尽、反射和黑洞攻击)提供强大的弹性[18]。
使用密码保护的主要问题是密钥和证书的管理和可用性,这是最终用户验证接收的数据和解密加密内容所需的。在NDN中,密钥、证书、信任和访问策略都是命名的安全数据包。此外,NDN允许使用结构化的、语义有意义的名称来定义数据名称和密钥名称之间的关系,从而为信任管理和安全策略开发有效的解决方案[19]。此外,NDN还可以通过定义命名约定来提供可用的密钥管理解决方案[17]。
加密保护植根于信任锚的建立。NDN不是盲目信任大量的商业证书颁发机构,而是提倡一种类似于简单公钥基础设施/简单分布式安全基础设施(SPKI/SDSI)模型的信任锚建立方法[20]。NDN设计允许每个联网系统(组织、智能家居等)的权限。建立其自己的信任锚,并具有其自己的本地手段来将信任锚安全地安装到其控制下的所有设备中。我们请感兴趣的读者参考[21]以了解更多细节。
六、数据集同步的需求
从概念上讲,可以将正在进行的TCP连接视为在两端同步数据集:任何一端都会产生。然后可靠地传送到另一端的数据。但是,TCP仅适用于点对点数据同步,并且仅支持同步通信(即两端必须同时在线)。
NDN Sync或简称Sync的概念诞生于在开发NDN应用程序时观察到的共同需求-多方和异步的数据集同步。这可以看作是TCP的泛化。与TCP不同,同步不会在应用程序生成的数据包之前添加额外的报头,并且在系统库中实施,以支持应用程序数据传输需求。
作为Sync的一个说明性用例,请考虑战场场景中基于NDN的聊天应用程序,如图4所示,它使士兵和指挥官能够通过简单的消息进行安全通信。Sync可以显著降低此类应用的开发工作量:该应用只需将用户消息交给Sync,然后Sync负责通过异构、有损耗和断断续续连接的通信渠道尽快将消息传递给同一聊天室中的所有用户。聊天室应用程序必须执行的其他任务,如定义安全策略和管理聊天室成员资格,可以以属性为中心。
多年来,已经开发了多种同步协议设计。Milcom 2018年的一篇题为“NDN DataSet Synchronization简介”[22]的文章总结了Sync开发过程中取得的成就。感兴趣的读者也可以在[4],[23]-[26]中找到更多详细信息。
七、讨论
A.战场的NDN。

战术应用本质上往往是点对点的,提供全局、分区或本地化的态势感知。他们需要在带宽有限、高度移动性和持续断开连接的环境中运行。NDN设计中的三个基本要素(即命名数据、直接保护数据和状态转发)相结合,可提供安全、有弹性的网络交付服务,并具有许多非常理想的特性来支持战术应用。
●自动命名数据可实现主机多宿主:兴趣和数据可能会通过移动设备可能具有的多个无线接口中的任何一个传入和传递。
●通过按应用程序名称会合来促进临时联网:用户可以简单地按名称从遇到的其他设备请求内置到应用程序中的数据,而不需要额外的配置。
●支持延迟/中断容错网络:如第四节所述,每个NDN节点都有用于待处理兴趣(PIT)和数据(CS)的内置存储,因此它可以随身携带它们,直到遇到下一个节点才能进一步转发它们。
●支持设备之间的共享:缓存和组播允许设备共享其数据,从而更有效地利用网络内和外部的带宽,这在战术网络中通常较低。
●允许快速恢复损失:假设数据包在发送给消费者的途中丢失。只要路径上的一个节点在数据被丢弃之前已经缓存了数据,消费者就可以重新传输它的兴趣来找到先前缓存的数据,而不需要长途跋涉到原始数据生产者那里。
NDN节点可以自由地与它遇到的任何节点通信,因为真实性和访问控制内置在数据中,独立于数据容器或通信通道。可以在[9]、[21]、[27]、[28]中找到进一步的解释。接下来,我们将解释NDN体系结构中的基本思想从何而来。
B.“研究过去,如果你能定义未来”——孔子
没有圣经教我们如何设计网络架构;相反,我们从为迭代设计提供素材的实
验中学习。特别是NDN设计,是过去几十年积累的研究见解的巩固。NDN设计坚持了人们熟知的互联网设计原则。类似于IP网络,NDN网络执行数据报传递以保持网络层简单。它的状态转发平面使状态保持在每个数据报每跳粒度,提供了显著增强的鲁棒性和复原力的分组损失和组件故障,与IP[9],[29]。此外,NDN将端到端原则扩展到包括端到端数据安全:每个生产者将其生成的每个数据包的名称和内容之间的绑定用签名密封,以便所有消费者都可以验证数据的真实性,而不管数据来自哪里。在内容可伸缩性的CDN盒越来越多的情况下,这种做法非常有效,并且提高了设备的移动性和容量,在这种情况下,即使数据生产者和消费者之间从来没有直接的通信渠道,移动设备也可以作为有效的数据载体进行通信。
人们可以追溯NDN体系结构中的每一个主要思想到早期的研究结果。 如前所述,对数据通信模式的兴趣模仿了Web应用程序。从IP组播[30],[31]采用接收机驱动的数据传递模型的思想在1990年[32]中讨论了让分组携带应用程序定义的数据单元或应用程序级别Framing(A LF)的想法;在[33]中讨论了通过组合使用组播和ALF实现弹性通信的想法,几年后[32]。在接收机驱动的预订协议RSVP中使用了IP的网络状态[34]。基于具有存储的覆盖网络中的应用程序名称的转发于1998年出现在自适应Web缓存中[35],而与位置无关的数据命名和以数据为中心的通信是在2001年提出的[36]。最后,DNS安全扩展,其设计始于90年代中期,直接保护所有响应数据。
IP的成功在很大程度上是由于它的网络层的极简主义和它对第二层的微弱需求。NDN继承这些属性。同时,NDN认识到技术、网络环境和应用需求的变化。因此,NDN都与TCP /IP体系结构有相似之处,并在基本方面与之不同。

C.应用程序驱动的体系结构开发。
如果一个新的架构对解决实际问题很有用,并且易于部署,我们相信它会很容易被接受,就像30多年前IP部署所发生的那样。
为了确保NDN解决实际问题,NDN设计采用了应用程序驱动的架构设计和开发方法,目标是(I)有用的应用程序和(Ii)运行验证/验证设计的代码。
我们认为,NDN最能证明其在由于内在限制而没有取得进展的绿色领域的有用性。
尝试没有也不能提供良好的基于IP的解决方案的新兴应用程序(例如车载网络、无服务器分布式应用程序、参与式和以用户为中心的移动医疗服务以及无线ad-hoc环境中的AR/VR)可以验证NDN架构的有益内置属性。
它还推动架构组件的工程设计,以简化此类应用程序的开发和部署。
特别是,我们多年来构建的应用程序原型[5]、[37]、[38]要求自动配置初始转发状态和安全性。
在我们仍在改进这些解决方案的同时,多年来已经出现了许多有用的工具和规范[39],包括用于在非本地NDN环境中建立到NDN集线器的连接的自动配置工具[40]-[42]、自动前缀传播[43]、前缀重新通告[44]、Wi-Fi直接数据发现[45]和自我发现[8]协议以简化本地环境中的FIB管理,而无需使用重量级路由协议、信任自举协议[21]、NDNCERT,还有其他很多人。

八、结语
今天的Internet运行在TCP/IP协议栈之上,该协议栈的规范[47]是37年前发布的,到本次会议的日期为止。在这段时间里,计算和通信技术发展迅速。这些进步启用了新的应用程序,进而对底层网络支持(包括TCP/IP)提出了新的要求。因此,网络架构必须不断发展,以利用技术进步并满足新应用的需求,从向通过移动网络而不是有线网络日益连接的全球受众分发大量视频,到保护数十亿物联网设备,以及在恶劣的战场环境中向士兵提供3D地图。
NDN架构建立在从运营互联网中吸取的经验教训的基础上,这些经验教训是在过去几十年中积累起来的。其中包括HTTP请求和响应体系结构(NDN在数据包粒度上应用)的成功,以及对成功的网络设计原则的更高层次的洞察,例如沙漏体系结构中网络层的“细腰”的重要性和端到端原则。我们的NDN研究致力于将这些经验教训和原则应用到一个连贯的体系结构中,该体系结构由不同的应用驱动,包括新的转发策略、拥塞控制机制、路由协议、数据同步机制和安全解决方案,所有这些都作为一个实验平台在操作试验台上运行[48]。
上一节中描述的应用程序驱动的方法验证和验证各种设计决策,发现缺失的部分,并公开设计权衡。通过它,我们了解了(例如)名称空间设计的重要性和挑战。我们已经从利用命名约定中学到了力量,以及自动化安全支持机制的必要性。最近在应用NDN来支持移动自组织通信方面所做的努力使人们对NDN Sync设计空间有了更深入的了解[22]。
尽管NDN的体系结构设计仍处于研究阶段,许多问题尚待解决,但应用NDN解决实际问题的努力已经开始。与IP推广过程类似,在该过程中,通过大规模使用发现并解决了许多重要问题,10我们预计NDN架构和实施将通过从新的应用和部署工作中学到的经验不断成熟。
我们相信,NDN的设计不仅在整体网络架构和协议开发方面带来了新的研究课题,而且为NDN原型的试运行提供了新的机会。我们邀请每个人加入这一努力,并希望本文提供的参考资料可以作为感兴趣的读者进一步探索这一令人兴奋的新方向的起点。

◆Work2——NDN与TCP/IP对比总结
类别 NDN TCP/IP
结构相似 协议栈保留了与TCP/IP相同的沙漏形状

数据传递采用的命名空间 直接命名数据 命名数据所处位置
请求和响应 网络层 应用层
数据包 数据包除请求的内容之外,还显式地携带数据名称,既不包含地址,也不包含有关请求者的任何信息,NDN数据包是不可变的 包含地址,HTTP响应消息通过底层TCP连接隐式地绑定到请求URL,同一个URL可能会检索到不同的内容
网络层 NDN网络层没有地址,而是使用应用程序定义的名称空间。 包含地址,用于将分组从信源传递到信宿
数据获取 在NDN中,消费者取回数据 发送者将数据包推送到目的地
数据命名空间 NDN的数据命名空间是无限的 IP地址空间有限
网络运行路由协议的相似 NDN网络运行路由协议以传播数据名称的可达性,类似于IP网络运行路由协议以传播IP地址的可达性
网络运行路由协议的差异 NDN路由协议是NDN应用,路由更新是命名并保护NDN数据包的;NDN路由安全性是内置的;NDN允许每个FIB条目具有多个下一跳,而无需担心兴趣循环,从而支持多路径转发;规模较小的NDN网络可能不运行任何路由协议,可以使用自学习来发现数据的可达性;FIB只是转发决策中的一个,不再是唯一的输入因素;通过使用适当的名称获取数据,NDN不再区分导线、存储器甚至处理之间的区别

2.NDN可以解决的问题
  1.IP地址耗尽的问题。
  2.内网穿透问题。
  3.移动性问题,因为名字是固定不变的,不会随着位置的移动发生变化。
  4.可扩展地址管理问题,这也使得传感网络成为可能。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaobai_Ry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值