内容中心网络路由方法
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 内容中心网络概述

1.1.1 网络体系结构的基本概念及分类

网络体系结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。各大计算机公司都定义了自己的网络体系结构,但是其层次的划分、功能的分配与采用的技术术语差异巨大,不同的协议之间无法直接相连,相互通信的计算机需要高度协调工作才行。因此,急需制定一个国际标准的网络体系结构。

IBM公司于1974年根据分层的设计思路,提出SNA(Systems Network Architecture,网络体系结构)网络标准。现在,IBM公司构建的大型专用网络仍延续使用SNA,其他的一些公司也陆续推出自己的具有不同名称的网络体系结构。不同的网络体系结构在出现后,采用不同的网络体系结构的产品就很难互相通信。用户为了通信,必须购买同一家公司生产的一系列产品,这样不仅造成商品垄断,还对产品的流通带来一定的障碍。

DEC公司于1975年提出以分层方法设计的DNA(Digital Network Architecture,数字网络结构)网络体系结构,该结构具有很好的分布式网络处理和控制功能。过了数年,DEC公司引入了一系列产品和服务,以使DEC公司的计算平台和其他生产厂家的平台进行双向连通。

国际标准化组织ISO于1978年提出著名的网络互联国际标准协议——OSI/RM(Open Systems Interconnection Reference Model,开放系统互联通信参考模型),简称OSI。IEEE 802委员会(美国电气和电子工程师学会的局域网委员会)制定局域网参考模型IEEE 802标准;传输控制协议/互联网协议(TCP/IP)形成于1977—1979年,最早起源于ARPAnet参考模型。虽然TCP/IP协议与OSI/RM标准有一定的差异,但它是因特网上采用的实际协议标准,并被公认为当前的工业标准或“事实上的标准”。

1.1.2 网络体系结构的演进

互联网的高速发展和科技成果的不断更新,使得人们对于信息服务的海量需求不断攀升,人们的关注点聚焦在内容及如何快速获取内容上。传统网络结构解决的基本问题是功能和性能问题,网络体系结构的演进面临的根本问题是业务范畴的扩大化,每次的演进都是因为其本身不能满足人们和社会的发展需求,根本原因是超出工程师的预期。在讲述新型网络体系结构之前,首先回顾一下几种经典的网络体系结构。

1. OSI网络体系结构

为了使在一个网络体系结构下开发的系统与在另一个网络体系结构下开发的系统互相连接起来,实现更高一级的应用,从而使异种机之间的通信成为可能,便于网络结构标准化,国际标准化组织ISO于1983年形成了开放系统互联通信参考模型OSI/RM的正式文件。所谓“开放”,是指非独家垄断的。因此,只要遵循OSI标准,一个系统和其他遵循同一标准的系统就可以互相通信。

OSI参考模型的7层模型从底层到最高层依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如图1-1所示。

图1-1 OSI参考模型

OSI参考模型各层的作用如表1-1所示。

表1-1 OSI参考模型各层的作用

网络中数据交换而建立的规则、标准或约定称为网络协议,OSI网络体系结构各层协议如表1-2所示。

表1-2 OSI网络体系结构各层协议

2. TCP/IP网络体系结构

TCP/IP网络体系结构是指能够在多个不同网络间实现的协议簇。该协议簇是在美国国防高级研究计划局(Defense Advanced Research Projects Agency,DARPA)所资助的项目基础上研究开发成功的。TCP/IP在网络部分瘫痪时仍保持较强的工作能力和灵活性。这种应用环境导致了一系列协议的出现,从而使不同类型的终端和网络间能够进行有效通信。实际上,因特网已经成为全球计算机互联的主要体系结构,而TCP/IP协议是因特网的代名词,是将异构网络、不同设备互联起来,进行正常数据通信的格式和大家遵守的约定,所以TCP/IP体系结构是计算机网络的事实标准。TCP/IP网络体系结构各层协议如表1-3所示。

表1-3 TCP/IP网络体系结构各层协议

OSI模型属于理论模型,OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层,每一层对于上一层来讲是透明的,上层只需要使用下层提供的接口,并不关心下层是如何实现的。TCP/IP模型属于实际应用的工业标准模型,分别是应用层、传输层、网际层和网络接口层。从实质上讲,TCP/IP只有上面3层,下面的网络接口层并没有什么内容。综合二者的优点,人们在日常生活中使用较多的互联网采用一种只有5层协议的体系结构。OSI体系结构、TCP/IP体系结构和5层协议的体系结构对应关系如图1-2所示。

