APP下载

以内容为中心的新一代互联网体系架构研究

2010-06-27

电信科学 2010年5期
关键词:路由器数据包路由

林 啸

(工业和信息化部电信研究院 北京 100037)

1 引言

在互联网已经成为整个社会的关键基础设施的今天,其重要性勿庸置疑,这也致使社会对互联网的要求提升到了一个新的层面。如果说在早期以娱乐为主的互联网世界里,其网络服务质量、网络安全等缺陷可以容忍的话,那么在今天互联网已经渗透到生产、生活、政治、经济等各个领域的时候,我们要求其提供的服务必须是高质量、高可靠、高度安全的。互联网领域对这些诉求的探索未曾中断过。可惜,无论是早期的MPLS、IPv6,还是后来进行的Int-Serv、DS-Serv,都无法从根本上解决问题。所以学术界开始了新一轮的讨论,美国政府和学术界推动的几个下一代互联网项目GENI、FIND和Internet 2开始尝试从改进和新建两个角度推动对未来互联网的探索。目前看来,改进是解决燃眉之急的手段,新建架构才是从根本上解决问题的办法。基于此,本文介绍了目前研究领域提出的新概念——以内容为中心的下一代互联网体系架构,希望能够引起关注并开展研究工作,突破目前阻碍互联网发展的关键瓶颈。

2 内容中心网络体系的提出

自20世纪60年代互联网出现以来,以IP数据包交换为核心的互联网运行机制沿用至今,50多年来未曾变化,这说明了IP包的简单的帧结构使网络互联成本降低,实现简便,具有非常强的适应力。但从技术发展的角度来看,互联网最初是为了追求网络的互联,以实现硬件资源的共享(那时硬件资源稀缺且成本较高),通过共享可以节省成本和提高效率。由于这个时期的通信主要发生在具体的两台实体设备间,需要确定具体的设备位置,因此IP数据包是以IP地址进行打包的,以IP地址标识具体的设备,IP包中源地址和目的地址的设计就是为了满足这种发生在两台具体设备间的通信需求。然而,随着技术的进步和互联网应用的普及,计算机硬件和附属器材的价格大大下降,硬件共享的必要性已经不大,信息共享成为了目标。目前,网络应用的主体已经转向文字信息和视频等内容,内容服务已经成为网络服务的主体。在此前提下,我们并不关心信息承载在哪台计算机上,也不关心某个视频是哪个主机提供的,我们关心的是内容传送过来的速度、质量以及是否安全。但是,在目前的互联网架构下,我们仍然是根据主机地址进行信息内容的检索和传送,这样做并不能适应上层应用的变化。

在这种情况下出现了CDN、P2P等技术,其实已经包含了向以内容为中心的网络架构转变的原始朴素思维。但是,任何在目前的体系架构下进行的内容传送机制改进都无法彻底克服底层机制的缺陷,造成了资源的浪费、安全性下降,并且需要进行复杂的内容和“位置”的映射。

为了从根本上适应这种需求的变化,美国学术界率先提出了面向内容的网络体系架构。目前国外学术界关于内容中心体系的研究项目很多,主要包括美国伯克利大学RAD实验室提出的“面向数据的网络体系架构”(DONA)[1]、美国卡内基梅隆大学的“面向数据传输”(DOT)[2]、芬兰赫尔辛基科技大学和赫尔辛基信息技术研究院的 “发布/订阅式互联网路由范例”(PSIRP)[3]、美国Palo Alto研究中心提出的“内容中心网络”(CCN)[4,5]、欧盟 FP7 的 4WARD[6]和美国斯坦福大学的TRIAD[7]等项目,这些项目大多数采用了网络命名内容(NNC)的方式。本文选取其中的代表CCN为例,介绍NNC体系架构的基本思想,并对其他几种架构进行简单的描述和介绍。

3 内容中心网络的体系架构

以内容为中心的基本涵义就是整个网络的需求是内容,而不是主机,因此CCN不再关心内容存储在哪里,而仅关心内容本身。它从根本上改变了IP包的封装结构和寻址方式,IP报文的包头不再以IP地址作为标识,而是以内容名称作为标识。也就是说,IP请求数据包里定义了一个报文所包含的内容标题,该包将发送给能够提供该请求内容的邻近的节点设备,该节点将所请求的内容信息封装在对应的IP包里进行响应,送还给请求节点,完成信息共享过程。从这个过程来看,它并不关心是哪台设备进行了响应,位置在哪里,而是关心以最小的代价从邻近的节点最迅速地获得该内容,因此,区别于传统的TCP/IP网络模型,针对CCN提出了一种新的协议栈。

