7.2 网络分层体系结构

计算机网络系统是一个十分复杂的系统。将一个复杂系统分解为若干容易处理的子系统,然后“分而治之”逐个加以解决,这种结构化设计方法是工程设计中常用的手段。分层就是系统分解最好的方法之一。而分层结构第一件事情,就是要明确各个层之间的协议。

7.2.1 协议的要素

通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要能够协同工作以实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎么交流及何时交流,都必须遵循某种互相都能接受的规则。这些为计算机网络中进行数据交换而建立的规则、标准或约定的集合就称为网络协议(Protocol)。网络协议主要由以下3个要素组成:

①语义(做什么)。涉及用于协调与差错处理的控制信息。规定了通信双方如何进行数据交换。包括需要发出何种控制信息完成何种动作,以及做出何种应答,对发出请求、执行动作,以及返回应答等进行规定,同时也规定了用于协调和差错处理的控制信息。

②语法(如何做)。规定了通信双方所交换信息的数据格式、编码及信号电平等。

③定时(何时做)。规定了通信过程中事件执行的顺序以及速度匹配等。

7.2.2 计算机网络分层体系

层次结构的好处在于使每一层实现一种相对独立的功能。每一层不必知道下面一层是如何实现的,只要知道下层接口提供的服务是什么及本层向上层提供什么样的服务就能独立设计。系统经分层后,每一层的功能相对简单且易于实现和维护。此外,若某一层需要作改动或被替代时,只要不去改变它和上、下层的接口关系,则其他层都不会受其影响,因此具有很大的灵活性。分层结构还有利于交流、理解和标准化。

图7-2

在图7-2所示的一般分层结构中,n层是n-1层的用户,又是n+1层服务的提供者。n+1层虽然只直接使用了n层提供的服务,实际上它通过n层还间接使用了n-1层和以下所有各层的服务。

计算机网络各层次结构模型及其协议的集合,称为网络的体系结构。体系结构是一个抽象的概念,它精确定义了网络及其部件所应实现的功能,但这些功能究竟用何种硬件或软件方法来实现则是一个具体实施的问题,换言之,网络的体系结构相当于网络的类型,而具体的网络结构则相当于网络的一个实例。

计算机网络都采用层次化的体系结构。由于计算机网络涉及多个实体间的通信,其层次结构一般以图7-3所示的垂直分层模型来表示。

图7-3

这种层次结构的要点归纳如下:

①除了在物理介质上进行的是实通信之外,其余各对等实体间进行的都是虚通信。

②对等层的虚通信必须遵循该层的协议。

③n层的虚通信是通过n/n-1层接口处n-1层提供的服务,以及n-1层的通信(通常也是虚通信)来实现的。

层次结构的划分,一般要遵循以下原则:

①每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻层产生影响。

②层间接口必须清晰,跨越接口的信息应尽可能少。

③层数应适中。若层数太少,则多种功能混杂在一层中,造成每一层的协议太复杂;若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难。

世界上第一个网络体系结构是IBM公司于1974年提出的,命名为“系统网络体系结构SNA”。在此之后,许多公司纷纷提出了各自的网络体系结构。这些网络体系结构共同之处在于它们都采用了分层技术,但层次的划分、功能的分配与采用的技术术语均不相同。随着信息技术的发展,各种计算机系统连网和各种计算机网络的互连成为人们迫切需要解决的课题。开放系统互连参考模型就是在这样一个背景下提出和研究的。