革命式的思路从创新和可扩展的角度对互联网体系结构进行新的构思,这种思路受到了各国的重视,研究的重点主要包括基础理论和实验平台的设计等。由于革命式的设计思路并不局限于当前的互联网体系结构,具有很大的灵活性,因此研究者提出的方案在结构模型、功能部署、寻址方式、路由方式、传输模式等方面存在差异,具有各自的特点和侧重点。本节将对一些有代表性的项目进行总结。
2000—2003年,在DARPA的支持下,由USC/ISI、MIT LCS及ICSI合作,开展了名为NewArch [13,14] (New Architecture)的项目,其目标是摆脱现有互联网体系结构的束缚,从互联网当前现实及未来应用需求出发,定义并实现一个面向未来的互联网体系结构原型。项目研究人员认为,针对当前互联网体系结构进行的一些临时性的修改措施,彼此的目标可能并不相同,结果将导致互联网朝着不一致的方向前进而无法继续发展。NewArch认为互联网的发展需要根据需求进行重新考虑。NewArch正式开启了互联网体系结构革命式研究路线的大门,它回顾了当前的需求及原有互联网体系结构的设计原则,对一些关键的体系结构问题进行了探索,取得了一系列的成果并形成了一系列报告 [15-20] ,最具代表性的包括:一种支持身份位置分离及终端系统认证的全新体系结构模型原型FARA,一种基于角色而非协议的体系结构RBA,一种用户控制的支持源路由选择的路由体系结构NIRA,一种显式的拥塞控制机制XCP,一种分区机制及一种互联网订阅系统。
2005年8月,美国NSF启动全球网络创新环境GENI [1] (The Global Environment for Network Innovations)项目,这是一个集美国大学、企业、国际机构等多个研究单位的开放性项目。其主要设计目的是为未来互联网的研究、开发和部署提供一个通用的大规模实验环境,以便研究者能够在现实环境中验证其设想和设计。具体而言,GENI的设计目标包括通用性、多样性、可扩充性、可测量性、易使用性、分片性、独立可控性、安全性及可维护性等。为此,GENI将可编程技术、分片及虚拟化技术引入了系统设计中,以便联合异构、共享的底层结构进行各种分布式实验,这是与当前互联网架构和协议根本不同的全新设计。同时,GENI还具有清晰定义的过程和系统接口,当新的网络技术出现时,可以通过这些接口进行扩展,使得GENI能保持持续发展的状态。目前,GENI已经进入第三阶段,主要目标是支持使用GENI基础设施的实验,包括增加用户使用的资源,使用户易于获得、连接和配置需要的环境。
如图3-4所示,GENI的体系结构分为三层:基础层(substrate)、聚合层(aggregate)及分片应用层(slices)。基础层包括底层的物理设备(如路由器、处理器、链路、无线设备)及管理这些设备的软件,这一层中多数设备对于研究者而言是不可见或不能直接处理的,如各种类型的交换机、多路复用器等。聚合层是更高层的抽象,是研究者可见的所有资源的集合,研究人员可对这一层的所有资源进行操作。聚合层向研究者隐藏了底层的细节,呈现一个简单、联合的资源以便研究者使用。分片应用层是分布式网络的一个可编程元素(如虚拟处理器、链路等),一旦一个分块被建立起来,研究者就拥有了运行于自己虚拟网络上的独立的个人虚拟机。
PlanetLab是GENI的一种控制框架原型,它是一个用于分布式网络系统研究、开发全新网络技术、针对未来网络技术和服务进行研究、测试的开放式全球性的测试床平台,PlanetLab主要由世界各大学内的主机组建而成,目前,PlanetLab试验床规模已经非常庞大,由分布在世界40多个国家的487个站点的1018个节点组成。从2003年至今,已有超过1000个研究组织使用PlanetLab进行分布式存储、网络映射、端到端系统、分布Hash表及查询处理的技术研究。
▶ 图3-4 GENI的体系结构及各层之间的关系
PlanetLab核心技术思想包括资源虚拟分片和分布式重叠网络,资源虚拟分片主要是指PlanetLab网络节点,自身的资源被分成许多切片,不同节点上的切片组成一个虚拟网的分片,构成一个虚拟网。PlanetLab定位于为未来网络技术和服务研究提供真实网络试验环境,较多地考虑如何提供良好的扩展性和新技术应用的移植和接入能力,因而它并不关注诸如服务质量保障等商业应用的支持机制,离普通用户还有相当一段距离。
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上进行测试。
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协议,该协议支持不同类别目标直接通信。