分层及通信协议
协议软件是计算机通信网中各部分之间所必须遵守的规则的集合,它定义了通信各部分交换信息时的顺序、格式和词汇。协议软件是计算机通信网软件中最重要的部分。网络的体系结构往往都是和协议对应的,而且,网络管理软件、交换与路由软件以及应用软件等都要通过协议软件才能发生作用。
一、通信协议
1、什么是通信协议
通信协议(简称协议Protoco l),是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。一个网络有一系列的协议,每一个协议都规定了一个特定任务的完成。协议的作用是完成计算机之间有序的信息交换。
通信网络是由处在不同位置上的各节点用通信链路连接而组成的一个群体。通信网必须在节点之间以及不同节点上的用户之间提供有效的通信,即提供有效的接入通路。在计算机通信网中,将这种接入通路称为连接(connection)。建立一次连接必需要遵守的一些规则,这些规则也就是通信网设计时所要考虑的主要问题。
(l)为了能在两个硬件设备之间建立起连接,应保证在源、宿点之间存在物理的传输媒介,在该通路的各条链路上要执行某种协议。
如果传输线路使用电话线,则要通过调制解调器将信号从数字转换成模拟的,并在接收端进行反变换。
如果用的是数字传输线路,则在数据处理设备和通信设备之间,必须有一个数字适配器,以便将数字信号的格式转换成两种设备各自所期望的形式。
为了在两个端设备之间互换数据,需要协调和同步,调制解调器和数字适配器必须执行它们自己的协议。
无论是模拟的还是数字的通信设备,调制解调器和数字适配器的状态必须由接到节点上的设备来控制,这里必定有一个物理的或电气的接口来执行这种功能,执行某种适当的协议来达到这一控制目的。
(2)在计算机通信网中,许多信息源都是突发性的(bursty),问题是要利用信息的这种突发性质来降低消耗在线路上的费用,由此开发了许多共享通信资源的技术。所谓共享,是指允许多个用户使用同一通信资源,这就产生了多用户的接入问题。多路接入
技术必须与所使用的设备配合,也必须执行某种协议。
(3)将传输的比特组合成字符、帧、分组或报文等,并提供自动的差错处理,以保证所接收到的比特流是所发送的比特流的精确复制。极大多数的差错处理采用自动重发请求(ARQ)协议。以上这些功能的完成,也都是由两个端设备之间运行的协议来处理的。
(4)必须保证消息抵达正确的目的地。一些寻址和路由协议用来处理这项功能。
(5)在端节点或交换节点上存储所收到的信息,直至这些信息能够得到服务或再转发出去。缓冲器的大小,所希望的快速响应时间,对输入的信息流所需做的差错检验而无须额外的重发时间,都已导致了将长报文分割成分组,并再从分组组合成一个完整的报文的技术。为了达到这一点,两个端设备之间需要有良好的默契。
(6)必须进行流量控制,以避免缓冲器溢出,防止过分地拥挤,从而产生了流量控制协议。流控协议可能在网络的若干个层次上存在。
(7)最后,必须保证接入通路能与用户的特性相协调一致。例如消息的格式、字符编码、器件控制和数据库接入等。通常必须提供协议转换功能,以便处理这些不同的特性,并提供正确的数据表达形式。
应该指出,上面提到的这些功能,在通信的双方都必须具备,也就是说功能是成对的,而且,每一对的两个相同功能之间才相互通信。在某一处由协议加上去的额外的位(称为overhead)由另一处的相应协议加以解释。例如,寻址和路由所用的数据仅仅是为了寻找目的地址和路由控制,与其他功能无关,所以只在相应的协议之间才进行对等的通信(peer-to-peer communication)
图1 通信协议的类型
2、协议的分类
图1表示了通信协议的各种类型,其中包括以下几种。
(1)面向应用的协议:为完成某些特定应用而制定的协议。从分层的协议结构来看,包括应用层的专用服务元素,例如,TCP/IP协议模型中的FTP,TELNET,SMTP等,0SI /RM中的FTAM,VT, JTM,MHS,DS等。面向应用的协议也可称为进程到进程的协议。
(2)系统到系统协议:支持端系统中特定应用进程之间的数据交换,为应用进程提供网络通信服务,包括应用层的公用服务元素、表示层协议(如完成数据的加密/解密)等。
(3)端到端协议:完成端到端的可靠传输,建立、保持及维护端到端连接,包括会话层协议(保持对话的同步等)、TCP和UDP等。
(4)其他网内协议:包括流控协议、寻址和路由控制等。
(5)点到点协议:实现直接相连的节点之间的数据传输,如数据链路层协议HDLC和Internet中的PPP协议等。
(6)网络接入协议:如介质接入控制(MAC)等。
(7)网间互联协议:从网络介质的延伸,不同网络用户的寻址,到异构网络间协议的转换。
从以上对协议的分类中可以看出,任何计算机(端系统)之间的通信,实际上是在不同层次上对等的通信单元(在分层体系结构中称为“实体”)的各自协调工作来配合完成的。对计算机通信网的研究都是基于这种功能上的通信概念,从而形成了分层的协议体系结构。
3、协议的三个要素
协议为传输的信息定义严格的格式(语法)和传输顺序(时序或同步),而且,协议还定义所传输信息的词汇表和这些词汇所表示的意义(语义)。因此,任何协议都有下列三个要素:
(l)语法(Syntax):指互通的信息结构,包括诸如数据格式、编码、有用信号电平的表示等。例如,IS08473规定的无连接网络层协议数据单元的格式有五个部分:①固定控制部分(9字节);②地址部分(不定长);③分段部分(6字节);④选项部分(不定长);
⑤数据部分(不定长)。其中前四个部分是控制部分,其最大长度不超过254字节,第五部分的最大长度不超过64,512宇节。
(2)语义(S emantics):指所互换信号的意义,包括用于协调及差错处理的控制信息