首页

互联网体系结构剖析

计算机科学2006Vol133№16

 

互联网体系结构剖析3)

杨 鹏 刘 业

(东南大学计算机科学与工程系 南京210096)

(计算机网络和信息集成教育部重点实验室(东南大学) 南京210096)

 

摘 要 首先简要回顾了互联网发展的3个阶段,明确了互联网体系结构的由来及现状。接着详细论述了互联网体

系结构这一概念的内涵和外延,总结归纳了互联网体系结构的若干重要设计原则,探讨了互联网体系结构的需求目标、实现技术、代表协议、体系结构特征等要素之间的关系,将互联网体系结构研究统一成一门具有紧密内在逻辑联系的学科。然后深入剖析了现行互联网体系结构所面临的重重矛盾,指出了现行互联网体系结构所面临的总的矛盾是“互联网体系结构的因循旧制与已经发生改变的应用环境之间的矛盾”,并从6构所面临的各种具体矛盾。。关键词 互联网体系结构,设计原则,矛盾,协议分层,复杂性, 

ofLYe

(Engineering,SoutheastUniversity,Nanjing210096)

(KeyLaboratoryandInformationIntegrationofMinistryofEducation,SoutheastUniversity,Nanjing210096)

 

Abstract Byoverviewingtheorigin,developmentandactualstateofInternet,thedefinitionandmainconceptsofInter2netarchitecturearedescribedinthispaperfirstly.Thensomekeydesignprinciplesareoutlinedanddiscussed,whichconsolidatetherequirementgoals,implementationtechniques,representativeprotocolsandarchitecturalcharacteristicsofInternetarchitectureintoacloselyinterrelateddiscipline.Focusingattentiononthecurrentdilemmaintoday’sInter2net,atotalcontradictionandothersixconcretecontradictionsfacedbyInternetarchitecturearepresentedandanato2mized.Furthermore,theattemptstoimprovethetraditionalInternetarchitectureandtheresearchesandexplorationsonthefutureInternetarchitecturearesummarized.

Keywords Internetarchitecture,Designprinciple,Contradiction,Protocollayering,Complexity,Tussle 

以及ARPA的资助使得这一技术被迅速地确立为计算机网络的最基本支撑技术,并延续至今。

(2)开放体系结构联网阶段(20世纪70年代初~20世纪90年代初)

Kahn在1972年提出著名的“Open2ArchitectureNetwor2king”思想[1],奠定了早期互联网体系结构的4条重要设计原

1 引言

互联网是一个由多种计算机网络组成的、提供多种服务

类型的、无处不在的分布式互联系统,它的出现无疑是上个世纪最具代表性的科学和技术奇迹之一。互联网起源于20世纪60年代中期由美国国防部高级研究计划署(ARPA)资助研究的ARPANET,它的发展同时伴随着计算机技术、通信技术、集成电路技术、软件设计理论、操作系统理论等一系列相关技术和理论的发展,并与这些相关领域相互借鉴和融合,共同引导了一场影响深远的信息技术革命。互联网的研究和发展历史大致可以分成3个阶段:

(1)分组交换技术确立阶段(20世纪60年代初~20世纪70年代初)

作为在冷战背景下孕育而成的带有强烈军事目的的通信网络,互联网的研究初衷就是要设计出一种具有“gracefuldegradation”特性的由多个分散结点组成的非集中式网络系统。针对早期互联网的特殊技术要求,经由Kleinrock、Ba2

[1,2]

ran、Davies等一批网络先驱们的开创性工作,终于建立起了与电信网中所使用的电路交换技术完全不同的分组交换技术,它能很好地满足当部分网络结点被摧毁以后,其余网络结点仍然能够正常维持通信的要求。理论的可行、试验的成功

则,即各个网络的自治性、尽力而为传输模型、无状态的路由

设备、非集中式的控制。在这一思想的指导下,TCP/IP协议的提出[3]、完善及其在Unix系统上的广泛实现,为各种异构网络系统的互连、互通提供了现实支持。各种局域网的广泛普及、传统互联网应用(E2mail、FTP、Telnet等)的日渐成型、新的协议和机制(UDP、EGP、DNS等)的逐步制定,共同主导了这一阶段互联网的发展。此外值得注意的是,这一期间OSI制定了OSI/RM[4],该参考模型从网络系统的开放性入手,对计算机网络体系结构进行了颇为严谨的定义,它对互联网体系结构研究起到了一定的理论指导作用。

