购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 内容中心网络体系结构

1.3.1 基本架构

CCN作为一种革命式(Clean-Slate)的新型网络结构,以信息名字取代IP地址作为网络传输标识,将关注点由内容的位置(Where)转向了内容本身(What)。传输模式改“推”为“拉”,以用户的意愿和请求为主导。CCN对内容进行统一标识,采用“发布−请求−响应”模式,直接根据内容名进行定位、路由和传输,更加契合了未来互联网的发展需求。

CCN的通信主要依靠两类传输包,即兴趣包(Interest Packet)和数据包(Data Packet)。请求者发送名字标识的兴趣分组,收到请求的路由器记录请求来自的接口,查找FIB表转发此兴趣分组。兴趣分组到达有请求资源的节点后,包含名字、内容及发布者签名的数据分组沿着兴趣分组的反向路径传送给请求者。在通信过程中,兴趣分组和数据分组都不带任何主机或接口地址。兴趣分组是基于分组中的名字路由到数据提供者的,而数据分组是根据兴趣分组在每一跳建立的状态信息传递回来的,二者的格式如图1-7所示。

CCN的最大特点是网内节点具有一定的缓存功能,且与上层应用无关(Application Independent)。接收端(Receiver-End)向上行节点发送包含内容名的兴趣包来请求数据,若沿途节点存储有相应的数据包,则可直接沿原路径反向到达用户端进行响应,无须执行任何路由转发策略,也无须与接收端进行直接的网络连接。因此,CCN不依赖于TCP/IP的连接会话,也不同于IP执行的开环数据传输,CCN采用反馈式的逐跳(Hop-by-Hop)流量平衡机制,仅通过控制Interest包转发的上行路径就可以控制网络中的流量布局,防止网络带宽过度消耗,减少数据重传。

图1-7 NDN中的兴趣分组与数据分组格式

CCN不再采用主机和接口地址进行路由,而将内容名作为识别和传输的唯一标识,因此数据在CCN中可以实现网内缓存(In-Network Cache),同时,CCN得以支持各种功能,包括内容分发、组播、移动性和延迟容忍网络。节点在兴趣包请求过程中记录相应的状态和接口信息,Data包根据该信息逐渐回溯至用户端。总体上,兴趣包与数据包保持一一对应的数量关系。如图1-8所示,CCN节点内部都维持三类数据结构:内容存储库(Content Store,CS)、未决兴趣表(Pending Interest Table,PIT)和转发信息库(Forwarding Information Base,FIB) [14] 。每个 CCN节点都利用上述三类数据结构进行内容分发。

图1-8 CCN节点内工作模块

CS缓存经由本节点转发的内容副本;PIT用于记录尚未得到响应的兴趣包,包括内容名字和对应的到达接口,实现相同内容请求汇聚,避免重复兴趣频繁发送,并确保应答数据包沿逆向路径返回给内容请求者;FIB保存到达内容源的下一跳接口信息,用于兴趣包路由。如图1-9所示,当节点收到兴趣包后,依据请求内容名字依次在CS、PIT和FIB中进行最大匹配查询。首先,查找CS中是否已存储了该请求内容,若匹配成功,则直接返回数据包进行响应;否则,查找PIT表项,若已包含该内容的请求条目,则直接添加到达端口到请求列表;否则,在PIT表项中建立该内容的请求条目,并查询FIB表项,将请求兴趣包转发到下一跳节点。

图1-9 CCN网络内容分发流程

1.3.2 核心特征

1.直接对内容进行命名

作为一种全新的网络体系结构,内容中心网络直接以内容名字为标识来寻找内容,其细腰处完全采用内容名字替换IP地址,底层是物理网络,上层是安全策略和应用层,不需要IP网络的支持,可完全取代现有的IP网络,如图1-10所示。

图1-10 IP与内容网络沙漏模型

