第三章 计算机网络的体系结构第一节 网络体系结构概述

计算机网络由许多互连的节点组成,其目的是要在节点之间不断地交换数据,即所谓共享资源。要做到在众多节点之间有条不紊地交换数据,每个节点都必须遵守一些事先约定好的规则。这些规则明确规定交换数据时数据的格式,传输时的时间顺序、纠正错误的方法,等等。这些为进行网络数据交换而建立的规则、约定被称为计算机网络协议(proto-col)。

由于网络中的计算机分散在不同的地点,往往由不同的厂家制造,各个厂家很可能有自己的一套标准。因此,网络中计算机之间的通信过程极其复杂,要协调的地方极多,如果用一个单一的协议处理这一过程是很困难的。从我们生活、工作中的经验可以得知,把一个复杂的大任务分解为若干个相对独立的小任务来实现,往往是解决问题的一个有效方法。因此,计算机网络系统的设计也采用这种分解的方法,把计算机网络系统的功能分解为多个子功能。表现在网络协议上,就是将网络协议分成若干层,每层对某个子功能作出规定。这种分层实现的方法降低了设计的复杂程度。

计算机网络怎么会和层次有关系呢?我们可以举一个例子说明。

寄信是我们大家都做过的事情。假定北京的甲要与上海的乙通信,让我们看看这件事是如何完成的。首先,甲乙双方有一个共同的约定,就是二人都能看懂中文。于是,甲用中文在信纸上写下自己想说的话;然后,甲把信纸封装在信封里,信封上按中国的邮政规定顺序写上收信人邮政编码、收信人地址、收信人姓名及发信人地址、姓名和邮政编码,然后将这封信投入邮筒。甲的任务至此就完成了。这封信是如何传递到乙手里呢?一般用户不考虑这个问题,而把它交给邮政系统去处理。邮递员把这封信从信筒里取回邮局,邮局工作人员根据信封上的邮政编码把它分捡到送往上海的邮车里,邮车把这些信件送往火车站(如果是航空就送往飞机场),火车把邮件带往上海。在上海火车站,上海邮局的车将信件拉回邮局,再根据邮政编码将信件分发到各个分局,分局的邮递员根据信封上的地址将信件送到乙的手里。乙的任务就是打开信,读取内容。

大家看,整个寄信过程最起码分成了四层。最高层是用户层,甲、乙双方按照中文的语法和格式写信、读信。第二层是邮递人员层,双方的邮递人员负责从信筒中取出信件送往邮局,从邮局将信件送往用户手里。邮递人员不关心信件的内容,但需要知道收信人地址。地址是用户传递给邮递人员的, 可以称为这两层之间的信息。第三层是分捡人员层,从众多的信件中根据发往地址分门别类,他们不关心这些邮件从何处来,但必须依靠邮递人员的传递。第四层是传输层,由运输工具将信件从一地送往另一地。整个过程可以由图 3—1 表示。

第三章 计算机网络的体系结构第一节 网络体系结构概述 - 图1

信件的实际传递是沿着图中实线从发信人手里到达收信人手里的。但从用户的角度看,就好像是直接从发信者手里到了收信者手里(沿图中虚线)。别的层次的相应人员也有这种感觉。这是因为各层都遵循各层的规定,层与层之间通过信封上的信息进行了必要的沟通。

这样分层带来的好处是,每一层实现相对独立的功能,因而可以将一个难以处理的复杂问题分解为若干较为容易处理的小问题。这种方法在我们的日常生活和工作中随处可见,只不过我们在生活中不叫分层而叫分工合作罢了。现实生活中的分工合作是一件事由多人共同完成,而计算机网络的分层则是每层由计算机中的一些部件(硬部件或软件程序)分别承担。

这种分层带来的好处是:

  1. 各层之间是独立的。某一层井不需要知道它的下层是如何实现的, 而只需要知道下层能够提供什么样的服务就可以了。

  2. 灵活性好。当某一层遵守的规定更改时,只要上下接口(向上提供的服务和向下层要求的服务)不变,则这层之上或之下的各层都不会受到影响。因此分层结构下,每层都可以根据技术的发展不断改进,而用户却浑然不知。

  3. 易于实现和维护。这种分层结构使得一个庞大系统的实现变得很容易,因为整个系统已经被分解为若干易于处理的小问题了。

计算机网络分成若干层来实现,每层都有自己的协议。我们将计算机网络的各层及其协议的集合,称为网络的体系结构。

世界上第一个网络体系结构是IBM 公司于1974 年提出的系统网络体系结构 SNA。凡是遵循 SNA 的设备都可以很方便地进行互连。

在此之后,许多公司纷纷建立自己的网络体系结构。这些体系结构都采用分层技术,但各有各的分法,每层采用的实现技术也不尽相同。这些体系结构也都有其各自己的名称,如 DEC 公司的数字网络体系结构 DNA,ARPANET 模型 ARM 等。