(3)应用服务蓬勃发展阶段(20世纪90年代初至今)自20世纪90年代初以来,由Berners2Lee发明的WWW技术为互联网的应用模式带来了革命性的变革,它以其简单易用、方便快捷、图文并茂等诸多优点迅速地将互联网推向普及,并且它恰逢其时地迎合了互联网的商业化趋势,因而势所

3)基金项目:国家重点基础研究发展973计划(2003CB314801)和国家自然科学基金(No.60573133)。

・15・

必然地引发了一场互联网应用发展大风暴。在此期间,在线点播、远程教育、视频会议、移动计算等各种新的互联网应用和服务如雨后春笋般层出不穷,互联网迅速遍布世界各地,渗透到各行各业,越来越与人们的日常生活密不可分,日渐成为人类信息社会的主流组成部分。

在短短几十年中,互联网规模、用户数目、数据流量和经济效益的指数增长,显示了互联网的巨大成功。但是,随着互联网商业化趋势的进一步加剧、新兴网络技术的大量涌现和互联网应用的飞速发展,传统互联网体系结构所存在的缺陷与不足变得日益明显和突出,如服务质量难以保证、网络安全缺乏保障、IP地址日渐匮乏、服务不能灵活定制等。尽管人们提出了IntServ/RSVP[5]、DiffServ[6]、TrafficEngineering[7]等QoS方案,以及包括IPsec在内的各种网络安全机制[8]来对传统互联网进行改进,但总的来说效果并不理想。严峻的现实迫使我们回过头来对互联网体系结构进行重新审视,以期从互联网体系结构内部去寻找解决问题的根本办法。

A5.关于资源的管理、控制和分配的研究。设计合理的

2 互联网体系结构概念剖析

2.1 互联网体系结构的定义

题之一,Clark、[9~13]。Clark在1988年发表的论文[9]8条需求目标(即互连各种网络、抗部分网络失效、支持多类型服务、能容纳异构网络、资源分布式管理、成本效益较高、主机易于联网和资源使用可计费,本文依次将它们记为G1、G2、…、G8),是总结早期互联网体系结构研究工作的经典文献。尽管有一系列文献讨论互联网体系结构,但由于互联网从一开始就是一门具有较强实践性的工程技术学科,因此互联网体系结构一直是一个没有得到严格定义的概念。一般说来,互联网体系结构是“网络体系结构”这个更一般概念的特例,而后者是指导网络技术设计(尤其是关于网络的协议、机制和算法的设计)的一组抽象设计原则[13]。就网络体系结构而言,其主要任务是要为研究人员提供在多种可选方案中进行审慎选择的决策指导;其主要目的是在保证满足网络需求目标的同时,保证这些技术决策能在网络演进过程中保持一致性和连贯性。一般地,网络体系结构的研究主要包括以下几个方面的内容:

A1.关于网络系统构成要素的研究。确定网络的覆盖范围,定义网络系统所涉及的物理实体和逻辑实体,区分网络的端系统和中间系统,研究它们各自的基本功能、内部结构、连接形式和实现途径等。

A2.关于命名、编址和路由的研究。命名网络中的实体,制定适宜的地址编排方案,设计网络通信中的路由机制和算法,并考虑这三者之间的相互联系及实现方法。

A3.关于网络协议模块化方法的研究。一般采用结构分层、接口开放的思想,将网络功能进行垂直分割,协议以“Last2on,First2off”栈式结构组织。由于OSI/RM对这一思想的强化和绝对化,所以“分层”几乎成了“网络体系结构”的代名词。

A4.关于网络系统中的状态和功能部署位置的研究。探讨哪些功能应该在端系统上实现、哪些功能该在中间系统上实现;研究与网络有关的状态信息应该保存在什么地方,如何维持和撤销等。

资源管理方案、高效的资源控制机制、可行的资源分配策略,满足不同的QoS要求,既要提高网络资源的利用率,又要防止出现网络拥塞。

A6.关于网络的功能、性能和管理的研究。确定网络的主要功能和性能指标,研究相应的实现技术;制定网络的使用、运营和维护等方面的管理措施;考虑网络的安全级别及范围,并研究适宜的安全保障技术和措施。

可见互联网体系结构是专指于互联网系统的网络体系结构,其合理与否将直接影响互联网系统的功能和性能,并将最终决定整个互联网能否持续、稳定和协调地发展。综合考虑了互联网的历史、发展与现状,并结合我们对互联网的长期研究实践,本文将互联网体系结构概括定义如下:

定义1(互联网体系结构) 互联网体系结构是设计和构造整个互联网系统的科学,。,,8(G1~G8),而逐渐发展。在这些设计原则的指导之下,互联网已经形成了自己所特有的构成元素、技术方法、实现协议、体系结构特征和管理运营方式等,习惯上也将这一系列内容的总和统称为互联网体系结构。

