首页 理论教育 计算机网络中的OSI模型分层原理

计算机网络中的OSI模型分层原理

时间:2023-11-02 理论教育 版权反馈
【摘要】:为简化问题、减少协议设计的复杂性,大多数网络都是按照层次结构化的方式来组织并架构的,因此,OSI参考模型也建议网络系统通信协议采用分层定义的策略。OSI参考模型分层原理中的一些重要概念如下。OSI参考模型具体的分层原则如下。

计算机网络中的OSI模型分层原理

计算机网络中,协议就是通信双方的约定和规则。为简化问题、减少协议设计的复杂性,大多数网络都是按照层次结构化的方式来组织并架构的,因此,OSI参考模型也建议网络系统通信协议采用分层定义的策略。OSI参考模型分层原理中的一些重要概念如下。

1.分层协议特点

经过分层的协议有以下共同的特点。

●每一层都建立在其下层之上。

●享用下层提供的服务。

●为上层提供一定的服务。

●屏蔽所提供服务实现的细节。

2.协议堆栈

要完成一个基本的网络通信任务,仅仅靠一个协议是不够的,常常是多个协议分别承担不同层次功能所需要完成的任务,各层协议互相协作,构成一个整体,这些相互关联的多个协议构成一个“协议堆栈(Protocol Family)”或“协议族(Protocol Suite)”。

3.对等实体间的通信方式

不同系统中的相同层实体叫做对等实体(Peers)。对等实体间的通信必须遵守同层协议,其通信过程如下:数据并不是在两个对等实体间直接传送,而是由发送方实体将数据逐层传递给它的下一层,直至最下层通过物理介质实现实际通信,到达接收方;又由接收方最下层逐层向上传递直至对等实体,完成对等实体间的通信。

4.高层协议与低层协议

如上所述,协议有高低层次之分,低层协议直接描述物理网络上的通信,高层协议描述较复杂、较抽象的功能。通信双方以各自的高层调用自己低层为它提供的服务来完成通信。不仅如此,各部分之间还必须要相互识别要交换的数据格式。OSI的应用层物理层是一种由抽象到具体、自上而下的单向依赖关系,而从物理层到应用层则是把具体逐渐抽象和完善的过程。

5.协议接口

在OSI的相邻层之间有一个预先定义的界面,称为接口。接口定义了各种操作原语和下层向上层提供的服务。如果网络中每一层都有一个定义明确的功能集合,相邻层之间有一个定义清晰的接口,就能尽量减少必须在相邻层间传递的信息数量。同时,要修改某层的功能也不会影响到其他层。也就是说,只要能向上层提供完全相同的服务集合,改变下层功能的实现方式并不影响上层。

6.OSI数据流

OSI参考模型中的数据流遵从计算机网络层次化体系结构的要求。在OSI模型中,数据流实际上并不在两个同等层(不同网络设备上的对应层)之间直接流动,而是在同一机器上相邻的两层间流动,如第N层向第N+1层流动或第N-1层向第N层流动。用于数据流动的相邻层之间的界面就是上述的协议接口。

数据流在OSI层流动时并不是简单的数据传输。如图2-1所示,假设A端网络设备把数据传输给B端网络设备,其基本的过程如下。

978-7-111-48994-8-Chapter02-1.jpg

图2-1 OSI模型的数据流

A端用户(进程)数据进入第7层(应用层),装上第7层协议的控制信息后作为第6层数据送给第6层(表示层),在第6层上装上第6层协议控制信息后作为第5层数据送给第5层(会话层),依此进行下去,数据在每一层都附加上该层协议的控制信息后作为数据送给下一层,一直到第1层(最低层,即物理层)后,通过网络传输媒介发送给B端设备。

B端设备接收到数据后,先将有关物理层的第l层的协议控制信息去掉后作为第2层数据(数据链路层)向上送往第2层,第2层又去掉第2层协议控制信息后作为第3层数据向上送往第3层(网络层),依此进行下去,直到去掉第7层协议控制信息后,将原用户数据送给该机器的B端用户(进程)。

从上述的描述可以看出,在OSI的每一层,数据均不含有低层协议控制信息,各层的数据均保持相对独立。从而保证了当低层数据处理的方法发生变化时,只要相邻层之间的接口关系不变,将不会影响相邻层(主要是高一层)的功能的执行或实现。

