内容提要
当前互联网正处于向新一代互联网过渡发展的阶段。对于新一代互联网体系结构发展方向,有两种不同的路线,革命式路线的研究人员认为应该重新设计,但他们提出的方案难以在目前的互联网中实际部署;改良式路线的研究人员认为应该在现有互联网的基础上进行修改,但某些修改在一定程度上破坏了互联网的设计原则,影响了新应用的部署。本章对比分析了目前存在的不同的互联网体系结构的发展趋势,介绍了基于演进的新一代互联网体系结构的发展思路。
3.1 新一代互联网体系结构的两种研究路线概述
为了应对互联网面临的重大技术挑战,美国等发达国家从20世纪90年代中期就先后开始下一代互联网的研究工作。我国科技人员于20世纪90年代后期开始下一代互联网的研究。人们越来越深刻地认识到下一代互联网研究的重要性、复杂性、艰巨性和长期性。
经过十多年的时间,研究者们对现有互联网络体系结构的基础理论不断进行新的思考,并提出了许多新的协议、算法和体系结构。但是,对于“互联网体系结构如何发展”这一根本问题,研究者的意见并不一致。目前,主要包括以下两种研究路线。
(1)革命式:又称为“clean-slate”或“改革型”路线,其出发点是突破一切限制,放弃现有互联网体系结构,重新设计新一代互联网,从根本上解决原有体系结构存在的问题。例如,GENI[1]、FIND[2]、OpenFlow[3]、NDN[4]等都是基于这一思想进行设计的。(2)改良式:又称为“dirty-slate”、“incremental”、“进化式”或“革新型”路线,其思路是针对现有互联网体系结构存在的不足进行增量式的修补。解决地址问题的CIDR协议,解决传输服务质量问题的CDN体系结构,解决用户移动性问题的Mobile IP协议,解决QoS问题的DiffServ和RSVP,以及解决安全认证问题的IPSec协议等,都是对互联网进行的改良。
支持革命式路线的研究者Rexford[5][6]并不否定改良式的发展路线,但是他认为当前互联网体系结构的设计原则是当前体系结构固有的,很难改变,而现有的一些挑战又很难在当前设计原则下得到解决。虽然研究人员已经提出了一些补丁来解决或部分解决互联网存在的问题,但是还缺少建立在严格模型和经过实践检验的技术上的、能够指导设计和运营人员的真正的学术准则,因此,对于互联网朝着安全、可靠、高效的基础设施方向持续发展,革命式的设计是很重要的,也是必需的,因为它能够帮助网络研究领域得到一个成熟的发展原则,并藉此最终得到一个值得研究团体信任的互联网体系结构;同时,从革命式路线所得到的深刻见解能够并且应该有利于互联网当前的发展。
支持改良式路线的研究者Dovrolis[7][8]则认为,互联网的研究目标在于理解当前互联网的行为,确认存在的或紧迫的问题,并在与旧系统兼容和增量部署两个限制条件下解决问题。而革命式的思路超越当前互联网体系结构,旨在设计一种优于当前互联网的体系结构,并没有考虑转换代价,导致很多方案由于部署开销大于部署所得到的好处,至今尚未得到大规模的实际应用,反倒是改良式的方案比较容易让人接受。Dovrolis还强调了实验性ISP相对于试验床要重要很多,同时强调了对互联网实际使用情况做测量的重要性。
从经济学和社会学的角度出发考虑,我们认为保持稳定、持续的演进对于互联网体系结构的发展是尤为重要的。脱离现有互联网对于工业应用而言并不实际,而仅通过增量式的改良也不能解决现有互联网体系结构固有的弊端,应寻找一条既能实现稳定过渡又能满足应用需求不断扩展的中间路线。本章将在后面对这种观点和研究思路进行介绍。
3.2 基于改良式的新一代互联网体系结构研究
为了满足互联网的发展和需要,IETF工作组一直在接受有关互联网地址空间、安全性、移动性及流媒体等多个方面的建议草案,并以RFC的形式发布标准,这就是建立在当前体系结构上对互联网的不断改良,因此可以说,基于改良式的方案都支持在当前体系结构上的增量部署。这一节将对现有互联网体系结构路由膨胀、服务质量、移动性及安全性等问题的解决方案进行介绍。
3.2.1 LISP
路由在网络体系结构的发展中起到了功不可没的作用。但是,路由表过快的增长趋势也成为网络体系结构发展的一大障碍。如何解决路由表增长过快的问题是网络体系结构发展中的一个重大课题。IETF提出的位置/身份分离协议LISP[9][10](Locator/Identifier Separation Protocol)就是一种有效缓解路由表膨胀的方法。
LISP通过隧道采用Map-n-Encap的方式将核心网络和边缘网络分离来实现主机身份和位置的分离。在LISP中,网络实际上被分为核心网络和本地网络两部分。在本地网络中,主机用端节点标识EID表示,本地路由根据EID进行数据分组的转发。当数据到达本地路由的边界网关后,由边界网关进行分组的封装和解封,即将EID映射成目的网关的位置标识RLOC,也就是IP地址,并将数据包进行封装后发送到目的网关,或者将分组解封装并去掉其中的位置标识,然后使用EID将数据发送到本地的目的地中。实现封装的路由器称为入口隧道路由器ITR,实现解封装的路由器称为出口隧道路由器ETR。在ITR和ETR之间的核心网络中,路由则根据网关的位置标识进行分组转发。
LISP通过分离路由区域来实现身份位置的分离,可谓一举两得。首先,解决了IP地址语义过载的问题,对多宿主和流量工程有了更好的支持。其次,有效解决了路由的可扩展问题,因为边缘网络的变化不会对核心网络造成影响。LISP仅需修改路由器来实现身份位置分离,部署代价较小。但是它需要在ITR进行地址的映射和封装,对路由提出了更高的性能要求。
3.2.2 CDN
1998年,为了解决互联网访问质量、信息传输性能的问题,MIT首次提出了CDN[11](Content Delivery/Distribution Network,内容分发网络)的概念。CDN位于网络层与应用层之间,其目的是通过“让离用户最近的内容为用户服务”来降低信息传输过程中的延迟、消耗等。
CDN有多种结构形式,如集中式结构、层次化结构等。CDN还支持不同的CDN实体之间通过多种形式进行互联和共享。内容提供商可以向CDN提供商提交服务注册并将其内容放置在内容服务器上。CDN的主要功能包括:请求重定向及内容传递服务、内容外包及分发服务、内容协商服务及管理服务等[12]。是一个典型的CDN体系结构。它分为中心和边缘两部分。中心主要由原始服务器(origin server)组成,边缘主要由复制Web服务器集群(replicated web server clusters)组成。具有相同内容的Web服务器群分散在网络的边缘并与终端用户互联在一起。CDN中心包括CDN网络中心、DNS重定向解析中心,主要负责实现全局负载均衡,当用户访问CDN服务网站时,中心的DNS将根据节点负载、节点离用户的距离等选择最优的节点为用户提供服务。CDN的边缘主要包括Cache和负载均衡器等内容载体,这些节点对外提供相同的内容服务。
CDN系统根据网络当前的流量及负载情况、用户的位置、节点的连接状况等实时信息,选择适合的服务器对用户的需求进行响应,使用户获得更快、更稳定的体验。据统计,分布式的CDN技术能够处理整个网站页面70%~95%的访问量,它不但能减轻服务器和中心设备的压力,有效提高了用户访问的性能,而且通过结构上的冗余提升了网站的可扩展性和可靠性。
3.2.3 移动IP协议
随着移动设备的广泛使用,移动用户随时随地连接互联网的需求日盛,移动IP协议正是为解决移动设备在移动过程中保持不中断通信而提出的一种手段。
移动IP在现有网络资源的基础上,增添了相应的地址绑定功能、隧道技术和路由优化技术以支持移动设备的通信:当移动设备处于家乡网络时,进行固定的正常的通信;当移动设备处于外地网络时,它通过向外地代理注册获得一个转交地址并将该地址向家乡代理HA注册,这样就可以由家乡代理通过隧道将正常通信的流量转发到移动节点当前所在的位置。这种方式在保证移动节点的原有IP地址不变的情况下保持了与其他节点之间的正常通信。
由于移动IP的设计中存在三角路由的问题,IETF在后续的工作中还制定了路由优化协议,对移动IP进行进一步的改良。
3.2.4 安全协议IPSec
互联网体系结构的安全问题一直是互联网发展过程中的一个重大课题。如何保证通信节点的可靠性、通信过程的私密性及通信数据的完整性是互联网用户最为关心的问题。因此,互联网体系结构安全涉及的主要研究方向包括认证、授权、密码技术、攻击检测与防范等。在过去的数十年,研究者提出了许多方法来满足各种各样的安全需求,这些方法大部分通过应用层协议的添加和修改来实现特定场景下的安全需求。例如,为提供Web访问安全保证的SSL协议,这类协议虽然简单但并不通用。1995年,IETF开始制定了一系列安全技术和协议,它们用于提供网络层的端到端安全服务,这些协议集合被统称为IPSec协议。
IPSec包括两部分:一部分是建立安全分组流的密钥交换协议——IKE协议;另一部分是用于加密数据流的ESP协议及AH协议。IKE负责在IPSec的两个通信端之间协商通信所必需的会话密钥、安全参数、安全关联SA等,为后续的安全通信做好准备。其中安全关联是IPSec实现的本质,它约定了通信对等体之间用于通信的加密协议、操作模式、加密算法等。AH协议和ESP协议用于在数据通信过程中提供对通信对象可靠性的认证、数据私密性及完整性的保护。IPSec的AH和ESP协议支持隧道模式和传输模式两种工作方式。在隧道模式下,IPSec对完整的IP报文进行封装并加密,从而实现源和目的地址的隐蔽。在传输模式下,IPSec仅对IP的有效数据载荷进行封装加密。
IPSec利用密码技术和认证机制,明确了需要保护的流量,如何保护这些流量及确定流量的通信对象,为端到端通信提供了理论上的绝对安全通路。但是,IPSec由于使用加密技术,面临严重的复杂性和开销问题,目前应用还不广泛。
3.3 基于革命式的新一代互联网体系结构研究
革命式的思路从创新和可扩展的角度对互联网体系结构进行新的构思,这种思路受到了各国的重视,研究的重点主要包括基础理论和实验平台的设计等。由于革命式的设计思路并不局限于当前的互联网体系结构,具有很大的灵活性,因此研究者提出的方案在结构模型、功能部署、寻址方式、路由方式、传输模式等方面存在差异,具有各自的特点和侧重点。本节将对一些有代表性的项目进行总结。
3.3.1 NewArch
2000—2003年,在DARPA的支持下,由USC/ISI、MIT LCS及ICSI合作,开展了名为NewArch[13,14](New Architecture)的项目,其目标是摆脱现有互联网体系结构的束缚,从互联网当前现实及未来应用需求出发,定义并实现一个面向未来的互联网体系结构原型。项目研究人员认为,针对当前互联网体系结构进行的一些临时性的修改措施,彼此的目标可能并不相同,结果将导致互联网朝着不一致的方向前进而无法继续发展。NewArch认为互联网的发展需要根据需求进行重新考虑。NewArch正式开启了互联网体系结构革命式研究路线的大门,它回顾了当前的需求及原有互联网体系结构的设计原则,对一些关键的体系结构问题进行了探索,取得了一系列的成果并形成了一系列报告[15-20],最具代表性的包括:一种支持身份位置分离及终端系统认证的全新体系结构模型原型FARA,一种基于角色而非协议的体系结构RBA,一种用户控制的支持源路由选择的路由体系结构NIRA,一种显式的拥塞控制机制XCP,一种分区机制及一种互联网订阅系统。
3.3.2 GENI
2005年8月,美国NSF启动全球网络创新环境GENI[1](The Global Environment for Network Innovations)项目,这是一个集美国大学、企业、国际机构等多个研究单位的开放性项目。其主要设计目的是为未来互联网的研究、开发和部署提供一个通用的大规模实验环境,以便研究者能够在现实环境中验证其设想和设计。具体而言,GENI的设计目标包括通用性、多样性、可扩充性、可测量性、易使用性、分片性、独立可控性、安全性及可维护性等。为此,GENI将可编程技术、分片及虚拟化技术引入了系统设计中,以便联合异构、共享的底层结构进行各种分布式实验,这是与当前互联网架构和协议根本不同的全新设计。同时,GENI还具有清晰定义的过程和系统接口,当新的网络技术出现时,可以通过这些接口进行扩展,使得GENI能保持持续发展的状态。目前,GENI已经进入第三阶段,主要目标是支持使用GENI基础设施的实验,包括增加用户使用的资源,使用户易于获得、连接和配置需要的环境。
GENI的体系结构分为三层:基础层(substrate)、聚合层(aggregate)及分片应用层(slices)。基础层包括底层的物理设备(如路由器、处理器、链路、无线设备)及管理这些设备的软件,这一层中多数设备对于研究者而言是不可见或不能直接处理的,如各种类型的交换机、多路复用器等。聚合层是更高层的抽象,是研究者可见的所有资源的集合,研究人员可对这一层的所有资源进行操作。聚合层向研究者隐藏了底层的细节,呈现一个简单、联合的资源以便研究者使用。分片应用层是分布式网络的一个可编程元素(如虚拟处理器、链路等),一旦一个分块被建立起来,研究者就拥有了运行于自己虚拟网络上的独立的个人虚拟机。
PlanetLab是GENI的一种控制框架原型,它是一个用于分布式网络系统研究、开发全新网络技术、针对未来网络技术和服务进行研究、测试的开放式全球性的测试床平台,PlanetLab主要由世界各大学内的主机组建而成,目前,PlanetLab试验床规模已经非常庞大,由分布在世界40多个国家的487个站点的1018个节点组成。从2003年至今,已有超过1000个研究组织使用PlanetLab进行分布式存储、网络映射、端到端系统、分布Hash表及查询处理的技术研究。
PlanetLab核心技术思想包括资源虚拟分片和分布式重叠网络,资源虚拟分片主要是指PlanetLab网络节点,自身的资源被分成许多切片,不同节点上的切片组成一个虚拟网的分片,构成一个虚拟网。PlanetLab定位于为未来网络技术和服务研究提供真实网络试验环境,较多地考虑如何提供良好的扩展性和新技术应用的移植和接入能力,因而它并不关注诸如服务质量保障等商业应用的支持机制,离普通用户还有相当一段距离。
3.3.3 FIND
FIND(Future Internet Design)是由NSF的NeTS(Networking Technology and Systems)于2005年12月启动的一个长期的未来互联网设计研究计划。FIND的出发点在于考虑未来15年里全球网络发展的需求,探索如何重新设计新的网络来满足这些需求,推动未来互联网的探索与研究。FIND在网络体系结构各个方面的研究和设计都尽量做到不受以往的研究思维的影响和束缚,因此,FIND允许研究者采用革命式的方法解决现有体系结构的问题,并设计适应于未来安全性、健壮性、管理性、灵活性、可扩展性等需求的,可融合各种网络环境和应用及服务需求的全新的互联网。
FIND的研究分三个阶段完成:第一阶段(2006—2008年)主要针对互联网安全、命名及路由等体系结构的基础问题进行研究。这一期间,FIND于2008年1月资助了共42个项目,涉及新型网络体系结构、安全、可靠、可控、可管、无线、移动、服务质量、传感网络及光网络等六大领域。第二阶段(2009—2011年)在第一阶段成果的基础上提出各种网络体系结构方案;第三阶段(2011—2014年)进行体系结构的实现并完成测试。FIND项目的研究成果将部署于GENI上进行测试。
3.3.4 NetSE&FIA
2009年,美国NSF启动针对网络科学与工程的研究计划NetSE。其目的是在继承现有各种项目研究成果(包括FIND、GENI等)的基础上,通过多个学科和领域的联合,突破新一代互联网体系结构的关键技术。研究的内容包括互联网大规模的访问、处理模型、支持新型服务和信息系统的体系结构等。
2010年美国NSF设立了未来互联网体系结构(FIA)计划。FIA的目标是继承和延续FIND和NetSE的研究成果,采用革命式的发展思路,从互联网体系结构的设计、原型开发和方法评估等不同方面进一步扩展与深入,将当前研究思想和成果融合到一个整体的体系结构中,以解决目前网络存在的诸多问题。目前,FIA资助了4个项目,分别代表未来网络体系结构的不同基础领域,包括NDN[21]、MobilityFirst[22]、NEBULA[23]及XIA[24]。
1.NDN
NDN(Named Data Networking)脱离传统网络通信模式的影响,提出了一种基于名字命名的全新互联网体系结构。传统互联网以“地址”(即通信内容所在的位置)为数据传输的依据。而NDN的研究者认为基于“位置”的通信方式很难实现移动和多宿主,冗余和安全性都存在问题,加之当前互联网通信中,用户和应用并不关心所需数据的位置,而只是关心所需要的内容,因此由DNS将数据的通信需求转化为固定IP的方式并不适用。基于此,NDN将数据作为基本实体,通过命名数据而非位置进行数据通信。
NDN体系结构中的数据采用分层、结构化的方式命名,因此NDN没有地址分配和管理的需求。NDN中数据通信是由接收方驱动的,为了接收数据,接收方发送一个Interest分组,携带了要获取的数据的标识名,如/parc/videos/WidgetA.mpg。路由器记录请求的入口并查询FIB表进行Interest分组的转发。一旦Interest请求到达拥有请求数据的节点,节点就返回一个包括名字及内容的经过签名的Data分组,Data分组沿着Interest请求到来的逆向路径返回到接收方。
NDN构造了一种以数据为中心的基于名字命名的网络体系结构,实现了通信方式由Where(or who)到What的转变。但是这种基于名字的路由协议使得NDN面临着很大的路由可扩展性、快速转发、安全保护和隐私、数据缓存开销等问题,NDN将在这些方面继续进行深入的研究。同时,NDN还针对一些特定的应用需求(如Ad-Hoc、voice等)进行了相关的研究。
2.MobilityFirst
互联网的发展使得移动平台和基于移动的服务及应用成为未来互联网发展的一大趋势,MobilityFirst作为FIA计划的另一个项目正是以支持移动通信为主要目标进行的新一代互联网体系结构研究。同时,MobilityFirst还关注系统的可靠性、健壮性、可用性、网络服务的可演进性、可管理性及经济可行性。为了实现这些目标,MobilityFirst采用革命式的方法进行设计,其协议栈主要包括以下三个核心要素。
(1)全局名字解析&路由服务。MoblityFirst研究人员认为DNS已经不能满足当前的应用需要,而分散式的名字和地址属性控制是必要的。它通过名字认证服务器NCS(Named Certification Service)将用户可识别的名字(用户、设备、内容名、标签等)动态映射成以公钥加密保护的自我验证的全局标志符GID,再由位置服务器将GID映射为一个完整的网络地址(NA)用于实现路由,实现了名字(ID)与网络地址(NA)的分离及地址的可靠性保证。
(2)通用的容迟网络路由(GDTN)协议。移动环境下,在通信期间,源节点和目的节点之间不存在稳定的路由,因此根据需求进行路由设计对于移动通信而言是必需的。近年来,CNF(cache-and-forward)的方法大量应用于路由协议的设计中,它使用二维的路由向量来区分不同路径(short-term/long-term)下的存储转发策略。这种存储感知的方法更好地解决了系统的可扩展性、容错性、健壮性等问题。
(3)逐跳传输。MobilityFirst采用路由器间的段到段传输而非传统TCP协议的端到端传输来提高无线链路的吞吐率。
3.NEBULA
云计算的发展为互联网带来了重大的经济意义,但是基于云计算的体系结构为了保持数据中心与用户之间的互联,面临着延迟、移动性、安全性、灵活性、扩展性及经济可行性等多种问题,为解决这些问题,FIA计划启动了名为NEBULA[64]的项目,以建立一个更具安全性的基于云的未来互联网体系结构。NEBULA主要包括三个相互关联的部分:NDP(NEBULA Data Plane)、NVENT(NEBULA Virtual and Extensible Networking Techniques)及Ncore(NEBULA Core)。其中,NDP负责建立符合策略的路径、提供灵活的访问控制并抵御可能的各种攻击。NVENT是NEBULA的控制平面,提供可选择的应用服务及网络抽象的访问,如冗余性、一致性及策略路由。NCore则是互联的冗余的企业数据中心(路由器)。
4.XIA
XIA(eXpressive Internet Architecture)项目致力于构建一种安全的未来互联网体系结构,XIA旨在设计一个可支持内容、服务和端系统及未知的未来实体之间相互通信的网络。XIA协议簇将保留TCP/IP协议族的细腰特性,在中间使用API定义最简单、基础的功能,实现网络通信机制。XIA具有以下特点:
(1)提供通信完整性和认证的安全保证;
(2)可信;
(3)支持长期更新的多种使用模型;
(4)支持长期的技术革新;
(5)支持不同网络组成角色间的明晰的接口。
XIA体系结构的核心是XIP协议,该协议支持不同类别目标直接通信。