需注意的是,互联网最初的8条需求目标是按紧要程度依次递减的优先关系排列的,而这种优先关系在现行的互联网体系结构中已经发生了一些微妙的变化,如其中一部分目标(如G3、G4、G5和G6)的内容得到了更多的扩充,还有一部分目标(如G5、G6和G8)的重视程度也得到了提升。需求目标的这种变化恰恰是现行互联网体系结构面临重重困境的主要原因之一。

2.2 互联网体系结构的重要设计原则

本文将指导传统互联网体系结构设计的重要设计原则总结归纳成如下几条,其中一些设计原则现在已经面临严峻挑战,本文将在第3部分对此进行深入分析。

P1.开放性原则。早期互联网把与各种网络系统互连、互通作为第一目标(G1),为此产生了“Open2ArchitectureNetworking”和“OpenSystemsInterconnection”两种重要的联网思想,它们都将“开放性”放到首位。互联网中的开放性原则是指:网络系统应该具有结构、功能、接口、协议甚至源码的开放性,并允许人们能够自由地对技术进行改造和创新。开放性往往需要通过规范化和标准化来保证,互联网中所特有的RFC文档是一种行之有效的组织方式。

P2.分组交换原则。由于ARPANET特殊的军方背景,所以网络在假设的遭受战争打击而部分失效的情况下依然能够继续运行的要求(G2)就显得格外重要。这一目标实质上排除了采用那些其成功强烈依赖于通信过程中持续地、固定地、独占地使用某一特定线路的通信技术(如电路交换技术)的可能;而以“存储2转发”方式工作的分组交换技术[2]能很好地满足这一要求,自然被确立为ARPANET的基本支撑技术,并成为互联网最具代表性的技术特征之一。

P3.端到端原则。网络系统中的状态和功能究竟应该部署在什么位置(A4),是影响网络的总体性能、运营方式和管理模式的重要问题,互联网中的端到端原则专门针对这一问题。端到端原则的最初表述[14]是:一种应用功能只有在位于

・16・

通信系统端点的应用的知识和帮助下才能被完全和正确地实现,因此,将提供这种功能作为通信系统本身的性质是不可能的。这一设计原则为互联网奠定了“核心简单、边缘智能”的基本结构,核心网络只提供简单和通用的传输服务,只维持最少的传输状态信息(如路由信息等),而数据可靠性、安全性、完整性等功能都留给端系统去实现,引入新应用也不需修改核心网络。

P4.透明性原则。互联网中的透明性原则包含两层意思[12]:互联网采用单一的全局逻辑编址方案;从源端到目的端的数据分组能够不被改变地流经网络。透明性原则在传统互联网中得到了较好的贯彻,相应的概念也反映出了传统互联网的基本体系结构特征,即采用基于32位IP地址的TCP/IP协议,分组以端到端透明的方式传送,IP地址作为端系统的唯一标识。

P5.协议分层原则。分层历来被视为最重要的网络体系结构原则,OSI/RM一开始就建立起了严格的7层模型,并详细定义了各层功能[4];互联网则是在TCP/IP协议的设计和实现过程中逐渐形成了功能清晰的协议层次划分。,P6.通用性原则(G3)必然意味着互,它既要适应和满足尽可能多的应用的需求,又不能偏袒于任何特定的应用,这就是互联网的通用性原则。这一设计原则指导了TCP协议从早期IP协议中的分离[9],从而使IP协议成为一个单独的通用传输协议,提供最基本的“尽力而为”传输服务;而那些与特定应用相关的协议则构筑于其上。

P7.异构性原则。互联网是一个高度异构的网络,在组网技术、线路特性、应用需求、联网主机类型和软件运行环境等方面存在各种各样的异构性。异构性原则要求互联网在技术选择和协议设计时应充分考虑到网络环境中的各种异构性(G4),并给予支持。互联网中通用的IP协议屏蔽了下层网络的异构性、广泛采用的标准TCP/IP实现支持了上层应用

的异构性“,核心简单、边缘智能”的基本结构适应了联网主机

软/硬件环境的异构性。