图1-2 OSI体系结构、TCP/IP体系结构和5层协议的体系结构对应关系

3. P2P网络

科技的进步及社会的迅速发展,使人们对于网络资源的需求增强,网络资源被广泛地应用到各个方面。在传统的C/S方式中,当大量用户请求服务器时,服务器的压力会越来越大,进而出现网络拥塞、磁盘不足等情况。现实生活的需求推动科技的发展,国际上出现了众多的P2P(Peer-to-Peer,点对点网络)文件共享软件[1],国外开展P2P研究的学术团体主要包括P2P工作组(P2P WG)、全球网格论坛(Global Grid Forum,GGF)。其中,Napster、Skype、emalu等较为著名。许多院校也都开始研究P2P网络,如清华大学的Popular Power、华中科技大学的Groove。其中,最具代表性的是北京大学研发的Maze系统,该系统由北京大学网络实验室研发,它是一个中心控制与对等连接相融合的对等计算文件共享系统,结构上类似于Napster,对等计算搜索方法类似于Gnutella。

P2P网络,即对等网络,是一种在对等者之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。国内一些媒体将P2P翻译成“点对点”或“端对端”,学术界则统一称为对等网络(Peer-to-Peer Networking)或对等计算(Peer-to-Peer Computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(如处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其他对等节点(Peer)直接访问而无须经过中间实体。从计算模式上来说,P2P打破了原先传统的客户机/服务器(Client/Server,C/S)模式,在网络中每个节点的地位都是对等的。每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。客户机/服务器模式与对等模式的拓扑结构分别如图1-3(a)和图1-3(b)所示。

图1-3 客户机/服务器模式与对等模式的拓扑结构

近些年来,研究人员开始对新型网络体系结构进行研究,最根本的原因是人们的需求远远大于现有的生产力水平,传统网络支撑不了广大用户对海量内容的获取,传统网络体系结构在面对服务和应用数量急剧增加的需求时难以有效满足。因此,为了解决当前网络存在的问题,只有不断革新网络体系结构,才能推动互联网向前演进。新型网络体系结构主要包括以下几种。

1)DONA体系结构

DONA(Data-Oriented Network Architecture,DONA)[2]是由美国伯克利大学RAD实验室提出的,对网络命名系统和名字解析机制做了重新设计,替代现有的域名系统,使用扁平结构、自认证名字来命名网络实体,依靠解析处理器完成名字的解析,解析过程通过FIND和REGISTER两类任播原语实现。

DONA的名字以P:L形式表示。P代表主体公钥的加密散列值,L则为主体选择的标签,以确保名字的唯一性。 DONA引入解析处理器RH替代DNS,每个域或管理实体都拥有一个逻辑或物理的RH。DONA解析过程通过FIND(P:L)和REGISTER(P:L)完成。用户发送FIND(P:L)寻找名为P:L的资源,RH根据REGISTER信息将请求路由到最近的资源复制处。如果FIND找到匹配的资源记录,相应的服务器会发回一个TCP响应,从而使用标准IP路由和转发进行数据包传递,并且RH也可以实现数据缓存。

DONA网络的基本组织形式如图1-4所示。可以看到,DONA网络是以RH为标准进行分级的,分级的依据可以是自治域,也可以是其他的标准。最低级别的RH主要负责接入用户的请求信息FIND,将用户的内容请求转化为转发动作,不同层级的RH可以理解为不同层级的DNS服务器,最高层的RH则具有全局的信息。

图1-4 DONA网络的基本组织形式

DONA采用扁平式的命名架构,名字的形式为P:L,其中,P为内容提供者的公钥的哈希值,用户验证内容提供者的身份;L为名字标签,是对内容的具体描述,并且L描述的粒度可以由用户灵活掌控,可以描述一个网站,也可以描述一个网页或一个视频,只要内容提供者保证在P的前缀下L是唯一的即可。

除了上述标准的命名,DONA还支持P:*及*:L的命名格式,前者可以用于校验前缀是否被占用,后者可以用于描述任意内容服务提供者提供的L内容或服务。FIND分组的协议头部如图1-5所示。可以看出,名字层所处的位置在网络层与传输层之间,也就是说,命名不改变IP层结构,而对传输层有新的要求。

图1-5 FIND分组的协议头部

2)PSIRP