7.OSI模型分层原则

为了能达到上述OSI模型所要实现的目的,网络设计者不仅依据网络的逻辑功能的需要来划分网络层次,还使每一层的实现有一个定义明确的功能集合,尽量做到相邻层间接口简单清晰。OSI参考模型具体的分层原则如下。

1)着眼于协议的标准化。对模型层次的划分应充分考虑到未来协议建立的标准化,并能包容现有的有关国际标准网络通信与管理协议,以保证网络向着全开放、互兼容和标准化的方向健康发展。

2)有利于优化相邻层次的接口。层次的划分依据的是功能特点,而层次间的通信并不能隔离。因此,要求层次的划分应有利于相邻层之间的接口关系的建立,以保证接口之间的通信量最小。

3)按功能抽象分类层次。对模型层次的划分是以功能为依据的。特别是那些完成相同任务的一组功能,就必须抽象为一个层次上的功能。也就是说,这些功能应单独占用一个层次。

4)层次描述的完整性。所划分模型结构的层次都应有一个明确而完整的定义和适当的表述,从而保证数据流在该层的独立性。

5)层次不能太多。模型结构的层次多,有利于管理和应用。但层次不能太多,以免系统结构繁冗。若层次过多,必然导致不利于系统的开发,也不便对层次描述和整合,综合开销大等问题。

6)层次不能太少。模型结构的层次少,有利于精炼协议。但若层次过少,将迫不得已使完全不同的功能硬凑在一个层次内,从而造成对层次的描述、开发和整合过于复杂,反而使整个系统的结构变得混沌不清。

8.OSI参考模型术语

(1)子系统

如前所述,OSI体系结构是一种分层结构,对每一个开放系统可按七个层次来划分,其中的每个划分叫做一个子系统。每个子系统完成该层所担负任务的一部分,相邻层中的子系统通过层间接口进行通信。

对于任何一个子系统,只和其上邻子系统与下邻子系统交互作用(最高层是应用进程,最底层的下面是传输介质)。各开放系统由于复杂程度不同,所拥有的子系统数不尽相同,但两个正在互相通信的开放系统之间必定使用相同的子系统。(www.xing528.com)

每个子系统内可以包含一个或多个实体。不过实体和子系统并不等同,该子系统所承担的处理任务都是由相应的实体来完成的。

(2)对等通信

对等实体之间的通信是在该层协议控制下进行的,并决定了实现该层功能实体的通信行为:

●如果两个同层实体没有使用相同的协议,它们虽然处于同一层内,但它们之间不能进行通信。

●在同一层中通常有多个协议,分别控制本层实体间进行不同目的的通信。

●两个对等实体并不能“水平地”直接进行通信,而是逐层向下或向上的过程。

(3)服务、连接和中继

1)服务。第N层实体通过完成第N层的功能,向第N+1层提供服务,这种服务被称为第N层服务。接收服务的是上一层实体,即第N+1层实体。一般单独的第N层实体是不能独立地完成向第N+1层提供所请求的服务,都需要或要求其他第N层实体的合作。必须指出的是,并非第N层内执行的所有功能都是服务,只有在高一层(第N+1层)能够看得见的那些功能才是服务。因此,第N+1层实体只能看见第N层服务,而无法看见第N层的协议,第N层协议对第N+1层实体是透明的。

2)连接。为了在两个或多个N+1层实体之间交换信息,需要在第N层利用第N层协议为这些第N+1层实体建立一个互相的联系,这种联系被称之为第N层连接。第N层连接的两端称为第N层连接端点(Connection End Point,CEP)。第N+1层实体只能通过使用第N层所提供的服务进行通信。然而,并不是所有的第N+1层实体都可利用第N层服务直接进行通信,可能需要其他第N+1层实体在它们之间起中继作用,协助转接数据,以实现通信。

3)中继。中继是OSI层中的一个功能,第N层实体利用该层的中继功能,可以把从一个对接第N层实体收到的数据转发到另一个对接的第N层实体中去。公共数据网中的存储转发功能就是这种抽象的中继功能的具体表现。

(4)连接服务方式

在OSI模型中,上下层之间提供的服务存在两种基本方式,即面向连接服务方式和无连接服务方式。