P8.可扩展性原则。网络可扩展性的目标是指在网络规模不断增长、服务功能日渐扩充和实现技术飞速发展的情况下,网络体系结构应留有足够的余地来适应这种变化,并将由这种扩展所引起的性能损失、操作开销和资金开销降到尽可能小的程度。互联网中的可扩展性一般包括规模、结构、功能、协议和服务等方面。互联网一开始就关注了其规模的可扩展性,并由此产生了子网自治、自包含分组、路由设备、分级路由模型(域内IGP、域间EGP)、域名系统(DNS)等一系列概念,因此互联网在这一点上相当成功;至于其他方面的可扩展性,互联网反反复复、修修补补的解决方案尚不尽人意。

P9.分布式原则。互联网是一个巨大的分布式系统,存在缺乏全局时钟、故障彼此独立、并发难以控制等问题,这是。互联网的设计者很[2](G5)列为了分布式系统的设计与(P3)和透明性原则(P4)为。互联网中的多数协议机制都考虑到了网络的分布式特征,如超时重传、滑动窗口、三次握手等。

此外,还有许多较为具体的互联网体系结构设计原则,如资源共享原则(P10)、尽力而为原则(P11)、区域自治原则(P12)、结果缓存原则(P13)、速度优先原则(P14)、原子操作原则(P15)、排队缓冲原则(P16)、分类处理原则(P17)、前后兼容原则(P18)、预留资源原则(P19)、渐进部署原则(P20)等,限于篇幅,余者不再冗列。上述若干设计原则之间的交织、渗透和迭用,产生了很多有代表性的技术、方法和机制,并反映在了互联网协议的设计和实现中,从而形成了互联网鲜明的体系结构特征。互联网体系结构的研究内容、需求目标、设计原则、技术方法、具体协议、以及体系结构特征等内容要素之间具有紧密的逻辑联系(见表1),因此互联网体系结构研究是一门多要素有机关联的系统科学。

表1 现行互联网体系结构各主要内容要素之间的关系3

需求目标

主要涉及的研究点主要相关设计原则

G1A1,A2,P1,P4,P5,P7,P8,G2A1,A2,P2,P3,P4,P9,P10,分组交换,差

G3A2,A3,P2,P3,P5,P6,P7,P8,Socket,QoS,

G4A1,A2,P1,P5,P7,P8,R12,LAN技术,

G5A2,A4,P3,P4,P7,P9,P10,路由,拥塞,流

G6A1,A3,P3,P4,P10,P13,ALF,ILP,XTP等

G7A1,A2,P1,P3,P5,P6,P7,通用NOS,

G8A1,A5,P2,P3,P6,产生的技统计复用,术和机制路由设备

子网化,

代表协议及方案相应体系结构特征

BGP,IP,DNS等

多按字节流量计费按IP地址及分组的大小计费区别计费能力较低

错控制,重传尽力而为IP,其上协议进行e2e处理健壮,分组交换,优雅降级

多播,安全

TCP,UDP,FTP,HTTP,SMTP,RTP,IPsec等

无线,移动通用的IP,各种LAN协议等异构包容,

IP虚拟网

控,网络QoS

OSPF,TCP,ARP,IntServ,DiffServ,ICMP,SNMP等

视特定情况进行的各种优化通用,但并不高效

配套硬件软/硬件支持,ISP能提供服务规模经济,操作简单

开放,网际网

协议分层,灵活,易扩展

非集中式的控制和管理

  3注:由于概念之间有交叉,所以这里只选取了关联程度较为紧密的内容进行大致归类。

3 现行互联网体系结构所面临矛盾的剖析

由于现行互联网体系结构基本成型于上个世纪70、80年代,而由WWW技术所引发的互联网应用热潮却开始于上个

世纪90年代,这必然导致设计时所考虑的情况与具体的应用环境之间存在不一致性。尤其是随着互联网的进一步普及和商业化,以及更多的新兴技术(如无线、多播、移动等)的不断发展,更新的应用类型(如在线点播、虚拟现实、交互式游戏

・17・

等)的大量涌现,更高的应用需求(质量可保证、用户可管理、功能可扩展、安全可保障等)的不断提出,现行互联网体系结构的不足和局限性日渐凸现,主要表现为:网络透明性正在消失[12]、路由器越来越复杂[15]、信任基础逐渐丧失[16]、互联网变得越来越脆弱[17]等。基本上沿袭了传统互联网体系结构旧制的现行互联网体系结构,实际上已经陷入了重重矛盾之中,本文认为现行互联网体系结构所面临的总矛盾(记为C0)是:互联网体系结构的因循旧制与已经发生改变的应用环境之间的矛盾。下面从6个方面对现行互联网体系结构所面临的各种具体矛盾进行深入分析。

C1:单一的数据通信服务能力与多样化的应用需求之间的矛盾