PSIRP(The Publish-Subscribe Internet Routing Paradigm,发布-订阅互联网路由模式)[3]是芬兰赫尔辛基科技大学和赫尔辛基信息技术研究院等共同研究的项目,PSIRP本质上是以信息为中心的发布-订阅式互联网路由范例,提出基于汇聚的通信概念,PSIRP使用相似的概念建立汇聚点和拓扑结构,并且能更好地支持域间策略路由。PSIRP的目的是建立一个以信息为中心的发布-订阅通信范例,取代以主机为中心的发送-接收通信模式[4]

PSIRP的网络体系结构有4层:汇聚、路由、拓扑和转发。其中,汇聚是PSIRP的核心,汇聚系统在发布者和订阅者之间扮演中间人的角色,以一种位置独立的方式给订阅者匹配正确的发布信息;路由的功能是负责为每个发布信息和在域内分支点缓存的常用内容都建立和维护转发树;拓扑系统管理功能复杂,执行类似目前使用的路由协议的功能,选择域间路由来传送发布信息,每个域都有自己的拓扑管理功能,与BGP类似。

PSIRP处理发布-订阅的基本过程如图1-6所示。

图1-6 PSIRP处理发布-订阅的基本过程

PSIRP体系结构中有4种类型的标识,如图1-7所示。Aid是用户可读的形式,直接由发布者和订阅者使用;Rid用于标识汇聚;Sid是Rid的子类型,用于界定信息的范围,一条发布的信息有可能属于多个信息范围;Fid用来标识发布信息的传输路径。PSIRP主要利用Rid(包括Sid)和Fid这两类名字空间。

3)4WARD

由欧盟FP7资助的4WARD[5]项目的开展时间与PSIRP项目接近,目标是研发新一代可靠的、互相协作的有线及无线网络技术。4WARD项目的WP6工作组设计了一种以信息为中心的网络架构NetInf(Network of Information)[6]。NetInf关注高层的信息模型的建立,实现了扩展的标识与位置分离,即存储对象与位置的分离。

图1-7 PSIRP的4种类型的标识

NetInf的信息模型包含2个对象:信息对象(IO)和比特级对象(BO)。IO代表数据流、音/视频内容、网页、E-mail、实时业务,甚至可以是物理实体;BO表示采用某种编码的某个MP3文件,无语义。基于该信息模型,IO能够让用户不受限于内容的具体表示和某些特性去寻找想要的信息。信息对象IO的包格式如图1-8所示,ID表示IO的名字,元数据包含了与IO相关的语义信息,如IO内容的描述、IO与其他对象的关系等。

图1-8 信息对象IO的包格式

NetInf的名字解析系统会根据输入的NetInf ID或NetInf属性集返回相应的记录。解析服务根据所处网络位置的不同、需求的不同而采取不同的实现方法,如广播、MDHT或链路控制。

4)一体化网络

传统信息网络的分层结构,如国际OSI的7层网络体系结构、TCP/IP 4层网络体系结构等,在信息网络的发展过程中曾经发挥过重要的作用,但也日益暴露出越来越多的缺陷和原始设计模式的不足,例如,过于复杂,难以适应新型移动互联网络、传感网络及普适服务的需求等。因此,新一代信息网络体系结构必须相对已有网络做出重大的创新。通过对传统信息网络分层体系结构理论的长期研究,以及对互联网和电信网等机制、原理进行深入剖析,发现大部分网络体系结构都可以划分为2个基本层:一个是服务层,一个是网络层。由此创新性地提出一种全新的2层网络体系结构模型,即“网通层”和“服务层”[8],如图1-9所示。

图1-9 2层网络体系结构模型

在2层网络体系结构模型中,“网通层”完成网络一体化,“服务层”实现服务普适化,这两层结合在一起,构成了一体化网络与普适服务体系的基础理论框架。图1-10对一体化网络与普适服务新型体系结构模型做了进一步的描述。