不同于IP寻址,CCN数据名称与地址解耦(Location-Independent)不包含目的地址和源地址,因此通信端点对数据包毫无束缚作用。CCN命名采用分层结构化的方法 [15] ,类似于TCP/IP网络中的URL(Uniform Resource Locator)格式,最终名称被编码成二进制。如图1-11所示为名为“Netlab.pkusz.edu.cn/videos/transformers.avi/_v<timestamp>_s2”的内容,其内容名由多个词元组成,每个词元用“/”分隔符分开,但是分隔符本身并不属于内容名。其中,“Netlab.pkusz.edu.cn”是全局可路由部分;“videos”表明内容类型;“transformers.avi”是内容的具体名称;“_v<timestamp>”表示版本号信息,用来标识最新的数据包;“_s2”为分段信息,表示该数据包属于源文件的第几块。CCN命名仅需保证在局部环境中的唯一性即可,用户基于内容名直接请求信息,即使位置发生移动也无须中断服务,增强了内容的可用性。

图1-11 CCN的命名结构

2.内容路由

传统IP网络体系中基于地址实现路由转发,通过网络层域内或域间路由协议(RIP、OSPF或BGP等)计算到达目的节点的最短路径,并据此建立路由表。在IP网络层之上建立覆盖网络的内容分发技术(如CDN等),实现了内容的检索和获取,也为命名数据网络基于名字对内容进行定位和路由指明了设计思路。CCN网络中采用非结构化路由 [16,17] ,内容持有节点基于泛洪机制发送路由通告,其他节点根据收到的通告代价计算自己到内容源的最优路径,并建立或者更新路由表。这种方式仅需要对IP网络中的路由协议进行简单的改动就可以适用于命名数据网络,与传统IP网络有较好的兼容性 [18,19] 。如图1-12所示,内容提供商(Content Provider,CP)是网络内容的产生者和发布者;用户(Content Requester,CR)请求所需的内容信息,作为内容的消费者。CP通过直连节点a和b向外发布内容信息,a、b在收到内容通告消息后以泛洪机制转发给其他节点,各节点(如e、f)根据最短路径优先(OSPF)算法,获取到达内容源的下一跳接口信息。用户CR

图1-12 CCN网络的内容路由过程

发送具有名字标识的兴趣包,并基于内容名字依据FIB表项转发至内容提供者。数据包依据兴趣包在前向转发中建立的PIT逐跳信息进行返回。在整个通信过程中,兴趣包和数据包都是基于内容名字的路由,不携带任何主机或接口地址。

3.网内缓存

在命名数据网络中,每个路由节点都具备内容缓存功能,CS是 CCN中一种基本的数据缓存单元,而内容的细粒度普遍缓存是 CCN网络的核心特征,它以廉价的存储代价来换取网络服务性能的提升 [20] 。与 IP路由器的 Buffer不同的是,IP路由只负责路由转发功能,在完成转发操作后,将直接删除当前数据内容;而 CCN 路由器则利用CS将数据内容存储下来,实现后续相同内容请求的快速应答。这使得命名数据网络不仅是一个数据内容的传输载体,更是一个存储、服务平台。如图 1-13所示,通过内容的普遍缓存,内容请求可以在就近缓存资源处进行快速应答,对于用户来说,缩短了内容请求时延,提高了用户体验;对于服务器而言,减小了远端服务器负载和响应率;对于整个网络来说,减少了额外的数据传输,节省了网络带宽资源,降低了网络拥塞的发生率。

图1-13 CCN网络节点普遍缓存的优势

4.未决兴趣表

路由器将兴趣分组存放在PIT(Pending Interest Table)中,该表中的每个条目都包含了兴趣分组的名字和已经接收的匹配兴趣分组的接口集合。当数据分组到达时,路由器查找出与之匹配的PIT条目,并将此数据转发给该PIT条目对应的接口集合列表的所有接口,然后,路由器移除对应的PIT的条目,将数据分组缓存在内容存储库(Content Store)中。PIT条目需要设置一个较短的超时时间,以最大化PIT的使用率。通常超时时间稍长于分组的回传时间。如果超时过早发生,则数据分组将被丢弃。路由器中的PIT状态可以发挥许多关键作用,如支持多播、限制数据分组的到达速率、控制DDoS攻击、实现Pushback机制等。 8pCSg+QRWwHihHIy/IzLv/Vy/1YdRXNZ0lc7Q95iA5XwdWDvQZ3erlP5x/1H3YOk

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开