网络工程案例教程(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 计算机网络体系结构

计算机网络是由多台独立的计算机和各类终端通过传输媒体连接起来相互交换数据信息的复杂系统,相互通信的计算机系统必须高度协调地工作。计算机网络体系结构从整体角度抽象地定义了计算机网络的构成及各个网络部件之间的逻辑关系和功能,给出了协调工作的方法和计算机必须遵守的规则。

1.2.1 网络的体系结构和协议

代表现代计算机网络的计算机网络体系结构是按结构化方式进行设计的,分层定义了网络通信功能,制定了各层的通信协议标准。每一层都建立在它的下层之上(除了底层)。每一层在逻辑上相互独立,且都具有特定的功能。不同的网络体系结构,其层次的数量,各层的名字、内容和功能会有所不同。然而,在所有的计算机网络体系结构中,每一层的目的都是向上一层提供一定的服务。

计算机网络的层次模型摒弃了传统的面向传输硬件的网络概念,非常适用于以业务为基础的现代网络。它使传输网成为一个独立于业务和应用的灵活、可靠和低成本的基础网,专门用于信息位流的传输。在此基础平台之上,我们可以组建各种各样的业务网,从而适应各式各样的业务和应用的需要。

计算机网络上的数据通信发生在不同系统的实体之间。实体是指能发送和接收信息的任何物体,如用户应用程序、进程、浏览器、电子邮件软件、数据库管理系统等。系统则是指一个物理的物体,可以是计算机、终端设备、网络设备等。系统中一般存在多个实体。

两个实体要成功地交换信息就必须具有同样的语言。交换什么,怎样交换及何时交换,都必须遵从互相都能接受的一些规则,这些规则的集合称为协议。协议主要由说明数据格式和结构的语法、定义数据每一位意义的语义、描述事件实现顺序的时序关系三个部分组成。

每个协议都有特定的目的,所以各个协议的功能是不一样的。但是有一些功能会经常出现在不同的协议中,如差错检测和纠正、对数据的分块和重组、为数据块编号排序、发送和接收速度的协调匹配等。协议的设计过程通常要考虑网络系统的拓扑结构、信息的传输量、所采用的传输技术、数据存取方式,还要考虑其效率、价格和适用性等问题。

在组建网络的过程中,考虑到网络设备各方面的特性,用户会要求把不同厂商生产的设备互联在一起。为使这些设备相互间能正常交换信息,各个生产厂商都要遵守预先制定的标准,以保证设备间协同工作的能力。尽管标准有时会延长产品的开发时间,降低设计的灵活性,但是来自用户的需求使工业界认识到使用标准的必要性。目前,标准已被网络设备的制造者接受,并正在起到促进技术发展的作用。

1.2.2 OSI参考模型

为了使不同体系结构的计算机网络都能互连,国际标准化组织(ISO)在1977年成立了专门机构研究该问题。他们提出了一种试图使各种计算机在世界范围内互连成网的标准框架,即开放系统互连参考模型OSI/RM(Open Systems Interconnection Reference Model),又称为OSI参考模型,即ISO 7498:1984国际标准。

OSI 参考模型是连接异种计算机的标准框架,为连接分布式的“开放”系统提供了基础。“开放”就是指遵循OSI标准后,一个系统就可以和其他遵循该标准的系统进行通信。

OSI 标准在制定过程中采用了分层的体系结构方法,即将一个庞大而复杂的计算机互连问题划分为若干个较容易处理的范围较小的问题。ISO/OSI的七层网络体系结构如图1-1所示。各层根据其功能,分别称为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

图1-1 ISO/OSI的七层网络体系结构

物理层建立在物理媒体上,是OSI参考模型的底层,负责在物理媒体上传输数据位。所有的通信设备、计算机等均需要用物理媒体互连起来,因此物理层是组成计算机网络的基础。物理层的功能是通过物理媒体,建立、维护和拆除实体之间的物理连接,实现实体之间的位流传输,向数据链路层提供透明的位流传输服务。

数据链路层主要的作用是通过一些数据链路层协议,在相邻节点的物理链路上建立数据链路,实现可靠的数据传输,从而保证数据通信的正确性。数据链路层的主要功能包括数据链路的管理、帧同步、差错检测和恢复、信息流量控制、数据的透明传输、寻址等。

网络层的任务是将数据信息从源端传输到目的端。从源端到目的端可以经过许多中继节点,也可能要经过几个通信子网,这是网络层与物理层、数据链路层的主要区别。网络层是处理端到端数据传输的底层,具备路由选择、拥塞控制等功能。

传输层的目标是为用户在网络上提供有效、可靠和价格合理的数据传输服务。传输层是整个协议层次结构中最关键的一层。较低层的协议一般要比传输层简单,且容易理解。对于两个需要利用网络进行通信的主机来说,端到端的可靠通信问题要靠传输层协议来解决。另外,许多网络应用也只需要在两台机器之间进行可靠的位流传输,而不需要任何会话层和表示层的服务。

会话层给会话用户提供一种称为会话的连接,并在其上提供以普通方式传输数据的方法。会话层的主要功能是数据的交换和会话的管理。

表示层的主要功能是保证所传输的数据经传输后不改变意义。各种计算机都有自己的数据信息表示方法,不同的计算机之间交换数据信息需要经过一定的转换,这样才能使数据的意义在不同计算机内保持一致。

应用层是OSI参考模型的最高层,借助应用实体(AE)、应用协议和表示服务交换信息,并给应用进程访问OSI环境提供手段。应用层的作用是在实现多个进程相互通信的同时,完成一系列业务处理所需要的服务功能。这些服务功能与业务功能(如远程文件操作、远程报文分发等)有密切的关系。

1.2.3 TCP/IP参考模型

OSI 参考模型是理论上比较完善的体系结构,它的各层协议也考虑得比较周到,但由于种种原因没有得到应用。目前得到广泛应用的是TCP/IP参考模型和符合TCP/IP协议栈标准的产品,几乎所有的工作站和服务器都配有TCP/IP协议,这使得TCP/IP协议成为计算机网络事实上的标准。

TCP/IP 参考模型源自 ARPANET。ARPANET 是最早出现的计算机网络之一,现代计算机网络的很多概念和方法都是从 ARPANET 中发展起来的。ARPANET 研究计划要求网络的通信设备和通信线路在部分损坏时,仍能正常工作,同时要求ARPANET能适应从文件传输到实时数据传输的各种应用需求。因此ARPANET研究计划要求的是一种灵活的网络体系结构,实现异种网的互联与互通。针对这些要求人们设计了TCP/IP协议族,形成了TCP/IP参考模型。TCP/IP协议之所以能迅速发展和被广泛应用,是因为它适应了世界范围内网络通信的需要。

TCP/IP参考模型与OSI参考模型有不少区别,如图1-2所示。因为TCP/IP参考模型在设计时考虑到要与具体的网络无关,所以在TCP/IP参考模型的标准中没有对最低的两层做出规定。这样,TCP/IP参考模型就只有四层。

图1-2 OSI参考模型与TCP/IP参考模型的比较

TCP/IP参考模型的最高层是应用层,相当于OSI参考模型的应用层、表示层、会话层,传输层与OSI参考模型的传输层相对应,网际层与OSI参考模型的网络层相对应,网络接口层与OSI参考模型的数据链路层和物理层相对应。在TCP/IP参考模型中,没有与OSI参考模型中的表示层和会话层相对应的层次。

网际层的主要功能是负责将源主机的报文分组发送到目的主机,源主机与目的主机可以在同一个网上,也可以在不同的网上。网际层的协议被命名为 IP(Internet Protocol)协议。IP协议的功能包括三个方面。

(1)处理来自传输层的数据段发送请求。在收到数据段发送请求之后,首先将数据段装入IP数据报,填充报头(又称头部),选择发送路径,然后将数据报传输到下一层。

(2)处理接收到的数据报。在接收到其他主机发送的数据报之后,检查目的地址,选择路由,转发出去;若目的地址为本节点IP地址,则除去报头,将数据段交给传输层处理。

(3)处理网络互联的路径、流量控制与拥塞问题。传输层在TCP/IP参考模型中处于网际层之上。传输层负责在源端和目的端主机上的对等实体间建立端到端连接。TCP/IP参考模型的传输层定义了两种协议:传输控制协议(Transport Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。TCP协议是一种可靠的面向连接的协议,能将一台主机的字节流无差错地传输到目的主机。TCP协议首先将应用层的字节流分成多个数据段(Segment),然后将一个个数据段交给网际层,发送到目的主机。在目的主机上,网际层把接收到的数据段交给传输层,传输层将多个数据段还原成字节流递交给应用层。TCP协议还要完成流量控制功能,协调收发双方的发送与接收速度,达到正确传输的目的。UDP协议是一个不保证可靠性的无连接协议,用于不需要TCP协议的排序和流量控制能力的场合。

应用层位于传输层的上面,是TCP/IP参考模型的最高层,包含所有的高层协议。最早引入的协议有远程终端协议(Telnet)、文件传输协议(FTP)、简单邮件传输协议(SMTP),以及大量的、后来不断增加的各种应用协议,如域名系统、HTTP协议等。

网际层下面是网络接口层,它是TCP/IP参考模型的底层,负责通过网络发送和接收IP数据报。TCP/IP参考模型允许主机连入网络时使用多种协议。不同的网络,网络接口层可以使用不同的协议,如局域网的Ethernet、Token Ring、X.25的分组交换网等。

按照层次结构思想构成的一组从上到下单向依赖的各层协议称为协议族,它们的具体实现常称为协议栈(Protocol Stack)。目前TCP/IP参考模型的各层已定义和开发了许多协议,并且不断有新的协议被开发出来,组成了TCP/IP协议族。TCP/IP参考模型与TCP/IP协议族如图1-3所示,图中左边是TCP/IP参考模型,右边是与参考模型各层相对应的各种协议。

图1-3 TCP/IP参考模型与TCP/IP协议族

在TCP/IP协议族中,TCP协议的协议数据单元(Protocol Data Unit,PDU,相同层次的实体间交换数据的单位)称为TCP数据段或简称为TCP段。IP协议的PDU称为IP数据报。目前广泛使用的网络接口层是以太网,它传输的位流称为帧。图1-4给出了用户数据通过TCP/IP协议栈封装的过程。

图1-4 用户数据通过TCP/IP协议栈封装的过程

用户数据在应用层(Application Layer,AppL)添加上应用层头部构成应用层的PDU,应用层PDU被发送给传输层的TCP协议,TCP协议在应用层PDU上添加TCP头部构成TCP数据段后发送给网际层的IP协议。IP协议对TCP数据段添加IP头部,构成IP数据报。若 IP 数据报的长度超过数据链路层的最大传输单元(Maximum Transmission Unit,MTU),则IP层对IP数据报进行分片(Fragment),每片上也有IP头部。IP层发送给网络接口层的数据单元是报文分组(Packet),分组可以是一个IP数据报,也可以是IP数据报的一个片。在TCP/IP协议中,将数据分组再添加头部和尾部的过程称为封装。图1-3中的网络接口层中主要是一些以太网协议标准,以太网帧封装的是IP数据报。这种逐层封装是层次式网络体系结构的典型操作。