文献[7]中针对现有信息网络存在的严重弊端,创造性地提出了全新一体化网络与普适服务的体系理论与总体框架;创建了一体化网络体系模型与理论,提出接入标识、交换路由标识及其映射理论,在支持移动和安全的基础上实现网络一体化;建立了普适服务体系模型与理论,创建了服务标识、连接标识及其映射理论,实现对普适服务的支持,并解决移动、安全等问题。

图1-10 一体化网络与普适服务新型体系结构模型

需要指出的是,虽然文献[7]中的工作已取得了一些可喜的成果,但也仅仅是初步的设计和构思,对新型网络体系理论与关键技术的深入细致研究、完善及推广应用还有待进一步的工作。

5)标识分离网络

一体化网络中定义了两种标识,即网络身份标识和网络位置标识,实现了终端接入身份信息与网络接入位置信息的分离;为了完成穿越接入网、核心网的端到端通信,需要实现从接入标识(网络身份标识)到交换路由标识(网络位置标识)映射的双向解析。

网络标识分离映射问题,其特殊性是在当前互联网中IP地址承载的多重语义分离后,需要针对由此产生的两种标识的映射问题进行研究。网络中除了IP地址,还有其他标识,如数据链路层终端标识、网络连接标识、应用层资源标识等,各种标识之间映射关系的定义和使用问题,随着网络发展一直在不断地进行相关研究。网络身份标识与网络位置标识分离问题被提出后,网络标识分离映射问题针对这一特殊应用场景进行了针对性研究。

相关研究现状分为两个阶段,研究阶段一的成果包括:主机名到IP地址的映射,网络域名解析系统、移动通信系统中的身份与位置分离映射,不同语义IP地址之间的映射;研究阶段二的成果包括:HIP协议中主机标识到IP地址的解析,LIN 6协议中的标识分离映射,LISP协议中的标识分离映射,Peer Net身份与位置标识分离映射,Six/One中的地址重写。

除了上述提到的方案,还有SIRA(安全和可扩展的路由体系结构)[8],Shim 6[9]、HRA[10]、IP 2[11]、GSE(全局-局部-终端地址)[12]、Ivip(互联网数据包重定向协议)[13]等多种提议方案。各种方案的关键不同之处如表1-4所示。

表1-4 各种方案的关键不同之处

注1:LISP认为它自身支持慢速移动,快速移动在现有互联网中不需要。

注2:SIRA强调其对网络结构的设计,不强调具体操作方式。

不同的标识分离映射解析方案设计目标不同,具体操作方式也不一样,并且这些已有身份和路由标识分离映射方案都存在不足之处。特别是在引入全局性的映射数据库后,网络在每次建立新的会话时,需要通过隐性或显性的信令式交互为其做好通信准备。若终端需要享受更为便捷的移动性服务,在每次会话初始建立时更长的等待时间是其必须付出的代价,因为这种方法必然会加重网络的负担,同时会话建立的时延将会更长。而负责具体映射操作的接入路由器及映射数据库的负载也都会影响网络传输的性能,从而使得接入路由器及映射服务器等设备都可能成为网络信息传输过程中的瓶颈。例如,Peer Net很难保证P2P路由表中的紧邻项与物理网络拓扑的一致性,直接对路由表的维护和路由效率造成影响,也不支持多宿主;HIP中太过复杂的名字空间定义和众多对应关系的维护需求、管理开销导致出错的概率大大增加,扁平的名字空间导致查找效率低,存在扩展性问题;LISP也没有考虑映射数据库的查询效率问题。因此,对映射数据库及其在具体网络环境中如何架构与部署需要进行深入的研究和分析。同时,映射关系查询与更新机制的优劣将会对通信效率的提高产生直接的影响,甚至带来路由可扩展性问题。

针对映射信息更新机制的性能问题,文献[15]中提出了一种路由反向重定向的快速切换方法。切换时延比MIPv6减少了75ms,并且在切换过程中移动节点参与很少,大量节省了系统无线接入资源。在该方法中,由终端移动到的新ASR向原ASR发送路由重定向消息,该消息会由原ASR根据移动节点的连接信息,向目的节点进行回溯,发送给沿途的节点进行重定向,直到到达原ASR和新ASR的最近公共前继路由器终止。其优点在于这种切换是由网络完成的,终端移动节点对这一过程没有感知,对网络节点的移动性提供了较好的支持。

