首页 > 编程知识 正文

ICNInformation centric networking体系结构和技术实现,云计算技术体系结构

时间:2023-05-05 06:38:05 阅读:252377 作者:765

ICN的目的是把内容与终端位置剥离,通过发布/订阅范式(Publish/Subscribe Paradigm)来提供存储和多方通信等服务。


什么是发布/订阅范式(Publish/Subscribe Paradigm)

发布/订阅范式是消息队列范例的一种,是一个更大的消息中间件系统的一部分。发布者只负责发布信息,订阅者可以订阅多个发布者所发布的信息,两者之间不用理会是谁发布和谁订阅,而通过一个信息管理器来处理两者之间的发布/订阅逻辑。

分布/订阅系统模型依赖于“事件服务”来为事件的订阅和高效传输提供存储和管理。订阅者通过“订阅操作”来注册其感兴趣的事件,而无需了解这些事件的有效源。发布者通过“发布操作”来产生事件。“事件服务”将事件传送给所有相关订阅者,每个符合需求的事件都将通知到订阅者。“事件服务”将信息的产生和消费进行解耦,消除了参与者间的依赖,增强了可扩展性。这极大地减少了协调工作,使不同实体实现同步,并使所产生的通信基础设施能够很好地适应异步的分布式环境,如移动环境。


ICN体系结构: ICN的本质是在网络层将内容和终端进行了剥离,ICN的体系结构可以概括为四方面:对内容进行命名、路由、传输和缓存内容
ICN相比TCP/IP的几个不同:

1. ICN节点是以基于内容的名字进行路由,而不是基于终端位置,这将带来两个改变: 

  a.以识别内容取代了识别终端

  b.内容文件的位置与其名字剥离,在TCP/IP体系中,IP地址既是身份识别也是位置信息。

正是因为进行了剥离,ICN在进行内容命名和路由时不存在位置依赖,摆脱了移动性问题


2.ICN采用发布/订阅范式或系统作为主要传输模型,内容发布者发布一个内容文件,用户可以以内容名字来索取这份文件内容。在TCPIP体系中,用户需要知道哪个数据源持有这些文件,并且用户和数据源终端在整个数据传输过程中需要保持关联。ICN通过发布订阅系统,将内容的产生、使用在时间和空间上进行分离,从而使内容传输效率更高,可扩展性更好。


3.数据的合法性可以方便 地经过公钥加密来进行认证,在TCP/IP体系中,用户所看见的终端地址与内容名字不相干,这将导致钓鱼攻击和网络交接攻击,ICN采用背后的金鱼化的命名方法来进行内容命名或对数据包进行签名,从而大大提高了安全性。


ICN的命名方法: 1.分层命名(Hierarchical, Human-readable naming):

CCN和TRIAD采用了分层命名方法对内容进行命名。这种命名是自由形态的层级,人可读的字符串序列。便于理解和记忆,加密算法变化时名字可以保持不变,这种命名与Web URL相似,并且是可聚合的,因此能够方便地与URL相匹配,这意味着在当前网络环境上进行部署较为容易。如下图所示:


如上图所示,如果所有内容的名字都是以www.nrc.nl开始并存储在一个节点上,那么这些内容就只需要一个路由入口。


2.背后的金鱼命名Flat, self-certifying naming

DONA、PSIRP和 NetInf  采用了背后的金鱼命名方法进行内容命名,其格式是 P : L,P 是内容发布者公钥的加密哈希,L 是标签 。这样的命名是没有语义的哈希串,具有较好的稳定性和唯一性,但也带来了不便于理解、记忆,加密算法升级后其名字将发生变化等问题 。


3.基于属性的命名(Attribute-Based Naming) 与 CCN、DONA 不同,CBCB   采用属性值对(AttributeValue Pairs,AVPs)来命名内容。用户通过 AVPs 的合取和析取来表示其索要的内容,因此 ICN 节点可以通过对比广播的AVPs 与内容源来定位合适的内容,这样能提高网络内部的搜索和路由效率。不过也存在 AVP 不唯一、语义含糊、数量过大等问题。 


分层命令和背后的金鱼命名方法的比较: 1.基本绑定

这两种命名方法都要对下面三个实体建立两两绑定,目的是增强安全性。

(1)RWI(Real-World Identity) ,即 “真实身份” ,是真实世界中的人或组织名称。
(2)Name,即 “名字” ,是提交到网络中用于进行内容索取时的名字,由发布者负责
(3)Public Key,即 “公钥” ,每个内容发布者都关联一对公钥和私钥,订阅者使用公钥核实 RWI 确实签署了内容。
将 RWI-Public Key 和 Public Key-name 这两对绑定称为可信机制

2安全性比较



