1.3.3 计算机网络层次结构模型与体系结构研究的发展
1.网络体系结构研究的发展与演变
要深入理解计算机网络工作原理,必须要研究计算机网络层次结构模型与体系结构发展和演变的过程,这涉及以下几个问题。
(1)为什么要研究计算机网络层次结构模型与体系结构
计算机网络是一种复杂的大系统,它由多台分布在不同地理位置、独立的计算机系统组成。计算机之间要做到有条不紊地交换数据,就需要遵守一些事先约定好的网络协议。为了保证计算机网络实现各种服务功能,需要制定大量不同的协议,构成一套完整的协议体系。对于结构复杂的网络协议体系来说,最有效的组织方式是层次结构模型。
因此,计算机网络体系结构(Network Architecture)是由网络层次结构模型与网络协议组成。
(2)OSI参考模型是在什么样的背景下产生的
在20世纪70年代,世界各大计算机生产商纷纷开始将自己生产的大、中、小型机互联成计算机网络,这必然涉及通信协议与层次结构问题的研究。1974年,IBM公司提出世界上第一个网络体系结构——系统网络体系结构(System Network Architecture,SNA)。此后,很多计算机公司纷纷提出各自的网络体系结构,例如,DEC公司的数字网络体系结构(Digital Network Architecture,DNA)、UNIVAC公司的分布式计算机体系结构(Distributed Computer Network,DCA)等。不同公司的网络体系结构的共同点是都采用分层结构,但是在层次的划分上差异很大,例如划分为7层、5层或4层。每个层次的功能分配,以及采用的协议与实现技术都不相同。采用不同网络体系结构与协议的计算机网络称为异构网络,异构网络的互联是很困难的。大量异构网络的存在必然给计算机网络的大规模推广与应用带来很大困难,因此,关于网络体系结构与协议标准化的研究就被提上了日程,国际标准化组织的OSI参考模型研究就是在这样的背景下提出的。
在制定计算机网络标准方面,国际电报与电话咨询委员会(Consultative Committee on International Telegraph and Telephone,CCITT)与国际标准化组织(International Standards Organization,ISO)起着很大作用。但CCITT与ISO的工作领域不同,CCITT主要研究和制定通信标准,而ISO的研究重点主要在网络体系结构方面。
1974年,ISO发布了ISO/IEC 7498标准。1983年,该标准被正式批准使用。ISO/IEC 7498标准定义了计算机网络的七层结构模型,即开放系统互连(Open System Internetwork,OSI)参考模型。在OSI框架下,进一步详细规定了每层的功能,以实现开放系统环境中的互连性(Interconnection)、互操作性(Interoperation)与应用的可移植性(Portability)。
(3)如何理解OSI参考模型不同的表述形式
理解OSI参考模型的内涵时,需要注意OSI参考模型出现的年代。既然OSI参考模型的标准文本是1974年公布的,研究人员的研究对象只能是广域网。那么,我们可以将OSI参考模型与早期广域网的通信子网、资源子网结构做一个对照。
图1-19给出的是一个简化的OSI参考模型,这样做的好处是可以使参考模型的层次结构变得很简单。但是,当初学者开始深入学习计算机网络实现方法时,常常会引起一些误解。
图1-19 OSI参考模型的结构
如果我们将OSI参考模型和计算机网络中的两台主机之间进程通信的数据传输过程联系起来,就可以描述出OSI参考模型的表述方式(如图1-20所示)。其中,图1-20a是很多教材与著作中常见的OSI参考模型的简化表述。它将通信子网中由多个路由器与路由器互联的复杂传输路径简化成由两个路由器通过一条传输介质连接的结构。在研究网络中的计算机之间的通信过程时,简化了通信子网结构的复杂性,凸显了计算机之间分布式进程通信的本质。
当我们考虑计算机与路由器、路由器与路由器通信时,需要考虑主机A与路由器1、路由器1与路由器2、路由器2与主机B相邻端口的协议一致性问题,那么接近于真实的网络层次结构模型可以用图1-20b来描述。其中,主机A的端口1与路由器1的端口1通过传输介质连接,那么对应主机A的端口1的物理层A-1与数据链路层A-1的协议,需要和对应路由器1的端口1的物理层1-1与数据链路层1-1的协议相同;对应路由器1的端口2的物理层1-2与数据链路层1-2的协议,需要和对应路由器2的端口1的物理层2-1与数据链路层2-1的协议相同;对应路由器2的端口2的物理层2-2与数据链路层2-2的协议,需要和对应主机B的端口1的物理层B-1与数据链路层B-1的协议相同。
图1-20c给出了分布式进程通信的分组从主机A通过通信子网传输到主机B的过程。
图1-20 OSI参考模型的几种表述方式
假设主机A配置Ethernet网卡,它的数据链路层A-1采用IEEE 802.3标准、物理层采用10BASE-T标准,那么它要求与其直接相连的路由器1的端口1的数据链路层1-1也采用IEEE 802.3标准,物理层也采用10BASE-T标准,连接主机A的端口1与路由器1的端口1的传输介质是非屏蔽双绞线。
假设路由器1的端口2采用PPP协议,物理层采用光端口,那么它要求与其直接相连的路由器2的端口1的数据链路层1-2也采用PPP协议,物理层1-2也采用相同标准的光端口,连接路由器1的端口2与路由器2的端口1的传输介质是光纤。
假设主机B配置IEEE 802.11的WLAN网卡,那么与其直接相连的路由器2的端口2也必须采用IEEE 802.11的WLAN网卡,主机B的端口1与路由器2的端口2通过无线信道通信。
理解图1-20c描述的网络层次结构与数据传输过程时,需要注意以下几个问题:
第一,在互联网中,无论网络结构有多复杂、从源主机到目的主机的传输路径有多少条,路由器都可以从中找出一条最佳传输路径。这样就可以将分组通过通信子网的过程转化为路由器之间通过“点–点”通信链路实现分组存储转发的问题。
第二,不管多段“点–点”链路中采用的是有线链路、无线信道,还是光纤通道;也不管使用的物理层协议有多复杂,只要保证直接相连的两个路由器端口的数据链路层与物理层协议一致就可以。
第三,路由器包括物理层、数据链路层与网络层,它负责实现源主机与目的主机之间传输的分组通过通信子网时的路由选择与转发功能。利用通信子网的分组转发能力,源主机与目的主机的高层(传输层、应用层)协议“跨过”通信子网,实现高层协议之间的直接会话,完成分布式进程通信过程,从而为用户提供各种网络服务功能。
第四,这种分布式进程通信的分析方法既适用于互联网,也适用于移动互联网与物联网环境。
2.TCP/IP与OSI参考模型的比较
OSI参考模型与协议设计者的初衷是为世界范围的计算机网络建立统一的体系结构与协议标准。从技术的角度来看,他们追求的是一种完美的理想状态。20世纪80年代,几乎所有专家都认为OSI参考模型与协议将风靡世界。但是,事实却与人们的预想相反,OSI参考模型与协议的进展远不如最初的设想。造成OSI不能流行的主要原因是参考模型与协议自身的缺陷。OSI参考模型与协议结构复杂、实现周期长、运行效率低,并且参考模型的层次划分不合理,会话层与表示层很少被使用。有人批评OSI参考模型的设计更多的是被通信的思想所支配,很多选择不适合计算机与软件的工作方式。
TCP/IP协议适应了世界范围网络互联的需要,其特点主要表现在以下几个方面:
·开放的协议标准。
·独立于特定的计算机硬件与操作系统。
·可运行在局域网、广域网中,更适合互联网络。
·统一的网络地址分配方案,使每个网络设备都有唯一的地址。
·标准化的应用层协议,可提供多种可靠的网络服务。
TCP/IP参考模型可以分为4个层次:应用层(Application Layer)、传输层(Transport Layer)、互联网络层(Internet Layer)与主机–网络层(Host to Network Layer)。
TCP/IP参考模型与协议也有自身的缺陷,主要表现在以下方面:
·TCP/IP参考模型在服务、接口与协议的区分上不够清晰。
·主机–网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。
·OSI参考模型中物理层与数据链路层的划分是必要和合理的,而TCP/IP参考模型却没有做到这一点。
TCP/IP协议从20世纪70年代诞生以来,经历了40多年的实践检验,成功赢得了大量的用户和投资。在实际的使用中,研究人员采取两种层次结构模型相结合的方式,用数据链路层与物理层代替主机–网络层的5层结构。图1-21给出了TCP/IP参考模型、OSI参考模型层次以及实际使用的参考模型之间的对应关系。
图1-21 不同参考模型的层次对应关系
需要指出的是:尽管OSI参考模型没有达到预期的目标,但是OSI参考模型的理论、分层结构思想及协议设计方法为互联网、移动互联网与物联网技术的研究奠定了坚实的基础。