NISMA将整个网络划分为多个一定规模的域,每个域中都有一个认证中心和一个域归属映射服务器,通过高速数据传输链路连接不同域之间的映射服务器和认证中心,从而保证不同域之间的映射服务器和认证中心的信息的高速交互。认证中心的主要任务是负责管理本域内的合法用户终端的身份信息认证,当用户终端需要接入网络进行通信、获取网络资源或享受网络服务时,必须到其所注册的认证中心进行认证。域内映射服务器存储本域内注册的所有合法的、正在进行通信的节点的映射关系,同时还存储从外域移动到该域的移动终端的AID/RLOC映射关系。依据移动节点位置从一个ASR变换到另外一个ASR,这两个ASR对应的归属域OPD和NPD是否相同,可将一体化网络的移动切换过程分为两种,即域内切换和域间切换。移动节点在同一域内的两个不同的接入路由器之间的切换过程称为域内切换;而MN在分别位于不同域的两个接入路由器之间的切换过程称为域间切换。如图1-11所示,MN在同属于域1的两个接入路由器ASRa和ASRb之间进行切换是域内切换,而MN从域1的ASRb移动到域2的ASRc所进行的切换是域间切换。

图1-11 域内切换与域间切换示意

6)可重构网络

可重构信息通信基础网络(Reconfigurable Information Communication Basal Network),简称为可重构网络[16,17],以增强网络的基础互联传输能力为出发点,通过网络结构与功能的自适应重构、网络体系结构与模型及协议的重新设计、网络内嵌的安全与管控机制,从而支持当前和未来业务的多样化需求及现有互联网的兼容演进,实现基础网络在可扩展性、移动性、服务质量保证、安全性等方面的功能扩展,满足泛在互联、融合异构的需求[18]

在众多研究人员的不断努力下,互联网的功能获得了巨大演进,文献[19]中提出了典型的虚拟路由器架构vRouter,此为一款通用的纯软件虚拟路由器,提供不同数据平面的数据隔离;FPGA等技术实现的可重构计算[20]、面向可编程无线通信的软件无线电[21]和软件工程中的可重构软件设计[22]等,这些研究成果为端到端资源管理、服务多样化供应提供了技术基础,对端到端的体系结构、模型设计提供了重要的参考依据,但是他们大多只关注网络宏观的体系结构和管理机制,并未从端到端的角度考虑其范畴内的组成部件、自治管理框架和关键技术。

文献[23]中设计了一种可重构、可演进的网络功能创新平台,如图1-12所示,该平台分为控制平面和数据平面。其中,控制平面由控制服务器组成;数据平面由网络交换节点组成,负责完成数据分组的传输及功能处理。

7)软件定义网络

从平台架构的角度出发研究可重构的网络体系结构,这种方法仅仅着眼于硬件或软件资源。网络应用类型的多样性和对网络服务提供能力需求的差异性仍在不断推动可重构技术与网络路由交换技术的研究,而软件定义网络作为一种可重构网络架构解决方案,因其简单的硬件要求、数据面与控制面相分离的理念而被越来越多的研究人员所肯定。

图1-12 可重构、可演进的网络功能创新平台

软件定义网络(Software Defined Network,SDN)是由美国斯坦福大学Clean State课题研究组提出的一种新型网络创新架构Ethane项目[24],是网络虚拟化的一种实现方式。其核心技术OpenFlow协议通过将网络设备的控制面与数据面分离开来,实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。软件定义网络架构如图1-13所示,控制器作为SDN的核心组成部分,起着网络设备与控制模块间的桥梁作用。控制器向上提供编程接口,使得网络控制模块能够操作底层网络设备;向下则与网络设备交互,掌握全局网络视图;同时屏蔽底层网络设备、网络状态等维护,因此,控制器又称为网络操作系统(Network Operating System,NOS)。

图1-13 软件定义网络架构

SDN的主要技术特点体现在以下3个方面。

(1)转发与控制分离。SDN具有转发与控制分离的特点,采用SDN控制器实现网络拓扑的收集、路由的计算、流表的生成及下发、网络的管理与控制等功能。通过这种方式可使得网络系统的转发面和控制面独立发展,转发面向通用化、简单化发展,成本可逐步降低;控制面可向集中化、统一化发展,具有更强的性能和容量。