互联网的设计初衷是支持文件传输、远程访问这类单纯的数据通信,因此除了对可靠性要求较高以外,对时延、带宽、抖动等均有较大的容忍度。这种应用需求奠定了互联网“核心简单、边缘智能、尽力而为”的基本结构。然而,随着互联网的规模和使用人数的指数式剧增,用户的多样化应用需求日益增长,尤其是VoIP、视频会议、务质量的应用的逐渐普及,了如何支持多种通信():互联网,其体,而没有单独的控制/管理平面;同时,应用层直接架构在传输层之上,其他网络功能的扩展都基于只能提供尽力而为服务的数据传输平面来完成。由于核心网络中的路由交换设备的功能过于简单,只能提供尽力而为的数据传输服务,因此互联网也难以在功能简单、节点独立的核心网上对网络资源进行全局调度和控制,服务质量得不到根本保证乃势之必然。

C2:固定化的分层协议实现与服务的灵活高效性之间的矛盾

分层的TCP/IP协议是互联网成功的重要原因之一,同时它又能与理论上已被广泛接受的OSI参考模型较好地对应,所以协议分层一直都被视为网络体系结构中的金科玉律。不可否认,协议分层思想确实具有逻辑结构较为简单、各层的功能相对独立、易于实现和维护等优点,但协议分层实现也意味着每层的功能在其协议数据单元被传到下一层之前就已完成,因此每一层都必须分别进行优化,这显然与数据操作功能实现的高效性相悖。事实上,互联网中固定化的分层协议实现的缺点已日渐显露:

①各层中反复出现的相似功能(如分层复用[18]、差错处理、流量控制等)造成了冗余开销;

②面对低出错率的高速传输技术(如光纤),原有协议中被固化的复杂实现机制显得不合时宜;

③许多协议在设计时对下层传输有一些隐含的假设,但实际情况并不一定与假设相符[15];

④出于性能的考虑,一方面上层在封装分组时可能用到下层的信息(如最大传输单元MTU),另一方面下层在成帧和分片时也可能需要与上层应用有关的信息(如具有应用语义的ADU的大小),但严格的协议分层阻碍了不同层(尤其是非相邻层)之间的信息交流;

⑤TCP/IP协议的信息隐藏性不强,模块化程度不高,因此难以支持动态的服务组合和灵活的个性化服务定制,新服务的部署要经历漫长的协议重新设计和实现过程。本文认为出现上述种种弊端的根本原因在于:源自于模块化程序设计思想的协议分层概念被过度地绝对化和泛化,同时互联网的分层协议实现又以不完全模块化的形式被固定化。模块化程序设计(也称结构化程序设计)思想诞生于20世纪60年代,盛行于20世纪70、80年代,它对互联网协议的分层、设计和实现产生了巨大的影响[19],并且其强大的技术惯性继续影响着新协议的设计与实现。互联网体系结构按模块化程序设计的思想分层组织成不同的功能模块,位置越高的层次越接近于应用领域,概念的抽象层次也就越高;位置越低的层次与传输和通信领域的关系越紧密,而与应用领域的关联也就越少。由于上层的模块要调用下层的模块,因而不可避免地会出现与应用相关的上层模块功能反而要依赖于与应用无关的下层模块功能的情况。所以,当下层协议模块的实现细节发生变化时,上层协议模块的功能和性能也相应受到影响。而且,互联网中的,,。由此可见,在互联网体,协议的,而应该更多地借鉴和采用新的软件开发方法(如基于构件的软件开发[20]等),以保持互联网体系结构的构件化和柔性。

C3:端到端的状态功能分配与大量涌现的中间盒之间的矛盾

中间盒(middlebox)[21]是近年来在互联网体系结构研究中讨论得最多的话题之一,它是指部署在源与目的主机之间的数据传输路径上的、其功能又不同于通常IP路由器的标准功能的任何中介设备。在今天的互联网中,中间盒的种类和数目都越来越多,包括NAT、SOCKS网关、防火墙、代理服务器、Web缓存等。虽然多数中间盒都是为了弥补原来互联网体系结构功能和性能上的不足而产生的,如NAT是为了解决IP地址匮乏的问题,防火墙是为了解决互联网安全上的不足,Web缓存是为了提高网页浏览的速度等,但中间盒的出现对传统互联网体系结构中的端到端原则(P3)和透明性原则(P4)构成了巨大的挑战。因为它背离了传统互联网“核心网络功能尽量简单和无状态”的设计宗旨,并由此带来了中间节点难以穿越、协议模型需要修改、端到端数据完整性丧失、故障率大大增加、管理和配置更加复杂等一系列问题。最关键的问题在于这一矛盾尖锐地触及到了互联网体系结构的本质,并进而影响到了互联网体系结构的未来发展方向。

