APP下载

命名数据网络研究探析

2013-08-06黄俏丹

电脑与电信 2013年4期
关键词:待处理数据网络命名

特约通讯员 黄俏丹

命名数据网络(named data network,NDN)项目在2010年获得美国国家科学基金会(National Science Foundation,NSF)未来互联网设计项目(Future Internet Design,FIND) 近 800万美元的支持,蕴含了未来互联网变革性研究,共有12个美国高校联合参加,主要由美国加州大学洛杉矶分校(University of California at LosAngeles,UCLA)的张丽霞教授和帕洛阿尔托研究中心(Palo Alto Research Center,PARC)的范.雅各布森(Van Jacobson)主持。内容中心网络(Content Centric Network,CCN)是帕洛阿尔托研究中心基于NDN项目的一个开源实现。

命名数据网络:一种全新的以内容和信息为中心的网络体系

随着互联网的发展,人们对数据内容本身的需求越来越强烈。2008年夏天,谷歌的搜索引擎达到了一个新的里程碑,即在网络上收录了超过1万亿个唯一网址(URLs),2011年超过了3万亿。从2009年至2014年,全球IP网络流量将增加4倍,2014年的增长幅度将达到每月64艾字节。相对而言,2009年的增长幅度大约在每月15艾字节左右。在这种背景下,传统的以主机为中心的网络体系结构已经难以满足现在互联网的发展,虽然CDN(content delivery network) 和 P2P(peer-to-peer)技术的提出和改进在一定程度上缓解了内容需求膨胀的压力,但这些技术有各自的缺点(见表1),比如复杂度高、代价高等,互联网迫切需要高扩展性和高性价比的内容分发解决方案。

与传统基于IP的网络体系不同,命名数据网络是一种全新的以内容和信息为中心的网络体系。NDN项目旨在通过建立全新的以内容为中心的网络构架体系,争取颠覆主宰互联网半个世纪的TCP/IP协议。项目不考虑内容存储所在的物理位置,直接建立命名数据网络体系。NDN项目主要致力于研究路由可扩展性、快速转发、信任模型、网络安全、内容和隐私保护以及新的支持设计的基础通信原理等关键问题。

NDN技术简介

NDN从协议构架设计上彻底地解决了TCP/IP设计上的不适应性,保留了细腰沙漏模型,主要不同点体现在基于数据本身的安全机制和多样的路由策略选择(strategy)上。NDN直接对数据包进行加密保护,加密是端到端的,对网络层是基本透明的,由应用程序或者库处理,不像TCP/IP依赖对传输端点和传输管道的保护,路由安全性得到显著提高。具体表现在:第一,所有数据包括路由消息都需要签名,防止被他人伪造或篡改;第二,多路径路由减轻前缀劫持,因为路由器可以检测由前缀造成的异常劫持并尝试其它路径来检索数据;第三,NDN的消息只能与相关应答数据交互,并不一定发送到主机上,这就使得恶意的数据包很难转发到一个特定的目标。这种机制实现了数据安全与网络传输的分离,降低了实现和管理难度,灵活性强,更加直接和方便,也是真正符合数据请求的自然处理方式。

通信策略由请求方驱动,请求方向网络中广播请求(interest)包,通过数据命名以pull方式获取数据包。路由机制上除了保留转发路由表(FIB)外,还增加了待处理请求表(PIT)和数据包缓存(content store)数据结构。NDN数据包是独立的,与它从哪里来和它将被转发到哪里去没有关系,不依赖像TCP的连接控制,传输过程中也不需要状态信息(stateless)。NDN路由器将请求包和数据包都保存一段时间,分别存在待处理请求表和数据包缓存中。当多个相同数据的请求到达时会消重并记录到达的接口(interface),存储在待处理请求表中,只转发第一个请求到数据源。当数据包到达时,路由器查找到匹配的待处理请求表的条目,将数据从表中列出的所有接口转发回去。待处理请求表删除相应的条目,将数据缓存到数据包缓存中,数据包缓存基本上是数据包的缓冲存储器,具有一些缓存策略功能。数据包选择与请求包完全相同的路径,以相反的方向传递。请求包经过每一跳都有可能得到匹配的数据包,不一定要到达数据源的终点,从而实现了逐跳(hop-by-hop)流平衡。NDN的路由策略上是非常灵活的,可以自动同时支持各种路由协议,包括内容分发(许多用户在不同的时间请求相同的数据)、组播(很多用户在同一时间请求相同的数据)、移动性(用户从不同的地点连续请求数据)以及延迟容错网络(用户之间间歇性通信)等。而IP路由采用一个单一的最佳路径,以防止循环。NDN不仅从原理上避免了网络冲突和拥塞,摆脱了传输端到端连接的依赖,还从根本上实现了多链路路由(multi-homing),同时基于网络内缓存实现了就近获取、负载均衡和容断能力,提高了大规模内容分发的可靠性、性能和效率。

表 P2P、CDN和NDN关联问题比较

CCN:NDN的一个开源实现

CCN原理介绍

NDN的具体实现例子是施乐公司的帕洛阿托研究中心(PARC)的Van Jacobson等提出的内容中心网络,简称 CCN(Content—Centric Networking)。CCN体系结构的外形和当今TCP/IP网络很相似,都是沙漏模型,重要的是用Contentchunk代替了IP。从网络的角度看,就是在网络中用对数据命名代替了对物理实体的命名。另外,网络中内建存储功能,用来缓存经过的数据包,用以加快其他用户访问缓存数据包的响应时间,同时可减少网络中的流量。

