浅谈计算机网络中的体系结构

2018-09-28 00:12夏杰
智富时代 2018年8期
关键词:协议体系结构分层

夏杰

【摘 要】计算机网络是由各类具有独立功能的计算机系统和终端通过通信线路连接起来的复杂系统,网络中各计算机必须遵从通信规定才能相互协调工作。为了设计这样复杂的系统,网络工作者提出了分层实现计算机网络功能的方法。

【关键词】体系结构;分层;模型;协议

计算机网络的实现要解决很多复杂的技术问题,如支持多种通信介质;支持不同厂商异种机互连,包括软件的通信约定和硬件接口的规范;支持多种业务等。一方面,正如结构化程序设计中对复杂问题进行模块化分层处理一样,将计算机网络划分成若干层次,每层完成特定的功能,各层协调起来实现整个网络系统。另一方面,计算机网络是个非常复杂的系统,若要实现在计算机网络中有条不紊地交换数据,就必须遵守一些事先约定好的规则。

通信协议是计算机网络中为进行数据通信而制定的通信双方共同遵守的规则、标准或约定的集合。在网络中通信双方之间必须遵从相互可以接受的网络协议(相同或兼容的协议)才能进行通信,如目前因特网上使用的协议是TCP/IP。

体系结构是研究系统中各组成部分及其关系的一门学科,这个术语后来被计算机网络工作者所采用,为了使计算机网络系统能够在同一原则和方法下进行设计、构建和使用,提出了计算机网络体系结构的概念,对构成整个计算机网络的主要部分及应具备的功能给出了一组定义。要理解网络体系结构,首先必须了解分层的设计思想。

层次结构的好处在于每一层实现相对独立的功能。每一层不必知道下面一层是如何实现的,只要知道下层通过层间接口提供什么服务,以及本层应向上层提供什么服务,就能独立设计。系统经过分层后,每一层的功能相对简单且易于实现和维护。此外,若某一层需要改动或替代时,只要不改变它和上下层的服务关系,则其他层次都不会受到影响,因此具有很大的灵活性。每一层的功能和所提供的服务都有精确的说明,有助于标准化。

一、一个合理的层次结构具有以下优点:

1、各层之间是独立的

某一层并不需要知道它的下一層是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。

2、灵活性好

当任何一层发生变化时,例如由于技术的变化促进实现技术的变化,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,甚至可以将这层取消。

3、结构上可分割开

各层都可以采用最合适的技术来实现,各层实现技术的改变不影响其他层。

4、易于实现和维护

因为整个的系统已被分解为若干个相对独立的子系统,这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理。

5、能促进标准化工作

因为每一层的功能及其所提供的服务都已有了精确的说明。

二、分层的原则

如果层次划分不合理也会带来一些问题。因此,在实施网络分层时要遵循以下原则:

根据功能进行抽象分层,每个层次所要实现的功能或服务均有明确的规定。

1、每层功能的选择应有利于标准化。

2、不同的系统分成相同的层次,对等层次具有相同功能。

3、高层使用下层提供的服务时,下层服务的实现是不可见的。

4、层的数目要适当。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

值得注意的是,网络体系结构中层次的划分是人为规定的,有多种划分的方法,每一层功能也可以有多种协议实现,因此伴随着网络的发展产生了多种体系结构模型。分层结构中的相关概念。

在网络通信中,通信实体是层功能实现的真正承担者(相应的软硬件),能发送和接收信息。例如,文件传输系统、电子邮件系统等,也可以是一块网卡、一个智能I/O芯片。系统中的各层次都存在一些实体,不同系统的相同层次称为对等层,对等层之间的通信称为对等层通信,而对等实体是指相互通信的两个不同系统上的同一层的通信实体。

网络服务是指相邻两层之间下层为上层所提供的操作功能或通信能力。由于网络分层的结构中的单向依赖关系,使下层总是向它的上层提供服务,上层可看成是下层的服务用户,下层是上层的服务提供者。N 层使用N-1层及以下各层所提供的服务,向更高的N+1层提供服务。

在网络分层结构中,通信协议相应地被分为各层协议,每一层都可能有若干个协议,因此,网络中提到的协议总是指某一层的协议。N层协议规定了第N层对等实体之间进行的虚通信必须遵守的规则。对等层通信所遵守的规则或约定称为同层协议。

在网络体系结构中,常提到“功能”“服务”和“协议”这几个术语,它们有着不同的含义。功能是本层内部的活动,是为了实现对外服务而从事的活动;而服务是本层提供给高一层使用的操作功能,属于外观的表象,只有那些能够被高一层看得见的功能才能称为服务;协议则相当于一种工具,对外的服务是依靠本层的协议实现的。

协议是控制两个对等实体(或多个实体)进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

协议和服务是两个不同的概念。

首先,协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。

其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务。

计算机网络的协议还有一个很重要的特点,就是协议必须将所有不利的条件都事先估计到,而不能假定都是在很顺利的条件下进行通信。例如,两个朋友在电话中约好,晚上7点在某某饭店门口碰头,然后一起吃饭,并且约定“不见不散”。这就是一个很坏的协议,因为任何一方临时有急事来不了,另一方按照协议就必须永远等待下去,这显然是不行的。因此,判断一个计算机网络协议是否正确,不但要看该协议在正常情况下是否正确,还要看这个协议能否应付各种异常的情况,哪怕这种异常情况出现的概率极其微小。因此,要设计一个很可靠的协议则并不容易。

猜你喜欢
协议体系结构分层
一种沉降环可准确就位的分层沉降仪
雨林的分层
基于数字化变电站SV报文通信可靠性问题研究
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
基于DODAF的装备体系结构设计
基于云计算的航天器控制系统自组织体系结构
跨越式跳高递进与分层设计