1.2 传统网络体系架构分析
网络体系架构的出现可以追溯到20世纪70年代。为了满足当时计算机互联的需求,IBM公司于1974年推出了世界上第一个网络体系架构[18],随后又出现了Digital公司的数字网络体系架构[19],美国国防部的传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol,TCP/IP)协议[20]等,但是不同网络体系架构之间并不能互联,只能与同种结构的网络互联。为了促进网络的发展,国际标准化组织(ISO)在当时网络的基础上,于1977年推出了不依赖任何机型、操作系统和公司的网络体系架构,称为开放系统互联(Open System Interconnection,OSI)模型[21]。OSI模型将整个网络体系架构在逻辑上分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每层用来完成不同的网络功能。这种网络分层的设计解决了异种网络互联时遇到的兼容性问题。
然而由于OSI七层网络体系架构模型是一个抽象模型,其定义复杂、实现困难、部分功能在不同层面重复出现以及效率低下等特点,使得后来的网络没有一个能够完全遵照OSI七层网络体系架构模型的标准执行。
而在OSI模型出现之前就已经诞生的TCP/IP网络体系架构,在美国军方的推动下,迅速发展起来,逐渐演变成了后来的互联网。因此,TCP/IP网络体系成为现有互联网的事实标准。TCP/IP网络体系架构,将整个网络体系分成4个层次:网络接口层、网络层、传输层、应用层。TCP/IP网络体系架构的核心是TCP和IP两个协议,其中IP负责定位数据传送过程的节点,TCP负责节点对数据的正确传输。然而由于其协议早于模型的出现,其中的协议设计及实现存在很多问题。
(1)IP地址的语义双重性
在传统的TCP/IP网络体系架构中,当主机间通过网络进行通信时,在网络层,数据分组按照IP地址在网络中进行路由选择和转发,此时,IP地址表现出该主机在网络中的拓扑位置信息属性;而当主机需要发送数据时,通常需要指定数据接收主机的IP地址,且当数据到达目的节点时,目的节点的传输层仍然需要数据分组携带的源IP地址、目的IP地址、源端口号、目的端口号、协议号等信息区分服务数据,从而实现数据向应用层的递交,在这个过程中IP地址表现出主机的身份信息属性。IP地址的语义双重属性一方面导致按IP地址前缀进行网络拓扑规划的原始设计在遭遇当前多家乡[22-23]、流量工程[24]时,给核心网络的路由规模可扩展带来极大的压力;另一方面当主机在网络中的位置发生变化时,在新的位置上的主机通常需要使用与位置信息相关的新的IP地址,此时IP地址的改变将导致以IP地址身份建立的服务连接过程中断,从而给相应的服务获取过程带来不便。
(2)层间信息依赖性
在传统的TCP/IP网络体系架构下,IP地址本来的作用是在网络层进行路由转发,但在实际网络中,IP地址既作为网络层的标识进行节点定位和路由转发,也被传输层用来区分连接,同时应用层也需要IP地址信息用以决定通信对方的身份。这种对IP地址信息过度依赖的设计使得各层的工作很难独立进行,尤其是在应用层,当一个应用程序在工作时,就必须指定通信对端的IP地址或域名(域名需要通过DNS解析转换成IP地址),这与网络体系架构层次设立的目的相违背,同时这种应用设计在当节点位置发生改变或者IP地址发生改变后,很难保持服务连接过程的持续。此外,IP地址信息过度利用的设计也使得服务数据的传输变得不太安全,网络中的第三方很容易根据IP地址信息获得服务的相关细节信息。
(3)服务资源解析不精确
在TCP/IP网络体系架构中,服务资源的解析是面向主机的。所谓面向主机就是指在获取服务资源时,我们需要首先获得提供资源的服务器的IP地址,这通常是由DNS解析映射完成的,然后通过解析到的IP地址到相应的服务器去获取资源。然而服务资源本身的变化(移动、删除等),使得服务资源的获取经常遭遇获取失败的尴尬局面。尽管当前可以采用动态域名解析等技术得以缓解,但依然不能从根本上解决问题。再者,服务资源相对路径的设置,更给服务资源的成功获取带来了极大的不确定性。此外,当前基于DNS的服务资源解析机制,很难描述服务资源在获取过程中对网络资源的需求,这也使得高于当前网络所能提供的网络资源需求的服务不能达到用户的满意程度,甚至无法使用,同时对网络资源造成一定程度的浪费。因此,面向主机的服务资源解析获取机制很难满足当前用户对所关心的服务资源本身进行服务获取的需求。
(4)服务连接不灵活
在现有的TCP/IP网络体系架构下,传输层向上层服务主要提供面向连接的可靠传输和面向数据报的非可靠传输两种传输协议,而通常的应用或服务都是绑定到具体的传输协议,甚至特定的端口号,也就是说现有的应用或服务在设计之初就已经选定了特定的传输协议,这种设计方法虽然简单,但却极大地限制了服务连接的灵活性。在当前应用和服务多样化以及多业务融合的大背景下,将应用程序和服务获取固定到某一特定传输协议的做法很难满足当前业务的需求,也很难动态适应网络状态的变化。服务获取过程中可动态改变的传输连接方式更有利于服务的获取以及网络利用率的提高。此外,在传统的TCP/IP网络体系架构下,新的传输协议(如DCCP和SCTP)很难得到有效的部署实施,也与其不具备灵活的协商机制有关。
(5)服务可信无保证
在传统TCP/IP网络体系架构下,用户获取服务的过程通常包括ARP查询,DNS查询,IP分组转发、连接建立、数据传输等过程。但是其中的每一个过程都存在一定的安全隐患,这给ARP欺骗、DNS欺骗、源IP地址欺骗、拒绝服务(Denial ofService,DoS)攻击、窃听、伪造等带来了可乘之机。此外,知名服务对应知名端口号的设计,使得恶意的网络攻击更具有针对性。传统TCP/IP网络体系架构潜在的众多安全漏洞,极大地制约着网络应用的进一步发展,人们对网络依赖而又不可信赖之间的矛盾愈显突出。
总之,基于传统TCP/IP网络体系架构的互联网在经历几个时代的快速发展之后,暴露出越来越多的问题,这些问题根源于网络体系架构本身,单纯对现有的理论技术进行简单地修补,难以有效解决问题。为此,新的网络体系架构理论模型的研究成为网络胜任未来社会发展的突破口。