C4:安全管理能力的先天不足与信任的普遍丧失之间的矛盾

由于早期资助者特殊的军方背景,互联网体系结构一开始仅考虑了军事通信中所普遍采用的链路级加密方案[22],之后互联网在很长的一段时间里又只是维持在成分较为单纯、目标基本一致、道德普遍遵守、彼此相互信任的科研群体当中,因此互联网体系结构中的安全管理问题一直没有得到足够的重视。但是,当互联网逐渐由军用转为民用、由科研性质为主变成商业运营为主时,互联网最初的建设者和使用者的共同理想目标已不复存在,互联网体系结构所依赖的用户彼此之间的相互信任关系也几乎丧失殆尽。于是,互联网体系结构中安全管理能力的先天不足也就暴露无遗:病毒防不胜防、攻击频频发生、垃圾邮件泛滥、隐私难以保护、网上欺诈盛行等。

・18・

针对这一问题,现在的研究人员所普遍采用的办法是向已有协议中加入各种安全措施(如IPsec),但信任崩溃的问题并不是仅仅通过给已经设计好的协议再“补”上加密算法就能解决。实质上,互联网脆弱性的根源在于其体系结构缺乏对用户进行标识、验证、授权和审计的能力,因而不能有效地约束、管理和维护信任关系,所以解决这一矛盾必须从互联网体系结构本身入手,研究全局性的整体解决方案。

C5:互联网演进的可控性与复杂程度的非线性增长之间的矛盾

互联网的成功很大程度上是由于其体系结构具有良好的可演进性,这当然应该归功于前面提到的若干设计原则,但一个更为重要的事实是:互联网体系结构对于变化的适应性往往是以增加系统的复杂性为代价。对于互联网这种十分庞大的人工系统,随着其规模的不断扩张,其理论和实际上的复杂性的增长都显示出小规模网络所没有的在体系结构、设计和工程方面的非线性(Architecture,Design,andEngineeringnon2linearity)[15]。也即是说,互联网在不同规模和层次上的抽象具有高度的自不相似(self2dissimilar)特性。①放大(amplification),,;

②耦合(coupling) 随着互联网规模的增大,其构成部件之间的依赖性也常常增大,于是一个局部问题往往会引发一连串的连锁反应。

在今天的互联网中,分组交换原则(P2)、端到端原则(P3)和透明性原则(P4)所标榜的“核心网非常简单”并不是事实,或者更确切地应该说:核心网功能虽然简单,但实现却越来越复杂。事实上,无论是从硬件的逻辑门电路数、软件的指令条数来看,还是从可靠性和可维护性来看,分组交换都表现得既不比电路交换更简单,也不比电路交换更有效[15]。互

(complexi2联网的发展实际上陷入了“复杂性/健壮性螺旋”

ty/robustnessspiral)的窘境[17]:健壮性设计要求→实现复杂性增加→出现新的脆弱性→考虑更多的健壮性→必须增加更多的复杂性→…。可见,互联网要持续、稳定、协调地向前发展所面临的最大挑战是:如何把演进过程中复杂性的增加最大程度地限定在可以掌握和控制的范围内。

C6:工程技术的局限性与商业化带来的社会问题之间的矛盾

互联网的应用已经渗透到人类社会中政治、经济、文化、教育、国防等各个领域。作为人类社会主流的一个重要组成部分,今天的互联网所面临的已不再是单纯的技术问题,更多的是在商业化趋势日益加剧的情况下,参与建设和使用互联网的各方由于各自不同的、甚至根本对立的利益目标而产生

(tussle)[16]。文[16]将当的矛盾和冲突,Clark称之为“扭斗”

前互联网中的扭斗空间归纳为经济、信任和开放3个方面;并且指出,随着环境的变化、时间的推移,旧的扭斗可能发生改变,而新的扭斗又会不断出现。面对互联网中不断动态变化、此消彼长的诸如信息共享与版权约束、言论自由与政府控制、不良行为与社会责任、自由竞争与ISP垄断、信任丧失与安全管理等种种“扭斗”,传统的仅依靠工程技术来解决的方法已经变得越来越不切实际:技术越来越复杂到难以控制,而根本问题却并没有得到解决。

扭斗的概念是从体系结构高度对互联网现状及发展的高