从图1可以看出,TCP/IP网络与CCN协议栈有很多的共同点。例如,它们都采用7层结构,并且底层完全相同,下层协议都是为了适配底层物理链路和通信而设计,上层协议为对应相关的应用而设计。两者最大的区别就是在全网统一标识的中间层,前者的核心是IP协议,后者的核心是内容块协议。IP协议的成功之处就是对于第二层协议的宽松要求,CCN继承了这一优点,并且CCN可以实施在任何的底层协议之上,甚至可以架构在IP层之上。

相比IP网络,CCN有两个突出的特点,这与其策略层和安全层有关。一是CCN可以最充分地同时利用多种连接方式,如以太网、3G、蓝牙、Wi-Fi、WiMAX 等,并且可以在不断变化的环境中动态地寻求最优化的实现方式;二是CCN本身就保证了它所传送的信息内容的安全。在IP网络中,安全措施往往是通过对承载网络或终端的加强来实施的,而CCN对网络设备并不关心,它所传送的内容已经是安全的了。

4 CCN数据包和内容名

CCN最主要的驱动力就是对内容的需求,因此在CCN上主要的数据包有内容请求包(interest packet)和内容数据包(data packet)两种,这两种数据包的结构如图2所示。

需要相关内容的用户通过节点向所有的方向发出请求,任何收到这个请求的节点,如果有能够满足请求的内容,都通过内容数据包向请求节点发送响应数据。这种对应关系是建立在对内容标识的基础上的,即每个内容都有一个具体的标识。正是因为这种关系,所以有同样内容需求的请求可以分享相同的内容和网络传输,这样就节省了网络资源,提高了效率。

内容的标识名其实就是CCN的地址,这种标识名是结构化的,通常由几个部分组成,通过这种结构化的地址,我们可以利用类似于IP地址前缀机制来迅速定位所需要的信息。例如 “/catr.cn/videos/WidgetA.mpg/_v/_s3”,其中“catr.cn”是全网可识别名称,“video”是内容类型,“WidgetA.mpg”是内容名称,“_v”是版本时间等信息,“_s3”是分段等信息。总的来看,内容名可以分为内容名称和分片名称两部分。

5 节点模型和转发机制

CCN节点的基本工作和IP节点非常相似,都承担着数据包的存储、转发和路由任务。典型的CCN节点主要包含内容存储器(CS)、待定请求表(PIT)和前向转发表(FIB)3个部分。

CS类似于IP路由器的缓存,但它采用了与IP路由器不同的缓存替换策略。IP路由器在完成该次会话后就将所存储的信息清空,这种策略叫做MRU替换。而在CCN中,该信息除了为该次会话服务,还可以为其他用户会话服务,因此该内容在该次会话完成后仍然存在于节点中,以便下一次使用(如影片、视频等内容)。这是CCN非常关键的理念,它可以帮助减少内容下载时延和网络带宽占用。为了最大限度地提高这部分存储信息的共享效率,CCN采用LRU或LFU替换策略来最大限度地存储重要的信息。

PIT是用于记录经过的请求信息的,依此实现所请求的内容顺利地传回请求节点。在CCN中,只有请求数据包被路由,而内容数据包是按照PIT的指示一步步地发回请求节点的。当所请求的内容传回节点后,该条目将从PIT中删除,此外还可以利用时钟来删除那些一直没有找到匹配内容的过期条目。

FIB和IP路由器的处理机制类似,即将请求数据包发往目的端,但是与IP路由器不同的是,FIB可以同时向多个方向转发请求。

当节点从一个接口收到一个数据包时,将根据它所包含的内容名进行最大匹配查询,而后根据查询结果进行下一步的操作。如图3所示,查询的优先级顺序依次为CS、PIT、FIB,具体操作如下。

·CS如果包含请求数据包请求的内容,就会直接将相应的内容发送到请求端口,并丢弃请求数据包,否则将在PIT中继续查询。

·PIT如果包含与内容名相关的条目,就将请求端口添加到请求端口列表中,并丢弃请求数据包,否则将在FIB中继续查询。

·FIB如果包含与内容名相关的条目,就按照FIB的指示将该请求数据包转发到下一个CCN节点。将该请求端口从FIB的端口列表中删除,如果剩下的端口不为空,则向所有剩下的端口转发请求,并在FIB中形成新的条目和端口列表。

·如果以上3种情况都不符合,说明不存在相关的匹配路由,则丢弃该请求数据包。

6 网络传输层设计