(2)控制逻辑集中。转发与控制分离之后,使得控制面向集中化发展。控制面的集中化,使得SDN控制器拥有网络的全局静态拓扑、全网的动态转发表信息、全网的资源利用率、故障状态等。因此,SDN控制器可实现基于网络级别的统一管理、控制和优化,还可依托全局拓扑的动态转发信息帮助实现快速的故障定位和排除,提高运营效率。

(3)网络能力开放化。SDN还有一个重要特征是支持网络能力开放化。通过集中的SDN控制器实现网络资源的统一管理、整合及虚拟化,采用规范化的北向接口为上层应用提供按需分配的网络资源及服务,进而实现网络能力开放。这样的方式打破了现有网络对业务封闭的问题,是一种突破性的创新。

8)信息中心网络

近些年以来,国内外研究人员加强了针对未来互联网架构的研究,其中信息中心网络技术(Information-Centric Networking,ICN)[25]是一类从当前互联网的主要用途出发,提出以内容或信息为中心的网络范式的研究方案。其摒弃了以往以问题为导向的设计理念,以信息或内容为中心构建网络体系结构,解耦信息与位置的关系,增加网络感知、存储信息的能力,从网络层面提升内容获取、移动性支持和面向内容的安全机制能力。

ICN的关键技术有命名、路由与转发、网内缓存、安全机制,针对安全机制,由于ICN中到达的内容有可能来自其他网络节点而不是始发的内容服务器,因此,安全模式不能基于数据包来自哪里。相反,ICN设计必须保护内容而不是内容的传输路径。所有的ICN设计都采用面向内容的安全模式,基本原理是由原始内容提供商签署内容,这样网络节点和消费者可以仅通过验证签名的有效性来验证内容。除此之外,ICN研究人员还针对DoS攻击、内容篡改攻击、缓存污染攻击及访问控制等进行了研究,提出了多种机制和解决方案。但是因其均不够成熟,如缺乏对合法用户的服务体验质量(QoE)和网络服务质量(QoS)的保护,违背了ICN的基本原则等[26]

已有一些研究成果显示ICN除了能够在视频流分发[27]、视频会议[28]、内容分发方面显示出优势,还在移动和约束场景下(如物联网应用),5G网络的移动性支持、车载自组织网络、延迟与中断容忍环境等方面显示出一定的优势。但是每种方案都有其挑战性,首先是扩展性问题,相较于已经出现扩展性问题的互联网,ICN在面对无限的信息命名空间时,其扩展性问题变得更富有挑战性。同时,每年字节信息的产生速度和越来越广泛的移动性支持,更是加剧了这一挑战。这种扩展性问题不仅在路由与转发层面,还表现在ICN网络架构的各层面。尽管ICN将信息与位置分离,具有原生的移动性支持能力,但在实际中并不满意。例如,订阅-发布模式的方案虽然可以非常简单地实现信息订阅者的移动性支持,但是对于信息发布者的移动性支持则存在难度。

9)内容分发网络

内容分发网络(Content Delivery Network,CDN)的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时根据网络流量和各节点的连接、负载状况、到用户的距离及响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是使用户可就近取得所需内容,解决互联网拥挤的状况,提高用户访问网站的响应速度。图1-14所示为CDN网络体系结构。

图1-14 CDN网络体系结构

与传统的内容发布模式相比较,CDN强调了网络在内容发布中的重要性。在传统的内容发布模式下,内容的发布由中心服务器完成,而网络只表现为一个透明的数据传输通道,这种透明性表现在网络的质量保证仅停留在数据包的层面,而不能根据不同的内容对象区分不同的服务质量。此外,由于IP网的“尽力而为”的特性使得其质量保证是依靠在用户和应用服务器之间端到端地提供充分的、远大于实际所需的带宽通量来实现的。在这样的内容发布模式下,不仅大量宝贵的骨干带宽被占用,中心服务器的负载也变得非常重,而且不可预计。当发生一些热点事件或出现浪涌流量时,将产生局部热点效应,从而使中心服务器过载退出服务。这种基于中心的应用服务器的内容发布模式的另一个缺陷在于个性化服务的缺失和对宽带服务价值链的扭曲,内容提供商承担了不必要的内容发布服务。

目前,国内访问量较高的大型网站(如新浪、网易等)均使用了CDN网络加速技术,虽然网站的访问量巨大,但无论在什么地方访问都会感觉速度很快。而对于一般的网站来说,如果服务器在网通,电信用户访问很慢;如果服务器在电信,网通用户访问又很慢。