CCN的主要设计目标是更好地支持当今的主要应用:内容存取。只这一个目标就决定了CCN的体系结构不会是一个会话模型,而应该是一个以信息为中心的模型 (兼顾资源共享式的通信)。另外,PARC的Van Jacobson和UCLA的张丽霞教授等提出了设计CCN的6个原则。这些原则借鉴了若干当今互联网设计的原则,而这些互联网原则已经被证明是成功的。这六个设计原则分别是:

(1)保留沙漏模型。这种“瘦腰”特性保证了互联网的迅猛增长,因为它允许下层和上层不断革新变化,在CCN设计中也保留了这一模型。

(2)考虑安全性。当今互联网的设计是没有考虑安全的,所有的安全都是事后增加的,这种修补式的安全,对互联网造成很大的负面影响。而CCN要把安全放在体系结构的设计中。

(3)保留端到端原则。端到端原则考虑系统性能和代价的均衡,一般分层系统设计都应该考虑,CCN系统也继承了这一原则。

(4)流量自调节。流量均衡对一个稳定的网络运行是必不可少的。当今互联网的流量调节要依靠端的传输协议,网络本身的设计没有考虑。

(5)保留了路由和转发平面的分离。保证了最好的转发技术和路由技术并行发展。

(6)保证体系结构的中立,使得用户选择和竞争尽可能简单。

CCN工作机制

CCN通信由数据消费者驱动,数据可以进行块级传输,有两个包类型:Interest和Data,消费者广播Interest包,请求内容,监听节点如果有该内容,则响应。兴趣和数据包和位置无关,在一个广播介质上,如果有一个兴趣包请求,则其他对同一内容感兴趣的消费者可以共享该请求。

兴趣包的Contentname是数据包的Contentname的前缀,则该数据包满足该请求。内容名字是复杂的,内容的名字可以动态生成,即让不存在该请求内容的应用接收该兴趣包,而临时产生该内容。像现在的动态Web(静态内容和动态产生混合支持)。

当一个包到达一个Face,利用名字进行最长前缀匹配查找,有三个关键数据结构完成转发(FIB、内容缓存、PIT)。FIB类似IP的FIB,但允许一列出口,而不限于只是一个。内容缓存可以尽可能长时间地缓存转发的包,以供其他消费者使用。PIT记录已经转发的兴趣包,为了让响应的数据包能到达其请求者。当响应兴趣的数据包利用PIT的某条目转发后或者抽出时间设定,该条目被擦除。

当一个Interest包到达,首先匹配内容缓存 (如果有,则响应并丢弃Interest),其次匹配PIT(如果有,则在PIT响应条目中增加Face,并丢弃Interest),最后匹配FIB(按照所有匹配的Face(除Interest到达Face)进行转发Interest,并在PIT中记录)。如果没有匹配则丢弃。

data包的处理相对简单,当数据包到达时,先对数据包的Content Name字段进行最长前缀匹配,先在Contentstore中匹配(如果有,则丢弃),再在PIT中匹配条目,如果有,转发到请求者,然后缓存在Contentstore,如果没有匹配则丢弃。

CCN使用举例

(1)实时通话应用。为了验证CCN网络不只是能较好地支持内容分发应用,也能支持实时会话等当前IP上使用的其它普遍的功能,Van Jacobson实现了一个基于CCN的实时会话应用——VoCCN。发现它和VoIP在性能和功能上是相当的,但更简单、更安全、可扩展性更强。但是,原型系统的环境是在局域网环境的概念证明系统(Proof-of-Concept),实际应用还需进一步验证。

(2)音频会议工具。为了推进CCN网络的全球部署,Van Jacobson等人正在努力开发基于CCN网络的应用,在继VoCCN之后又开发了基于CCN的音频会议工具(ACT)。ACT采用基于命名数据的方法发现正在进行的会议和每个会议演讲者,并且从各自演讲者处取得声音数据。该设计是完全分布式的,取代了当今的集中式音频会议,具有更强的鲁棒性和可扩展性。

(3)全媒体交互(Omedia-CCN)。清华大学网络安全实验室一直从事覆盖网络的研究,开发了非结构化的P2P覆盖网CORS系统(Cooperatively Overlay Routing Service),能支持大规模网络节点,并在Planet-lab上进行了交互多媒体通信加速试验。同时开发了基于CORS系统的P2P流媒体系统CORSTV,对比研究了普通P2P流媒体系统和基于网络编码的P2P流媒体系统,研究基于网络编码的P2P流媒体数据传输过程、调度算法,以及通过降低系统的数据包冗余率,以改善播放质量和播放时延等性能。

猜你喜欢

待处理数据网络命名
命名——助力有机化学的学习
财产清查结果的账务处理
有一种男人以“暖”命名
“待处理”事项在科学事业单位的核算探讨
为一条河命名——在白河源
政府会计核算中待处理财产损溢账户应用探究
试论建立和运用反腐大数据网络的必要性
试论建立和运用反腐大数据网络的必要性
命名数据网络分级命名路由仿真实验研究
河鲀命名小考