【基础知识】
3.1.1 网络体系结构的形成
计算机网络的体系结构采用了层次结构的方法来描述复杂的计算机网络,把复杂的网络互连问题划分为若干个较小的、单一的问题,并在不同层次上予以解决。
3.1.2网络体系的分层结构
1.层次结构的概念
对网络进行层次划分就是将计算机网络这个庞大的、复杂的问题划分成若干较小的、简单的问题。通常把一组相近的功能放在一起,形成网络的一个结构层次。
计算机网络层次结构包含两方面的含义,即结构的层次性和层次的结构性。层次的划分依据层内功能内聚,层间耦合松散的原则,也就是说,在网络中,功能相似或紧密相关的模块应放置在同一层;层与层之间应保持松散的耦合,使在层与层之间的信息流动减到最小。
通常将网络的层次结构、相同层次的通信协议集和相邻层的接口及服务,统称为计算机网络体系结构。
2.划分层次结构的优越性
(1)把网络操作分成复杂性较低的单元,结构清晰,易于实现和维护。
(2)层与层之间定义了具有兼容性的标准接口,使设计人员能专心设计和开发所关心的功能模块。
(3)每一层具有很强的独立性—上层只需要通过层间接口了解下层需要提供什么样的服务,并不需要了解下层的具体内容,这个方法类似于“黑箱操作”方法。
(4)只要服务和接口不变,层内实现方法可任意改变。
(5)一个区域网络的变化不会影响另外一个区域的网络,因此每个区域的网络可单独升级或改造。
3.层次结构的主要内容
在划分层次结构时,首先需要考虑以下问题。
(1)网络应该具有哪些层次?每一层的功能是什么?(分层与功能)
(2)各层之间的关系是怎样的?它们如何进行交互?(服务与接口)
(3)通信双方的数据传输需要遵循哪些规则?(协议)
因此层次结构方法主要包括 3 个内容:分层及每层功能,服务与层间接口,协议。
4.层次结构划分原则
(1)以网络功能作为划分层次的基础,每层的功能必须明确,层与层之间相互独立。
(2)层间接口必须清晰,跨越接口的信息量应尽可能少。
(3)层数应适中,若层数太少,则造成每一层的协议太复杂;若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难。
(4)第 n 层的实体在实现自身定义的功能时,只能使用第 n−1 层提供的服务。
(5)层与层之间仅在相邻层间有接口,每一层所提供服务的具体实现细节对上一层完全屏蔽。
5.层次结构模型
层次结构一般以垂直分层模型来表示,如图 3-1 所示,相应特点如下。
(1)除了在物理介质上进行的是实通信之外,其余各对等实体间进行的都是虚通信。
(2)对等层的虚通信必须遵循该层的协议。
(3) n 层的虚通信是通过 n 层和 n−1 层间接口处 n−1 层提供的服务及 n−1 层的通信(通常也是虚通信)来实现的。
如图3-2 所示的结构中,n 层是n−1层的用户,又是 n+1 层的服务提供者。
n+1 层虽然只直接使用了n 层提供的服务,实际上它通过n 层还间接地使用了n−1层及以下所有各层的服务。
3.1.3 层次结构中的相关概念
1.实体
在网络体系结构中,每一层都由一些实体(Entity)组成,它们抽象地表示了通信时的软件元素(如进程或子程序)或硬件元素(如智能 I/O 芯片) 。
实体是通信时能发送和接收信息的软硬件设施。不同节点(或称不同系统)上同一层的实体叫作对等实体。
2.协议
为进行计算机网络中的数据交换(通信)而建立的规则、标准或约定的集合称为协议(Protocol)。
协议总是指某一层协议,准确地说,它是为对等实体之间实现通信而制定的有关通信规则、约定的集合。
一个网络协议主要由以下 3 个要素组成。
(1)语法(Syntax),指数据与控制信息的结构或格式,如数据格式、编码及信号电平等。
(2)语义(Semantics),指用于协调与差错处理的控制信息,如需要发出何种控制信息,完成何种动作及做出何种应答。
(3)定时(Timing),指事件的实现顺序,如速度匹配、排序等。
3.接口
接口(Interface)是指相邻两层之间交互的界面,定义相邻两层之间的操作及下层对上层的服务。
4.服务
服务(Service)是指某一层及其以下各层通过接口提供给其相邻上层的一种能力。
常用 4 种类型的服务原语是:请求(Request)、指示(Indication)、响应(Response)和确认(Confirm)。
图 3-3 所示为服务原语的工作过程。当
n 层向
n+1
层提供服务时,根据是否需建立连接可将其分为两类:面向连接的服务(Connection-oriented
Service)和无连接服务(Connectionless
Service)。
(1)面向连接服务:先建立连接,然后进行数据交换。因此面向连接服务具有建立连接、数据传输和释放连接这3 个阶段。
(2)无连接服务:两个实体之间的通信不需要先建立好连接,因此是一种不可靠的服务。这种服务常被描述为“尽最大努力交付(BestEffort Delivery)”或“尽力而为”,它不需要两个通信的实体同时是活跃的。
5.层间通信
(1)相邻层之间通信:相邻层之间通信发生在相邻的上下层之间,通过服务来实现。
上层使用下层提供的服务,上层称为服务调用者(Service User);下层向上层提供服务,下层称为服务提供者(Service Provider)。
(2)对等层之间通信:对等层是指不同开放系统中的相同层次,对等层之间通信发生在不同开放系统的相同层次之间,通过协议来实现。对等层实体之间是虚通信,依靠下层向上层提供服务来完成,而实际的通信是在最底层完成的。
【习题巩固】