10)内容中心网络

随着科技的不断创新和发展,互联网已经从传统的客户端-服务器通信模式转变成现在广泛使用的内容分发网络。同时,互联网的用户行为也在发生变化[28],从传统关注服务器和主机IP地址,转变为只关心数据的内容是否符合要求。因此,传统的基于TCP/IP协议的互联网架构面临的主要挑战包括高效可扩展内容分发、海量普适计算设备、多宿主和多链接、移动性支持。为了解决上述问题,对未来网络进行改进与设计,研发人员开始研究并设计了内容中心网络[29]

如图1-15所示,CCN网络体系结构保持了传统TCP/IP结构的沙漏模型,不同之处在于中间层的协议用命名数据取代IP,直接以内容名字进行路由,实现点到点的高效内容分发。这种命名方式只与其传输的信息有关,给网络节点的可移动性带来了方便。CCN构建了存储功能,中间节点可以暂时缓存数据,提高了数据的利用率。此外,CCN网络体系结构设计了安全层,对核心网络包进行封装保护。

图1-15 基于IP的网络体系结构与CCN网络体系结构的比较

CCN的特点包括以下几个方面。

(1)安全。安全是CCN网络体系结构的一部分,其中数据签名为未来互联网提供了必不可少的安全性。CCN网络体系结构不存在数据通道的安全问题,因为数据没有固定的通道,可以存储在任意的缓存节点。此外,CCN网络体系结构对许多DoS攻击有天生的防御能力。

(2)性能。CCN天生支持内容分发和多播功能,相对于当今IP网络具有明显的优势。另外,CCN在动态内容、点对点通信上也具有和IP网络相当的性能,并具有比IP更高的灵活性、安全性和稳健性。

(3)流量调节。流量均衡调节功能是网络应具备的功能之一,CCN具有自然的流量调节能力,在数据转发时,可以根据链路状况选择转发策略,从而均衡整个网络流量。此外,CCN的中间节点可以缓存经过的数据,这种设计节省了用户访问同一数据的响应时间,进而从整体上减少了整个网络的流量。

(4)简化应用部署。互联网上的很多应用都需要复杂的中间件,以进行IP地址和应用关心的内容之间的映射,而CCN可以大大简化应用的部署与开发。

1.1.3 内容中心网络的工作机制

内容中心网络有两种类型的包[29],分别为兴趣包(Interest Packet)和数据包(Data Packet)。兴趣包由请求者(用户)发出,作用是请求所需的内容对象;数据包由内容服务节点(发布者服务器或CCN路由器)发出,作用是将内容数据返回给请求者。通常一个兴趣包对应一个数据包,任何收到兴趣包的网络节点,如果本地没有目标内容,将根据路由策略选择性地转发到邻居节点,直到找到拥有该数据的节点。在兴趣包经过的路径上,任何缓存的副本都可以满足请求。如果节点保存了匹配兴趣包请求的内容对象,数据包就沿着兴趣包经过的路径逐跳返回到请求者,数据包自身不需要单独设计路由和转发策略。

CCN的路由节点扩展了传统路由节点的功能,不仅承担了兴趣包的转发和路由任务,还具备一定的存储能力。转发和存储的具体实现依赖CCN路由节点的3种数据结构,分别是内容存储表(Content Store,CS)、待定兴趣表(Pending Interest Table,PIT)和转发信息表(Forwarding Information Base,FIB)。CS用于记录节点已缓存的数据包,并为后续到达的兴趣包提供快速匹配查找的服务。PIT用于记录经过该节点的兴趣包的名称和接口,其中一个作用是避免相同的兴趣包在网络中重复传输,对兴趣包起收敛聚合的效果;PIT的另一个作用是为数据包的逐跳返回提供下一跳的转发接口,当内容数据传回到请求者后,记录的PIT条目被删除。FIB用于将兴趣包转发到目的节点,当发布者产生一个新的内容时,将通过泛洪内容注册信息的方式,在每个路由节点上建立到达发布者的FIB条目。