在设计CCN的传输层时考虑了复杂、恶劣的网络环境,甚至考虑了动态性非常强的移动网络连接和普适计算。在某些场景下,请求或内容数据包可能会在传送过程中丢失,为了实现安全、可靠的数据传送,请求数据包必须具备重传机制,在一定时间内未响应的请求可以进行重传。CCN采用了不同于TCP的重传机制,它由最终用户(产生最初请求数据包的应用)负责发起重传请求,而接收端的策略层(见图1)负责按照一定的策略确定从列表中选择某个特定端口进行重传。

CCN和底层网络都有可能进行数据包的复制,但基于节点转发机制,多余的数据包将会被丢弃。在CCN中虽然内容数据包不会循环,但是请求数据包确实存在循环的可能性,为了检测和避免这种情况,设计时在请求数据包中包含了一个随机的时间值(nonce value),这样从不同路径传送过来的相同请求将被丢弃。

此外,在流控和排序方面,CCN继承了TCP的方法,基本过程相同。

7 路由机制

目前对于CCN路由的研究仍然很多,但有一点是确定的,即任何在现有IP网络中运行的路由协议,同样可以在CCN中有效地运行。这是由于CCN节点的转发机制是基于IP路由器设计的,并且它的限制条件更少。同时,CCN的语义和基本处理机制也与IP路由基本相同 (层次化地址名称和最长匹配查询)。

由于 CCN提供了很强的信息安全模型(见§8),因此将CCN作为路由协议的传输层可以进一步提高路由信息的安全性。

7.1 内部路由协议

内部路由协议有两个基本作用,一是用于节点描述其本地连接性(相邻关系),二是用于节点描述其直接通达路由(地址前缀)。但一般而言,这两种功能都是在不同的域中实现的。例如,在IS-IS中,相邻关系是根据以太网的二层MAC地址进行描述的,而路由通达性是通过三层IP地址前缀描述的。

虽然CCN地址前缀和IP地址前缀不同,但是无论是OSPF,还是 IS-IS,都提供了 TLV选项,利用该选项,CCN可以很容易地实现CCN地址前缀的发布。同时,在内部路由协议中规定了对于无法认知的信息可以忽略。所以CCN节点完全可以和现存的运行IS-IS或OSPF的IP网络直接连接,而不影响其运行。

图4所示的例子说明了CCN与IP网络共存的工作情况,其中单圈节点是IP路由器,双圈节点是IP+CCN混合路由器。与A相连的媒体仓库通过CCN广播向A通告了它能够提供的内容名前缀 “parc.com/media/art”,A路由器的路由进程收到该信息后,将其添加到FIB中,同时将该前缀封装到IGP通告(LSA)中向其他节点泛洪。在本例中,节点E先后收到了来自节点A和节点B的CCN路由通告,并把它们都添加到了自己的FIB中,因此当节点E收到一个内容名为“parc.com/media/art/Avatar.mp4”的请求时,将会同时向节点A和B转发请求。作为中间节点的IP路由器,仅按照IP路由信息转发该数据包,并不对CCN请求进行处理,而是进行忽略。

CCN路由可以动态产生带宽和时延接近优化的路由拓扑(例如请求数据包不重复、最短路径优先等)。但是在本例中,由于网络中包含纯IP节点,这部分节点不能实现CCN功能,以致无法达到优化目的。例如,如果F节点连接的客户也有与E节点相同的内容请求,那么在AC和BC链路上就会存在重复的CCN请求,其原因就是C节点不能执行CCN转发操作。一旦C节点升级为CCN节点,该问题就得到了解决。

7.2 外部路由协议

当用户超过一定的规模时,CCN在网络互联方面的优势就体现出来了。因为用户都只从就近节点的内容存储器中提取所需的信息(除了第一个用户),所以内容流的时延大大减少了,同时节省了网间的电路需求和建设成本。

CCN的用户直接与自己的ISP连接,所以关键在于能够发现内容路由器,只有这样,才能使用CCN服务。这可以通过改进的DNS服务来实现。不同网络间可以通过DNS查询来实现信息的共享。但是,如果两个CCN不能直接连接,而是通过其他ISP(不含内容路由器)实现互联,则这两个CCN就不能实现互访。此时,需要域间路由提供帮助。CCN之间需要将域的内容前缀信息集成到BGP中以相互通告内容信息。目前BGP像IGP一样,也可以在域间实现TLV机制,用于支撑向用户和其他网络通告内容地址信息。

8 安全机制

CCN的安全机制是基于内容的安全,其基本理念就是对内容本身进行保护,而不是像传统IP网络那样保护网络和链路连接的安全。在CCN中,所有的内容都是经过数字签名认证的,个人内容需要经过加密保护,任何人要想得到内容,必须先确定能够得到授权使用该内容。