度概括和精炼抽象,它实际上反映了互联网商业化所必然带来的种种社会问题,从而将互联网的社会性与其技术性放到了同等重要的地位,改变了从前在互联网研究中普遍把注意力单纯集中在寻求技术解决途径的做法。因此,在互联网体系结构的研究中,应该将工程技术方法和社会科学方法综合起来,对于一些单纯用工程技术方法解决起来比较困难的问题,应当适当寻求非技术的解决途径。

4 新型互联网体系结构的研究和探索

自从互联网进入应用服务蓬勃发展阶段以来,原有互联网体系结构对于新的应用环境的不适应性就开始逐渐显露(见C0);相应地,国际国内网络研究界改造传统互联网体系结构和探索新型互联网体系结构的步伐就一直没有停息。1989年Tennenhouse用的不合理性[18],他与Clark年提出了应用级组帧F()[10]:应该由应用而、失序和延迟时应该怎样处理。F,他们同时又提出了集成层处理ILPIntegratedLayerProcessing)的概念。ALF与ILP有助于减少由于分层中一些不必要的协议开销而造成的性能衰耗,它们实际上已经触及并试图解决互联网体系结构所面临的矛盾C2。这些思想对其后的互联网体系结构研究工作起到了很好的指导作用。

之后,国际网络研究界又相继开展了关于主动网[23]、可编程网[24]等方面的研究工作。主动网的研究虽然取得了一些成果,但它不区分端系统和中间系统,试图将互联网中所有结点都改造成主动结点,因而破坏了传统互联网体系结构中的透明性原则(P4),总的来说效果并不理想。而可编程网研究的不足在于它仅仅在框架模型和实现原型这两个方面开展工作,缺乏完善、系统的体系结构理论指导。自2000年开始的新一代互联网体系结构NewArch[13]的研究,更多地关注了互联网中出现的各种新的现象和问题,产生了不少颇有价值的研究成果,如对端到端原则的再思考[25]、对互联网中Tus2

[26]

sle的研究、对新的网络编址方案和路由协议[27]的研究等。最近由Clark等人提出的KnowledgePlane[28]概念,则更富创见地拓展了互联网体系结构研究的方法和思路,能够较好缓解现行互联网体系结构所面临的种种矛盾(C1~C6),但实现起来还比较困难。

在众多关于未来新型互联网体系结构的研究中,特别值得提及的是由全球多所大学和多家科研机构共同合作实施的PlanetLab[29]研究计划,它采用的是以网络覆盖(overlay)为原则来改造传统互联网体系结构的研究思路(见图1)。Planet2Lab身兼各种研究项目的试验床和各种新服务的开发、部署和运行平台的双重角色,通过在现有互联网之上覆盖一层以扩展互联网功能和增强互联网性能为目的的逻辑网络,从而将现有互联网从单一的数据传输网络变革成为一个能够提供各种网络服务的全球信息基础设施。PlanetLab所采用的基本结构如图2所示。嵌入在互联网中的每个PlanetLab结点都是功能强大的计算机,它们的资源被划分成多个切片(slice),一个切片就是分布在PlanetLab中的多台计算机(其中的每一台计算机都被多个切片分割成多个虚拟机器Virtu2alMachine)对应资源的集合,而每一种网络服务就运行在一个切片之上。PlanetLab研究计划已经涵盖了网络测量、资源

・19・

分配、应用层多播、分布式哈希表、广域分布式存储、分布式查询处理、网络管理和监控、内容分发网络等多项研究,当前关于覆盖网(OverlayNetworks)、对等网(P2P)等网络热点研究领域中的很多研究项目都与PlanetLab研究计划相关。Plan2etLab研究计划的最大优势在于:它为提升现有互联网的容量、安全性和可靠性,以及增强核心网络的智能性和服务能力,提供了合理可行、易于实现、代价相对较低的崭新思路,因而它是确保现有互联网体系结构向未来新型互联网体系结构平滑过渡和渐进演化的良方

2345678910

1114

图1 

PlanetLab

151617

18

19

20

图2 PlanetLab系统的基本体系结构

结束语 本文对互联网体系结构的起源、发展和现状进行了归纳,剖析了互联网络体系结构的概念、主要研究内容和若干条重要设计原则,进而探讨了互联网体系结构各主要内

容要素之间的内在联系,从而将互联网体系结构研究的方方面面统一成为一门逻辑联系紧密的学科。然后从互联网现阶段所面临的诸多挑战入手,深刻反思了现行互联网体系结构本身所存在的缺陷和不足,深入剖析了现行互联网体系结构的重重矛盾,并对人们变革传统互联网体系结构和探索新型互联网体系结构的相关研究工作进行了总结。以本文研究工作为基础,借鉴和吸纳了开放数据网(ODN)、NewArch、

