分层体系结构 Layered Architecture
Layered Architecture 分层体系结构 网络操作系统和网络通信系统使用分层体系结构。分层结构为供应商设计与其他厂商的产品有关的硬件或软件提供了一条途径,如果没有开放和标准的协议,那么你就只好完全采用单一厂商的设备。唯一供货商、专卖系统是IBM和DEC在七十年代和八十年代初希望推给顾客的服务方式。然而,台式机器、局域网、客户机/服务器计算导致的异构系统的发展,使得人们对单一厂商提供的专卖网络系统的兴趣越来越小。
分层是一种设计趋势,它在“协议栈”一级描述不同的功能和服务。图L-4示意了经常用于进行对比的开放系统互联(OSI)协议栈。它被设计成一种开放式结构,任何厂商都能设计出与其他接受标准的厂商开发的产品能协调工作的产品。虽然OSI具有国际性,然而,它却发展缓慢。这主要是由于工业界已经建立了其他一些标准,许多厂商也在支持多协议方面付出了较大的努力。
协议栈定义通信硬件和软件在不同级如何协调工作。所以如果你想设计一个能够和其他厂商生产的设备卡协调工作的网络接口卡,你就必须接受栈的低层定义协议。栈的上部定义了较高级的通信和应用接口。低层定义在物理介质上传输位流的过程。在高层,分层结构将用户应用程序和下面的通信服务相分离。
注意:
低层为高层提供服务。
每一层都提供一些服务。
服务由协议定义。
程序员只需关心与他的工作直接相关的那些层的协议,它们向高层提供服务,并由低层提供服务。
当系统通信时,在每个系统中的协议栈的每一层的对等协议协调完成通信过程。例如,一个系统的运输层将根据另一个系统的运输层的情况协调它的活动。打个比方,设想在两个使馆之间需要安排一次正式会议,在表面上,两位大使签署正式协议,而在背后,外交官和官员们整理文件,制定日程,并进行其他活动。外交官具有级别,每个级别的外交官为更高级的官员做一些服务。在最高级别的大使向低级外交官下达命令,并使用外交官提供的服务。同时,大使级以下的外交官会与另一个使馆的同等级别的外交官进行协调工作。每个外交官都按照为他们这个级别制定的外交惯例执行。例如,在特定级别的一个外交官员可能提供语言服务或技术文件。根据翻译和归档过程,这个官员与另一个使馆的同等官员进行通信。
在外交领域,一个使馆的官员只需简单地拿起电话找另一个使馆的同等级的官员。在网络通信领域,在每个协议层的实体们通过对信息打包与对等实体通信,或将它们传递到低层通信服务。最终,分组抵达最低的物理层,变成数据位流,在物理连接间传递。当信息传递过协议层,它们形成一个称为“协议数据单元(PDU)”的分组。每一层的实体按照另一个系统中对等实体预定的消息格式向PDU中加入自己的信息。当分组抵达另一个系统,它向上通过协议栈,给每个实体的信息被取下,并传送给实体。图L-5进一步讨论和示意了这一过程。
实体,就象不同级别的外交官,驻留在协议栈的每一层,并为高层提供服务。
一个计算机的实体与另一个计算机中对等地位的实体通信。
虽然实体与它们的等位实体通信,它们必须利用低层的服务才能使得那些消息得以通过。在信息通过协议栈时,由每个实体附加到PDU的信息称为“协议控制信息(PCI)”。下面列出了在每一级附加的一些信息:
应用层目标结点地址信息
表示层增加的码组信息
会话层增加的通信会话信息
运输层增加的校验和头
网络层增加的分组属性/序列信息
数据链路层增加的分组校验和尾/消息结束
物理层转换为位流和传送
服务访问点(SAP)是相邻层的实体用于通信消息的连接点。它们就象地址,任何一个协议在一个时刻都可能会有一些同时发生的SAP活动。
图L-6示意了当协议数据单元向下传送通过协议栈的多层时发生的情况。利用前面介绍的外交对比,设想大使希望送给另一使馆的大使一个消息。他(她)写了一封信,并交于下一级别的助手。这个助手将信装入信封,并在信封上写明另一使馆和他同等级别的外交人员的地址。这个信件包被传给下一级别的外交人员,他再对这个信件打包,并在信封上写明另一使馆和他同等级别的外交人员的地址。这个过程根据级别进行下去直到到达“物理层”为止。在“物理层”,信件分组被邮差送往另一使馆。在另一使馆,每个外交人员只阅读给他的信息地址,并将里面的信封送给上一级别的外交官。
两个系统间的通信通过将初始请求在协议栈中下传,通过导线,并在另一系统的协议栈中上递。每一层提供传送信息的特定服务,并允许每一层与另一系统中的对等层进行通信。
相关条目:Open Systems Interconnection Model 开放式系统互连模型;Packets 包,分组;Protocol Data Unit协议数据单元;Protocols,Communication 通信的协议。