8.1 内容鉴权

区别于一般的内容鉴权,CCN的内容鉴权是将内容名和内容捆绑在一起进行鉴权的。这样,内容的发布者可以将内容发布地址集成到内容的鉴权域里,并通过添加补充信息,引导用户从安全的地址获取需要的内容。

CCN是可以全网认证的,每个节点(不仅是终端用户)都可以对相关数据包进行鉴权。鉴权方式是使用公共密钥签名对签名数据包进行认证。签名算法是发布者根据时延、开销、数据量等具体需求从一系列的算法中选取的。

每个CCN内容数据包包含了解密所需的相关信息,如加密摘要、指纹等,可以使用户从本地缓存中得到该密码。同时,内容数据包还包含了密钥地址指示信息,指导用户从远端得到该密钥。

这样,不仅内容得到了保护,内容的来源也得到了保护,网络实体可以过滤掉非法来源的内容,从而降低对网络和用户的攻击,实现了网络和内容的安全,也保护了内容的合法使用和发布。

8.2 信任管理

虽然CCN的数据包是点到点传输的,但它能够提供从发布者到用户的端到端安全。用户需要决定所收到的内容是否安全,或者是否可以信任。CCN并不是简单地将发布者统一地划分为好或者坏,而是由用户根据具体的应用来判断。如果是一些商业或法律文件,则需要严格慎重;如果仅仅是一些个人博客,可能要求就不高了。

CCN的密钥是放在一个网络位置的,这个位置通过CCN数据包进行发布,需要这个密钥的用户需要到安全的位置去请求,而层次化的CCN内容名使得这种认证可以是逐层签名,实现多重保证。

8.3 内容保护和接入控制

CCN最主要的接入控制手段就是加密。CCN并不要求必须是安全的服务器才能接入网络,或者强制执行安全策略。但无论谁截获了经过的信息都是没用的,只有授权的用户才能解密。

8.4 网络安全和强化策略

CCN的设计原理可以预防很多种类的网络攻击。通过对内容的鉴权,也包括了对路由和策略信息的鉴权,可以有效防止内容的窜改和欺骗。

由于CCN没有主机的概念,很难采取以主机为目的的攻击,因此对CCN的攻击仅限于拒绝服务攻击和内容隐藏等手段。但是CCN采取了一系列的机制,可以防止非法内容的传播,所以可以很好地杜绝或者降低这些攻击的影响。

9 CCN评估

目前已经开展了若干的CCN实验,主要是通过UDP封装在现有网络上进行的。这些实验分别对CCN的数据传输效率、内容传播效率和语音应用等进行了评估和对比分析,证明了CCN具备很好的网络特性。

9.1 数据传输效率评估

TCP是传统IP网络数据传输层协议,具有很好的数据吞吐量。实验表明,在大块内容传输上,CCN的性能略逊于TCP。这是由于CCN数据包的包头开销要大一些。图5显示,在该实验中,CCN达到流量峰值的时间要高于TCP(约为5倍),带宽利用率不到70%,低于TCP的90%。但考虑到实验是采用UDP封装的,IP包开销是叠加在CCN包上的,去除这部分影响,CCN的实际峰值能够达到80%左右,略低于TCP。

但是,多数用户在评价网络传输速度时,往往是看网页下载的速度,所以CCN实验进一步对比了网页下载时的速度和效率,发现直接以CCN作为网络层协议,其网页下载速度要稍高于传统HTTP服务,而作为安全内容的传输协议,其效率是HTTPS的两倍,体现了性能优势。

9.2 内容传输效率评估

在上述实验中,并没有考虑网络内容重复问题。实际上,网络传输内容有很多是重复的,而这正是CCN的优势所在。从图6所示的实验结果可以看出,随着有相同需求的用户的增加,TCP用户的下载时间线性增长,而CCN中每个用户下载内容的时间基本保持不变。

9.3 语音应用评估

CCN的优势体现在内容的传输上,但对于点到点的应用同样支持。实验证明,在一些点到点应用中,CCN策略层的存在,使其能够有效应对网络中断等事故的影响,保持通信的持续性。

图7所示为CCN语音应用实验结果,可以看出,在部分链路中断时,CCN语音业务仍然可以继续,并且切换过程对语音业务的影响不大,因为在切换过程中产生的数据包仍然在部分网络节点中存储,并没有丢失。

10 其他相关项目介绍

以内容为中心的框架体系是目前比较热门的话题,除了 CCN项目,比较有代表性的项目还有 DONA、DOT、PSIRP等。

(1)DONA 项目