NGN、PlanetLab、Grid以及软件体系结构等的研究成果和方

2522232421

法,我们提出了一种结构分层、功能分面、基于交互、面向服务的新一代网络体系结构模型INSA[30],进一步展开了对新一代互联网体系结构的深入研究。

致谢:衷心感谢顾冠群教授对本文研究工作的悉心指导!

26

272829

30

参考文献

1

LeinerB,CerfV,ClarkD,etal.AbriefhistoryoftheInternet.http://www.isoc.org/internet/history/brief.shtml.2003212210

BaranP.OndistributedcommunicationsNetworks.IEEETrans.onCommunications,1964,12(1):1~9

CerfV,KahnR.Aprotocolforpacketnetworkinterconnection.IEEETrans.onCommunications,1974,22(5):627~641

ISO.InformationProcessingSystems2OpenSystemsIntercon2nection2Basicreferencesmodel.ISO27498,1984

WroclawskiJ.TheuseofRSVPwithIETFintegratedservices.RFC2210.1997

BlakeS,BlackD,CarlsonM,etal.Anarchitecturefordifferentia2tedservices.RFC2475,December1998

AwducheD,ChiuA,ElwalidA,etal.OverviewandprinciplesofInternettrafficengineering.RFC3272,May2002

BellovinS,SchillerJ,KaufmanC.SecuritymechanismsfortheInternet.RFC3631,December2003

ClarkD.ThedesignphilosophyoftheDARPAInternetproto2cols.ComputerCommunicationsReview.1988,18(4):106~114ClarkDD,TennenhouseDL.Architecturalconsiderationsforanewgenerationofprotocols.ComputerCommunicationsReview,1990,20(4):200~208

CarpentertheInternet.RFC1958,RFC2775,February2000,al.Developinganext2generationInternethttp://www.isi.edu/newarch/WhitePaper.pdf,2000

SaltzerJH,ReedDP,ClarkDD.End2to2EndArgumentsinsys2temdesign.ACMTrans.onComputerSystems,1984,2(4):277~288

BushR,MeyerD.SomeInternetarchitecturalguidelinesandphi2losophy.RFC3439,December2002

ClarkD,WroclawskiJ,SollinsD,etal.TussleinCyberspace:de2finingtomorrow’sInternet.Proc.ACMSIGCOMM’02,2002WillingerW,DoyleJ.RobustnessandtheInternet:designande2volution.http://netlab.caltech.edu/pub/papers/part1—vers4.pdf,2002.

TennenhouseD.Layeredmultiplexingconsideredharmful.In:Proc.IFIPWorkshoponProtocolsforHigh2SpeedNetworks,NorthHollandPublishers,1989.143~148

WrightGR,StevensWR.TCP/IPillustrated,volume2:theim2plementation.1stedition,Addison2WesleyPubCo,1995.北京:机械工业出版社(经典原版书库),2002

SzyperskiC,GruntzD,MurerS,etal.Componentsoftware:be2yondobject2orientedprogramming.2ndEdition.Addison2Wes2ley,2002

KempfJ,AusteinR.TheriseofthemiddleandthefutureofEnd2to2End:reflectionsontheevolutionoftheInternetarchitecture.RFC3724,March2004

ClarkD,ChapinL,CerfV,etal.TowardsthefutureInternetar2chitecture.RFC21287,December1991

TennenhouseD,WetherallD.Towardsanactivenetworkarchi2tecture.ComputerCommunicationsReview,1996,26(2):5~18CampbellAT,DeMeerHG,KounavisME,etal.Asurveyofprogrammablenetworks.SIGCOMMComputerCommunicationReview,1999,29(2):7~23

BlumenthalMS,ClarkDD.RethinkingthedesignoftheInter2net:theendtoendargumentsvs.thebravenewworld.ACMTransactionsonInternetTechnology,August2001

ClarkD,BradenR,etal.FARA:Reorganizingtheaddressingar2chitecture.Proc.SIGCOMM’03FDNAWorkshop,Karlsruhe,August2003

XiaowaiY.NIRA:AnewInternetroutingarchitecture.Proc.SIGCOMM’03FDNAWorkshop,Karlsruhe,August2003

ClarkDD,PartridgeC,RammingJC,etal.AKnowledgePlanefortheInternet.Proc.ACMSIGCOMM’03,2003PlanetLab.http://www.planet2lab.org,2006杨鹏,吴家皋.基于交互、面向服务的新一代网络体系结构研究.电子学报,2005,33(5):804~809

・20・