(1)CCN的兴趣包的工作机制:当内容路由器从一个接口收到来自请求者的兴趣包时将采取最长前缀匹配,对存储在3种数据结构的信息逐一进行匹配查询。具体的查询过程为:当一个兴趣包到达后,先匹配CS,若有则将数据包通过兴趣包的进入接口直接返回给请求者,并丢弃该兴趣包。若CS中无匹配项则查询PIT。若PIT中有该内容名字的记录,说明在该节点上已有相同兴趣包在此前请求过,则在PIT的相同条目下添加新兴趣包的进入接口,并等待数据包的返回,同时将兴趣包丢弃;否则在PIT中新建请求条目,并继续查询FIB以决定兴趣包下一跳转发接口。如果FIB中仍然没有匹配条目,说明此时网络中还没有该内容存在,兴趣包被丢弃。

(2)CCN的数据包的工作机制:当所请求的内容对象在发布者服务器或路由节点的CS中找到时,先将兴趣包丢弃,再将内容封装在数据包中,并基于PIT的记录信息以逐跳的方式返回到请求者。具体过程为:当一个路由节点收到数据包时,先根据已设定的缓存算法缓存数据包,然后在PIT中采取最长前缀匹配法查找内容名字对应的接口。若存在多个接口,则复制数据包,实现多播传输。路由节点将数据包转发后会删除PIT中相应的条目。假设PIT中无匹配项,则直接将数据包丢弃。

1.1.4 研究挑战

1. 路由和转发

为了使CCN能够实现全球规模的部署,首先需要解决的问题是实现具有可扩展性的路由和能够线速转发的引擎。可扩展性路由设计需要解决3个方面的问题:①快速找到兴趣包请求的内容;②充分利用网络中的路由节点缓存的大量相同的内容,实现多路径转发策略;③当网络拓扑发生变化时,如链路拥塞或路由节点失效,相应的转发表应立即更新,并为后续请求的兴趣包重新规划路线。线速转发引擎的设计需要解决2个方面的问题:①最长前缀匹配查找变长的分级名称;②有限的路由表空间处理无限的命名空间。

2. 缓存策略

CCN路由器中加入了存储功能,这是与传统IP路由器的一个重要区别。一旦兴趣包命中节点缓存而非网络核心的发布者,不仅降低带宽的使用,还可以均衡网络流量。因此,如果采用合适的缓存策略,CCN将在传输方面远胜于IP网络。目前,在缓存领域面临着3个挑战:①由于路由表缓存空间有限,需要在不同场景下采取不同的缓存替换策略,如最近最少使用(Least Recently Used,LRU)策略或先入先出(First Input First Output,FIFO)策略等;②需要设计快速有效的验证签名方式,避免缓存污染攻击;③防止针对缓存的DDoS攻击。

3. 安全性

设计安全的网络架构也是CCN面临的一个重要挑战。CCN与保障转发路径安全的TCP/IP网络不同,虽然在架构设计之初,CCN就将保护内容数据放在首要位置:CCN为每个数据包捆绑一个电子签名,并在经过的节点上对内容数据的完整性和数据出处进行验证,但这依然不能解决所有的安全问题,CCN安全性设计面临3个问题:①根据代价有效性,需要设计一种快速匹配、计算和使用有限带宽的签名方案;②无论使用数据散列表,还是基于URL的命名方式都会显式地暴露部分内容信息;③在CS中复制内容的真实性需要进行验证。

4. 移动性

CCN通过请求者发送兴趣包进行驱动,移动节点可以基于它们需要的数据进行通信而不用计算一个特定的通信路径。CCN是一种天然支持内容请求/应答的模型,因此非常适合请求者处在移动的场景。更大的挑战体现在:第一,当发布者发生移动时需要保持路由的一致性,尤其是在高速移动情况下的动态或冷门的内容数据,发布者移动将对网络带来巨大的冲击;第二,数据包在返回之前,如果中间的路由节点发生了移动,网络会累积过多的请求,将造成请求时延的增加。

5. 可控性

在传统的CCN方案中没有考虑网络管理功能,但未来CCN走向真实的运营环境后,这是一个必须要解决的问题。第一,CCN需要设计管理系统,方便管理员配置和更新网络,当部署新服务器或更新应用时,可以加快部署;第二,需要设计主动监控系统,实现网络的自诊断、自优化,减少人工干预;第三,需要增加类似Net-Flow或SNMP等协议,实现网络的流量监测和收集。