DONA是由美国伯克利大学RAD实验室于2007年在SIGCOMM会议上正式提出的。DONA并不想彻底改变IP网络的运行机制,而是提出了一种基于新命名体系的域名解析方案来替代现有的DNS。

DONA网络中的内容是由网络进行统一管理的。发布者需要向网络注册,然后发布。DONA网络中的信任处理器(RH)可以提供有效的信息处理,它维持一个比较大的转发表,标记了每个内容的下一跳信息。当内容被定位后,用户可以按照普通IP路由方法找到并获取该内容。

可以看出,DONA并不是要取代IP,而是在IP网络上实现以内容为中心。但这种集成做法会带来一定的问题,例如内容移动时的通信中断和内容仿冒攻击等。

(2)DOT 项目

DOT概念是美国卡内基梅隆大学最早于2006年提出的。DOT是针对HTTP、SMTP等客户端应用设计的数据传输协议,特别适用于大量数据传输。因为DOT重点在数据传输方式,所以它既适用于新应用,也适用于传统业务。

近似强化传送(SET)是DOT的核心。SET是一种多信源下载系统,它可以从不同的信源取得文件“分片”,结果就像从一个信源获取文件,因此效果比现在通用的P2P软件更好。SET的一个主要优势就是可以采用确定量的查询来检测出这些不同或相同的信源,并将确定数量的对象映像插入全网查询表。

(3)PSIRP 项目

PSIRP由芬兰赫尔辛基科技大学和赫尔辛基信息技术研究院联合提出,并于2008年1月开始实施,预计将于2010年6月完成初步成果。目前该项目总投资为410万欧元。

与CCN、DONA等一样,PSIRP也以内容为中心,按照发布/订阅(P/S)的方式来重新设计互联网架构。它是一种对互联网的彻底改造,甚至连IP也有可能取消。

PSIRP将主要精力放在安全、路由、无线接入、网络经济性等部分的架构设计上。新的P/S互联架构将重建发送者和接收者间的网络经济激励平衡,并且非常适用于未来以内容为中心的用户应用模式。

PSIRP项目的主要目标如下:

·设计一种基于P/S的以内容为中心的互联网架构;

·改变目前以位置为中心的方式,将内容作为未来网络的关注重点;

·提出创造性的组播和缓存特性,以优化网络性能和有效性;

·提出网络安全功能模型架构;

·提出并实现可操作的新网络架构;

·加大宣传,不断通过会议、会谈、论文、合作等方式提高PSIRP的影响力,影响专家和业界的认识;

·不断发布研究成果。

PSRIP有着比较完整的系统工作方案和明确的研究目标,但目前还看不到完整的设计方案。

除了以上这些项目,目前还有FP7在2009年提出的旨在促进欧盟互联网产业发展的4WARD项目[6]和斯坦福大学提出的TRIAD项目[7]等。这些项目都是旨在设计一种以内容为中心的新型互联网架构。

11 结束语

随着互联网内容应用比重的不断增加,以内容为中心已经成为大势所趋,全新的以内容为中心的互联网体系架构势在必行。

美国、欧洲国家等互联网强国都纷纷兴起了以内容为中心的相关研究,并已经或准备提出新的网络架构模型,借此继续占领互联网产业的制高点。中国作为互联网全球第一大国,是互联网的最大市场,在以内容为中心的互联网体系上,也必然作为互联网内容的最大获取市场。新的网络模型将促成新的商业模型,如果我国不参与相关研究,不能形成我们的主张和观点,那么在今后以内容为中心的互联网体系里,我国将面临比今天还要严峻的形势!

1 Koponen T,Chawla M,Gon C B,et al.A data-oriented(and beyond)network architecture.In:SIGCOMM'07,Kyoto,Japan,2007

2 Tolia N,Kaminsky M,Andersen D,et al.An architecture for Internet data transfer.In:NSDI'06,San Jose,California,USA,2006

3 Project PSIRP.http://www.psirp.org,Jan 2010

4 Project CCNxTM.http://www.ccnx.org,Sep 2009

5 Jacobson V,Smetters K D,Thorton D J,et al.Networking named content.In:CoNext'09,Dec 2009

6 Project FP7 4WARD.http://www.4ward-project.eu,Jan 2010

7 Project TRIAD.http://www-dsg.stanford.edu/triad,Sep 2009

猜你喜欢

路由器数据包路由
买千兆路由器看接口参数
维持生命
基于Jpcap的网络数据包的监听与分析
路由器每天都要关
路由器每天都要关
铁路数据网路由汇聚引发的路由迭代问题研究
SmartSniff
探究路由与环路的问题
基于预期延迟值的扩散转发路由算法
PRIME和G3-PLC路由机制对比