面向连接服务方式是类似于电话系统的服务模式。每一次完整的数据传输都必须经过建立连接、使用连接和释放连接三个过程,类似于使用电话时的拨号、通话、挂断。其特点是收发的数据不仅内容一致,而且顺序一致,并能即时纠错和调整流量

无连接服务方式是类似于邮政系统的服务模式。数据的传输用分组的方式,每一个数据分组均带有完整的目标地址,各个数据分组在系统中独立传送,从而它们可能经过了不同的路径,所以无法保证数据分组在发送时的顺序。可见,无连接服务不能保证收发数据的顺序一致,但具有纠错和流量控制能力。

在计算机网络中采用的是哪一种连接服务方式呢?在计算机网络系统中具体采用哪一种连接服务方式,是根据数据通信的可靠性要求确定的。当对系统可靠性要求较高时,则要求数据传输中必须有确认和重传机制作保障,而当对系统的可靠性要求不高时,则可不需要确认和重传机制。

因此,在实际的应用中,这两种连接服务方式都有不同程度的删减。多数面向连接的服务都支持确认和重传机制,当要求可靠传输时采用面向连接的服务方式。但由于确认和重传机制将导致额外开销和延迟,当某些应用对可靠性要求不高时,则可选用不支持确认和重传机制的无连接服务。

不过,在计算机网络中,最基本的连接服务是增强的无连接方式。这种无连接服务方式被加入了支持确认和重传的功能,被称之为“无连接带确认服务”。

(5)服务访问点

服务访问点(Service Access Point,SAP)是第N层服务向第N+1层实体提供的某个接口。例如,第N层服务访问点,表示第N层实体和第N+1层实体之间的逻辑接口。

第N+1层实体将通过一个第N层的服务访问点向第N层实体请求第N层服务,并通过该第N层服务访问点与第N层实体交互。为此,要求一个通过第N层服务访问点联系起来的第N层实体和第N+1层实体必须处在同一系统。

(6)服务原语

服务原语(Service Primitive)是OSI模型中相邻层之间建立相互作用并完成服务与被服务的工具与过程。其作用是:第N+1层实体通过使用第N层的服务原语来向第N层实体要求第N层服务。在OSI模型中,服务原语一共被划分成了如下四类。

1)请求(Request):服务调用者请求服务提供者提供某种服务。

2)指示(Indication):服务提供者告知服务调用者某事件发生。

3)响应(Response):服务调用者告知服务提供者响应。

4)确认(Confirm):服务提供者告知服务调用者关于它的请求的答复。

(7)数据单元

在不同的OSI层次接口中,数据传输的最小单位称为数据单元。在OSI中一共定义了三种数据单元。

1)协议数据单元(Protocol Data Unit,PDU):在不同站点的各层对等实体之间,为实现该层协议所交换的信息单元。通常将第N层的协议数据单元记为第N层PDU。PDU由两部分组成:第N层用户数据和第N层协议控制信息(Protocol Control Information,PCI)。

第N层PCI一般作为首部加在用户数据的前面,其作用是为了将第N层PDU传送到对等实体,必须将第N层PDU通过第N-1层服务访问点交给第N-1层实体。这时,第N-1层实体就把整个第N层PDU当做第N-1层用户数据,再加上第N-1层的PCI,就组成了第N-1层的协议数据单元,即第N-1层PDU。

2)接口数据单元(Interface Data Unit,IDU):在OSI模型中,把经过相邻层接口的数据单元称为接口数据单元IDU。接口数据单元的大小将根据相邻层间接口的特性确定。一个协议数据单元PDU加上适当的接口控制信息(Interface Control Information,ICI)后,就变成了接口数据单元。

3)服务数据单元(Service Data Unit,SDU):从服务用户的角度来看,并不关心下面的PDU或IDU有多大。一个第N层服务用户关心的是,下面的第N层实体为了完成服务用户所请求的功能,究竟需要有多大的数据单元。这种数据单元就叫做服务数据单元。一个第N层服务数据单元就是第N层服务所要传送的逻辑数据单元。

(8)名称、域和地址

为了标识网络中的各种对象,如实体、服务访问点和连接等,OSI参考模型规定了名称、地址、域等各种标识符的含义和用法。简单地说,第N层实体可用名称唯一标识,也可用地址标识,名称的作用范围叫做域。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