如上图 所示,分层命名的内在绑定是 RWI-name,背后的金鱼命名的内在绑定是 Public Key-name。 两种方法都需要一种外部认证来提供另一种绑定,分层命名需要的是 Public Key-name绑定,背后的金鱼命名需要的是 RWI-Public key 绑定 。

下表是分别对两种方法的安全性和绑定特性进行了比较。 


分层命名需要 PKI(Public-key Infra Structure)提供绑定 Public Key-name,而 PKI 需要根可信认证(Root Trust Authority)和策略的通用授权。




总之,分层命名和背后的金鱼命名方法均具有各自的优缺点。 在形式上,分层命名比背后的金鱼命名更便于人的理解、记忆,并且其可聚合的特点也有利于控制路由规模,但后者在安全性、灵活性方面则比前者更具优势。




路由方法: 1.无结构路由

这种结构类似于 IP 路由,采用无结构来维护路由表,因此其路由公告主要通过洪泛攻击进行 ,CCN 采用了这种路由结构,与 IP 路由存在继承关系,因此与 IP 网络的兼容性较高,也就意味着 CCN 将易于在当前 IP 网络基础上进行部署。CCN 用内容标识取代了网络前缀,因此对于 IP 路由协议和系统的修改将不会太大。CCN 在路由时采用了可聚合的分层内容标识。需要注意的是,随着内容复制和移动的激增将导致聚合程度降低,控制通信的开支将增大。

2.结构路由

有两种形式 :树状结构和分布式哈希表(Distributed Hash Table,DHT) 。DONA 采用了树状路由机制,其路由器组成了一棵分层树,每个路由器都维护其子路由器所发布的所有内容的路由信息。当一份内容文件发布、复制或删除时,变更公告将通过该分层树进行传播,直到遇到相匹配的路由入口。 根路由器将维护整个网络所有内容的路由信息,DONA 的内容命名是非聚合的,其可扩展问题将会比较突出。

PSIRP 采用了分布式哈希表路由机制。哈希表由随机的、统一的路由器布局构成,通常能比树状结构维持更长的路径,这将便于提取网络拓扑结构信息。需要注意的是,结构化路由的背后的金鱼性给路由器带来了对等的、规模的路由负担。这两种无结构路由形式相比较而言,树形路由结构在传输性能方面具有优势,而分布式哈希表路由结构在可扩展性和弹性方面具有优势 。




多源传输

ICN 的发布 / 订阅系统非常适应一对多的连接传输 ,这一点可以说是 ICN 与生俱来的。对于多对多的连接传输,这里有两种情况 :一是 M 个不同实体传输给 N 个接收者,二是M 个源将一个内容的不同部分传输给 N 个接收者。对于后者,其典型应用就是 P2P 系统


 P2P overlay 1 和 P2P overlay 2 是两个覆盖网,它们将下载同一份文件。因为 P2P 系统是在应用层的通信解决方案,其提取网络拓扑信息的能力较弱,而 ICN 将向接收
者(P1-P6)高效地传输内容文件,因为 R2 和 R4 节点将帮助接收者从其他覆盖网中下载文件。实际上,R2 和 R4 将内容进行了缓存,接收者不用再到数据源头去索取数据,所以其传输效率更高。




拓展性

首先给出一个定义,信息对象(Information Objects,以下简称 IO):独立于存储位置和物理表象的信息本身。 


当前 IP 网络的主要扩展性指标是骨干路由器中路由表 IP地址前缀的数量,而在 ICN 中,主要扩展性指标是 IO 数量。截至 2010 年底,在 DNS 注册的二级域名数量达到了 1.18 亿,那么 IO 的数量将是多大呢

NetInf 的 IO 采用背后的金鱼命名,其名字解析系统要为每个IO 提供一个入口,因此需要巨大的名字空间。如果路由能在NetInf 的名字认证标签进行聚合,其名字空间规模将达到前面
所提到的二级域名的规模水平。 

CCN 的 IO 采用分层命名,其全局路由系统至少需要在内容提供商层面处理 IO 名字前缀,此外,每个包的转发状态将沿着传输路径把数据包导引给用户。CCN 的名字前缀数量也将到达二级域名的规模水平。

PSIRP 的 IO 采用背后的金鱼命名,背后的金鱼集合在分布的作用域上进行处理。作用域的地位相当于 DNS 入口,作用域的数量将至少为当前 DNS 服务器的数量 。

DONA 的 解 析 层 基 于 分 层 的 名 字 解 析 服 务(NameResolution Service,NRS) ,其全局规模将达到 DNS 的规模 。





移动性

CCN运行原理如下:


在 CCN 中,对 IO 的需求是朝着已发布了的IO 所存在的位置进行路由。如果对一个 IO 的需求很多,则路径上所有节点将缓存该 IO 的副本。用户的移动是内在的,策
略层将会关注转换并重新发布所有的待定请求,而不需要等到 time-out。内容提供商的移动相对复杂一点,其必须更新所有邻居节点的路由表, 这会比较慢。而且, 内容提供商移动时,特殊前缀将会造成路由表污染,这将削弱前缀聚合的优势。


PSIRP运行原理如下:


在 PSIRP 中, 发布和 订 阅通 过 Rendezvous System 进行匹配。Rendezvous 的功能是在网络中定位发布内容和范围。Rendezvous System 由独立的 Rendezvous Network 组成,Rendezvous Network 提供存储发布内容广告的服务,如图 6 所示。用户可以停止订阅,转换网络并重新订阅,新的路径将在路由层进行计算。缓冲和序列号允许无缝转移。内容提供商的移动要复杂一些,并将牵涉到集合节点 (Rendezvous Node)的路由状态更新,其过程将是慢收敛的。


DONA运行原理:



可以看到a图是基于IP的链接,b是基于数据ICN的链接,不同就是ICN的client不会直接与content相连。


在 DONA 中,节点将由数据注册器进行认证。内容一经注册,对该内容的请求将路由到它。图 7(b)所展示模式中IO 将沿着用户发出的请求的路径进行路由。DONA 的移动性与 PSIRP 相似,用户注销原来的位置,再重新注册新的位置。注销并不是强制的,因为解析记号(Resolution Handler,RH)将会清除无法找到的内容记录



NetInf运行原理

 在 NetInf 中, 名 字 解 析 服 务(Name Resolution Service,NRS)负责对 IO 和网络定位器进行注册。当订阅者想接收所需要的 IO 时,该 IO 将由 NSR 解析到定位器集中,这些定位器将从最佳的源那里接收 IO 副本。有一个中央集合点对着每个用户设备,用户的无缝转移是可行的,内容提供商的移动也是可行的,但不是无缝的。



总的来看,ICN 中用户和内容提供商的移动都是可行的,但用户的移动更容易实现,所造成的影响也较小 ;而内容提供商(源)的移动相对就要复杂一些,并且代价较大,将会影响路由系统的聚合性和扩展性。





ICN各个提案的工程实现对比




CCN 和 TRIAD 采用了分层命名方法,因此它们与 IP 体系具有较好的兼容性,但其无结构路由的洪泛特性将会增大控制通信开销。在 TRIAD 中,如果同一内容发布者所提供的内容存储在一个节点上,那么这些内容的路由入口将聚合到一个节点上,因此路由规模与内容发布节点的数量将成正比。而在 CCN 中,通过内容的复制将聚合的路由入口进行了分割,在最坏的情况下,其路由规模将取决于内容的数量 。


DONA、PSIRP 和 NetInf 采用了背后的金鱼命名方法,在安全性等方面优势明显,同时其结构化的路由降低了控制通信开销。在 DONA 中,根路由节点要维护网内所有内容的路由信息,因此其路由规模也取决于内容数量,而 PSIRP 的分布式哈希表路由结构将路由规模降低到所有内容数量的对数级别 



分析与总结

ICN 作为一种具有革命性的网络体系结构,其提出的基于内容的路由通信方式带来了由 “Where”到“What”的根本性转变,它致力于使互联网支持不考虑内容存储所在物理位
置,而直接提供面向内容的功能。ICN 作为一个崭新的概念,其带给网络的革命性改变引人关注,已成为当前的热点研究领域。 


这里,我们从实际应用角度对文中所提到的 ICN 的工程应用实例做一回顾。目前,CCN 和 PSIRP 均提供了开放源代码服务(NetInf 需进行认证后提供代码) [13-15],开发人员可以方便地利用其代码进行工程开发。特别需要提及的是 CCN,因为其继承了 IP 特性,与 IP 体系具有较好的兼容性,是在当前网络架构环境下将 ICN 理念转化为实际应用的较为便捷的技术途径。当然,这并不是说其他工程应用实例不利于部署实现,诸如 DONA 等在综合性能方面更为均衡,对其未来发展同样充满期待


我们可以总结一下 ICN 所能带来的好处 :数据的安全性更好(由命名机制所决定) 、与生俱来支持多路径路由、天然抵抗 DDoS 攻击等,但我们应该意识到,这些好处也可以通过其他的办法或机制来实现,并不一定要完全通过 ICN 来实现。也就是说,互联网架构的变革将不仅仅是 ICN 这一条路。这条路到底好不好,除了 ICN 自身的不断演进达到进一步的完善,更需要通过实际应用来检验衡量。


转载于:https://www.cnblogs.com/sichenzhao/p/9320217.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。