计算机网络体系结构的组成,网络体系结构就是以完成不同计算机之间的通信合作为目标,把需要连接的每个计算机相互连接的功用分成明确的层次,在结构中规定了同层次进程通信的协议及相邻层之间的接口及服务。实际上,网络体系结构就是用分层研究方法定义的计算机网络各层的功能、各层协议及接口的集合。
(1)通信协议
在网络系统中,为了满足数据通信的双方准确无误地进行通信,就需要我们根据在通信过程中产生的各种问题,制定一系列的通信双方必须遵守的规定,这就是通信协议。
从通信协议的表现形式来看,它规定了交互双方用于通信的一系列语言法则和语言意义,这些相关的协议能够规范各个功能部件在通信过程中的正确操作。
协议通常分为对等层间对话协议和相邻层间的接口协议。网络协议主要由以下三个要素组成。
①语法:规定如何进行通信,即对通信双方采用的数据格式、编码等进行定义。
②语义:规定用于协调双方动作的信息及其含义,它是发出的命令请求、完成的动作和返回的响应组成的集合,即对发出的请求、执行的动作及对方的应答做出解释。
③时序:规定事件实现顺序的详细说明,即确定通信状态的变化和过程,如通信双方的应答关系、采用同步传输还是异步传输等。
(2)实体
每层的具体功能是由该层的实体完成的。所谓实体指在某一层中具有数据收发能力的活动单元(元素),一般就是该层的软件进程或者实现该层协议的硬件单元。在不同系统上同一层的实体互称为对等实体。
(3)接口
上下层之间交换信息通过接口来实现。一般使上下层之间传输信息量尽可能少,这样可使两层之间保持其功能的相对独立性。
(4)服务
服务就是网络中各层向其相邻上层提供的一组功能集合,是相邻两层之间的界面。因为在网络的各个分层机构中的单方面依靠关系,所以在网络中相邻层之间的相关界面也是单向性的:下层作为服务的提供者,上层作为服务的接受者。
上层实体必须通过下次的相关服务访问点(service access point,SAP),才能够获得下层的服务。SAP作为上层与下层进行访问的服务场所,每一个SAP都会有自己的一个标识,并且每个层间接口可以有多个SAP。
(5)服务原语
网络中的各种服务是通过相应的语言进行描述的,这些服务原语可以帮助用户访问相应的服务,也可以向用户报告发生的相应事件。服务原语可以带有不同的参数,这些参数可以指明需要与哪台服务器相连、服务器的类别、准备在这次连接上使用的数据长度。
假如被呼叫的用户不同意呼叫用户建立的连接数据的大小,则它会在一个“连接响应”原语中提出一个新的建议,呼叫的一方能够从“连接确认”的原语中得知情况。这样的整个过程细节就是协议内容的一部分。
(6)数据单元
在网络中信息传送的单位称为数据单元。数据单元可分为协议数据单元(protocol data unit,PDU)、接口数据单元(interface data unit,IDU)和服务数据单元(service data unit,SDU)。
①协议数据单元:不同系统某层对等实体为实现该层协议所交换的信息单位。其中,协议控制信息是为实现协议而在传送的数据的首部或尾部加上的控制信息,如地址、差错控制信息、序号信息等;用户数据为实体提供服务而为上层传送的信息。考虑到协议的要求,如时延、效率等因素,对协议数据单元的大小一般都有所限制。
②服务数据单元:上层服务用户要求服务提供者传递的逻辑数据单元。考虑到协议数据单元对长度的限制,协议数据单元中的用户数据部分可能会对服务数据单元进行分段或合并。
③接口数据单元:在同一系统的相邻两层实体的一次交互中,经过层间接口的信息单元。其中,接口控制信息是协议在通过层间接口时,需要加上的一些控制信息,如通过多少字节或要求的服务质量等,它只对协议数据单元通过接口时有作用,进入下层后丢弃;接口数据为通过接口传送的信息内容。
(7)网络体系结构的分层原理
当今社会上存在着各个年代、各个厂家、各种类型的计算机系统,如果要将这些不同的系统进行连接就必须遵守某种互连标准规则。为了减少协议设计的复杂性,大多数网络都是按照层的方式来组织的。
在网络的各个不同分层结构中,每一层都要服务于它的上层,并且说明服务对象的相应接口,上层只利用下层所提供的服务和相关的功能,而不用知道下面的层次为了此次服务到底采用了什么样的方法和相关的协议,下层也仅仅知道上面一个层次传送了什么参数,这就是层次间的无关性。
处在各个不同的系统中的相同层次之间的实体之间没有直接相互通信的能力,它们的通信必须经过相邻近的下层和更加下层的各种通信来完成。分层结构的优点如下。
①独立性强。各个层次之间有具体的分工,被分层的具有相对独立功能的每一层只要知道下面的层次能够为自己提供的服务是什么和自己能够向上面一个层次提供什么服务即可,不用知道下面的层次为自己提供的服务需要什么方式。
②适应性强。层与层之间是相互独立的,一层内部发生的变化并不影响与它相连接的其他各层。
③易于实现和维护。整个大的系统进行分层后,一个复杂的系统被分解成很多个功能单一、范围较小的子系统,每一个层次仅仅实现了与自己相关的功能,不仅使复杂的系统变得清晰明了,也使网络系统中各个环节的实现和调试变得简单和容易。