6.1.5 OSI及X.25协议
分组交换网非常适合计算机之间的数据通信,在交换节点之间要不断地进行数据交换。要做到正确地交换数据,每个节点就必须遵守一些事先约定好的规则,这些为进行数据的交换和传输而建立的规约称为通信协议。通信协议明确规定了所交换数据的格式以及事件实现顺序等有关问题。
为了把不同厂家生产的体系结构不同的计算机互联起来共享资源,国际标准化组织(ISO)1979年制定了一个为异机种系统间通信所必需的标准,即开放系统互联参考模型(OSI-RM),将系统划分为七层,并规定了各层协议的功能及向上层提供的服务。
X.25是最成熟的协议,它基本上概括了OSI的l~3层的功能,是国际电报电话咨询委员会(CCITT)1976年通过的分组终端和分组交换网之间的接口(UNI)协议。
本节先介绍ISO开放系统互联参考模型(OSI),了解计算机网七层协议的划分和功能,然后再介绍X.25协议。
1.开放系统互联参考模型(OSI)
(1)通信系统分层的基本概念
实际的数据通信过程必须完成比特流传送、比特同步、流量控制、差错控制、路由选择、对话过程管理、信息加密等诸多方面的操作,不同的通信过程可以选择其中不同的组合,所以,单一通信实体不可能完成所有可能要求的任务,同时也不利于定义具体的操作功能。因此,人们考虑到可以将用户通信的一个通信实体变成N个通信实体级联的结构,如图6.11所示。
每一个通信实体模块完成整个通信实体任务的一部分功能,将N个级联的通信实体模块,看做一个通信实体的N个部件,根据这N个部件所完成任务的次序,引出层的概念,即每一块通信实体模块称为一层,从而得到一个通信实体的N层结构,如图6.12所示。把一个通信实体分成N层分别描述,就可以得到N层的协议参考模型。
图6.11 N个通信实体级联
图6.12 N层的通信实体
(2)OSI七层参考模型
国际标准化组织根据实际的数据通信过程,提出了数据通信的协议参考模型--开放系统互联(OSI)七层参考模型。它们分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,如图6.13所示。每层实体完成特定的功能,上一层根据下一层提供的功能,增加本层相应的功能,进一步提交给再上一层,最后完成整个通信任务。
图6.13 OSI七层参考模型
(3)OSI参考模型各层的功能
①物理层
·为它的上一层(数据链路层)提供一个物理连接以便透明传送比特流;
·确定代表“1”或“0”的电压幅度及识别方法;
·确定连接电缆的插头类型及连接方法。
②数据链路层
·负责建立、维持和释放数据链路的连接;
·差错控制,出错重发;
·无差错地传送以帧为单位的数据;
·每一帧的控制信息包括:同步信息、地址信息、差错控制以及流量控制信息等。
③网络层
·路由选择,将分组或包找到目的站点,并交付给目的站的传输层;
·流量控制。
·将长报文分割成分组,交给下一层(网络层)进行传输;
·为会话层建立一条传输连接,以便透明传送报文(分组);
·在通信子网中没有传输层,传输层只能存在于主机之中。
⑤会话层(会晤层或对话层)
·对数据传输进行管理;
·建立、组织和协调其交互。
⑥表示层
·主要解决用户信息的语法表示问题;
·将要交换的数据变换为OSI系统内部使用的语言(语言种类不限);
·对传送的信息加密(解密)。
⑦应用层
·确定进程之间通信的性质,负责用户信息的语义表示;
·在两个通信者之间进行语义匹配,即应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理,来完成一些为进行语义上有意义的信息交换所必需的功能。
(4)应用进程数据在开放系统互联环境中传递的过程
为了对OSI的七层概念加深理解,下面对数据通信的应用进程数据在开放系统互联环境中进行传递的过程作进一步说明。
图6.14画出了应用进程的数据一层接一层地传递示意图。应用进程A先将其数据交给第七层;第七层加上若干比特的控制信息组成了下一层(第六层)的数据单元;第六层收到这个数据单元后,加上本层的控制信息,再交给第五层,成为第五层的数据单元,依次类推。到了第二层后控制信息分成两部分,分别加到本层数据单元的首部和尾部。第一层由于是比特流的传送,所以不再加控制信息。
当比特流经网络的物理媒体传送到目的站点时,就从第一层开始,每一层根据控制信息进行必要的操作,剥去控制信息,将剩下的数据单元依次交给更高的一层,最后,把应用进程A发送的数据交给目的站点的应用进程A。
图6.14 开放系统互联七层参考模型示意图
2.X.25建议(协议)
1)X系列建议
为了实现各种终端用户和不同的分组交换网之间的自由连接,接口规程必须在全世界范围内实现统一,为此国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)制定了一系列标准,其主要内容如表6.6所示。
表6.6 X系列标准的名称和主要内容
其中X.25建议就是下面要重点讨论的分组交换协议。
2)X.25建议的概述(www.xing528.com)
X.25是CCITT于1976年l0月通过的标准。当时很多国家都在建设公用分组交换数据网,为了便于国际及国内分组网的互通,CCITT为分组终端和分组网之间的接口(UNI)制定了X.25建议。
X.25为用户终端(DTE)和分组交换网络(DCE)之间建立对话和交换数据提供了一些共同的规程,是分组数据网中最重要的协议之一。CCITT也规定了分组交换网国际互联网间接口的X.75协议,很多厂商就在X.25或X.75的基础上制定了网内接口NNI协议。NNI协议没有统—的国际标准,它由各厂商自己定义。
X.25采用的是面向连接的虚电路交换方式,类似于电路交换方式。虚电路交换方式在通信前需要建立一条端到端的虚电路,在通信结束后就拆除这条虚电路,因此人们将分组交换网称为X.25分组交换网(简称X.25网)。
3)X.25协议的分层结构
X.25协议各层在功能上互相独立,相邻层之间通过界面发生联系,每一层接收来自下一层服务的同时,又向高一层提供服务。X.25协议的分层结构如图6.15所示。X.25协议包括物理层、数据链路层和分组层,概括了OSI的l~3层的功能。
图6.15 X.25协议的分层结构
信息的传送方向在发端是从高层分组层→数据链路层→物理层,最后通过物理媒介传送到目的端;再从目的端的最低层物理层→数据链路层→最后传送到高层分组层。X.25建议在任何数据用户设备(主计算机或智能终端)和分组交换网之间提供了有效的接口标准,它早在1976年就为分组交换网定义了开放系统互联(OSI)模型的下三层,或者说国际标准化组织(ISO)1979制定的OSI模型是在X.25建议的基础上提出来的,OSI模型的下三层是和X.25建议一一对应的。如果OSI模型的网络层(第三层)改写为分组层,则其功能也是一致的。分组层以上都称为用户级。
按照X.25接口的规定,用户就能在DTE和DCE之间使用一条物理链路建立多路同时的虚呼叫(VC)。L1、L2和L3分别表示物理层、链路层和分组层,其功能分别对应于开放系统互联七层模型中下三层的具体内容,即规定了DTE与DCE同层之间交换信息的协议。协议提供了必要的控制和协调对等层之间信息交换的方法。X.25分层结构连接及各层之间的信息关系示意图如图6.16所示。
从高层来的消息在X.25的第三层(分组层)被分成长度为8个字节或128个字节的数据块,并在字段前加上分组标题(分组头)便形成了一个分组,然后做适当的处理后发送给X.25的第二层(数据链路层)。分组在该层再进行HDLC(高级数据链路控制规程)处理,即加上HDLC标题、FCS以及011111110标志构成一个“帧”,送往X.25的第一层(物理层),最后通过传输线路发往目的端。X.25从第三层到第一层传送数据的单位分别是“分组”、“帧”和“比特”。
必须注意,实际信息是从同一系统的高层(第三层)→低层(第一层)以及低层→高层传送的,但在逻辑上按开放系统互联层次模型的概念,信息是在两个系统的同等层之间传送的。
图6.16 X.25分层结构连接及各层之间的信息关系示意图
4)X.25各层的功能
(1)物理层的X.21、X.21bis建议
物理层定义了DTE和DCE之间建立、维持、释放物理链路的过程,包括机械、电气、功能和特性,相当于OSI的物理层。可以采用的接口标准有X.21建议和V系列建议。但考虑到目前世界各国仍在大量使用模拟信道传输数据的实际情况,ITU T(原CCITT)又制定了X.21bis接口标准,它与V.24或RS-232接口兼容。由于X.21bis和V系列建议是兼容的,因此可以认为是一种标准接口。其中X.21bis接口所用接口线少,可定义的接口功能多且灵活,是较理想的接口标准。X.21bis/RS-232-C接口如图6.17所示。由图可见,DTE与DCE之间的主要接口线有6条,信号地(G)用作信号的公共地线;发送线(T)用于发送数据分组;控制线(C)用于显示传统的摘机/挂机状态;接收线(R)用于接收数据分组;指示线(I)用于显示数据传送阶段开始与结束的信息;信号码元定时线(S)用于DCE提供DTE的码元定时,以便使DTE与DCE的码元同步。
当采用调制解调器的模拟传输线路时,或使用具有V系列接口的DTE时,可采用X.21bis建议。X.25物理层对X.21做了一些规定,如电路T、R一直处于工作状态,可以交换数据,C和I也一直处于工作状态。X.21实际上是X.25的分组流水线,X.25的物理层就像是一条输送信息的管道,它不执行重要的控制功能,控制功能主要由链路层和分组层来完成。
(2)数据链路层
X.25协议的第二层为数据链路层。数据链路层规程要在物理层提供的双向信息输送信道上实施信息传输的控制,它所面对的是二进制串行比特流,处理对象为帧。数据链路层规定了在DTE和DCE之间的线路上交换X.25帧的过程,在DTE的分组层接口和DCE
图6.17 X.21bis/RS-232-C接口示意图
的分组层接口之间架起了一道桥梁,用来在物理层提供的双向信息传送信道上实施信息传输的控制,主要功能有:
·在DTE和DCE之间有效地传输数据;
·确保接收器和发送器之间的信息同步;
·监测和纠正信息传输中产生的差错;
·识别并向高层协议报告规程性错误;
·向分组层通知数据链路层的状态。
X.25建议中采用了ISO制定的高级数据链路控制(High-Level Data Link Control,HDLC)规程。HDLC支持平衡(LinKAccess Procedures Balanced,L APB)和非平衡两种链路配置。在非平衡配置中,一端配置为主站,由它控制整个链路的工作;另一端为一个或多个次站,主站向次站发送命令帧,次站向主站回送响应帧。在平衡配置中,两端均为复合站(兼有主、次站功能),可互相发送命令帧与响应帧。平衡配置只适用于点到点的链路。
HDLC有几个子集,如LAP(链路访问规程)、LAPB(平衡型链路访问规程)和L APD(ISDN的D信道链路访问规程)。目前,X.25网中数据链路协议均采用LAPB。
为了保证传输的可靠性,对第三层所形成的分组,链路层需要在每个分组前添加HDLC(高级数据连接控制规程)帧头,以形成X.25第二层的HDLC帧。HDLC帧的结构如图6.18所示。信息帧由帧头、信息和帧尾三部分组成,用于传输分组层之间的信息。另外,分组层传给链路层的信息都装配成HDLC信息帧的格式。
HDLC帧的结构包括标志(F)、地址(A)、控制(C)、信息(I)和帧校验序列(FCS)等字段。
HDLC帧中各字段的含义如下:
①F:标志字段。由01111110组合而成,用来标志一个帧的开始和结束。上一帧结束的帧标志同时是下一帧的开始标志字段。
②A:帧地址字段。在HDLC规程中用来区别次站地址,在X.25规程的链路层中用于区别命令帧和响应帧或单链路和多链路规程。在发送端发出的命令帧或信息帧后面,紧跟着是接收方发送的响应帧(如认可ACK帧),命令帧内的地址是发送命令的DCE或DTE地址,而响应帧内的地址则是发送该帧的DTE或DCE地址。
③C:帧控制字段。用于区分各种不同功能的帧,有时称它为帧识别符。控制字段的格式有三种类型,即信息帧、监控帧以及无编号帧。
·信息帧
信息帧的帧格式如图6.18(a)所示,第1 bit为“0”代表信息帧;第2~8 bit为控制信息,包括发送帧序号N(S)、接收帧序号N(R)。N(S)和N(R)各占3 bit,可产生序号0~7(模8);还有1位轮询位P,P置“1”时,表示发送端用命令探询对方的响应。
·监控帧
监控帧的帧格式如图6.18(b)所示,第1、2 bit为“10”代表监控帧。监控帧不含信息字段,其作用是保证信息帧的正确传送。监控帧的控制字段除N(R)与上述相同外,第SS为监视功能字段,有三种组合,即有三种类型,如图6.18(C)所示。SS为“00”表示接收准备就绪(RR),即是已做好准备接收序号为N(R)的信息帧;“10”表示接收未准备就绪(NR),即正处于占用状态;“01”表示拒绝(REJ)了N(R)指示的帧,要求重发。P/F是轮询/结束位,P的用法与信息帧的控制字段相同,F置“1”表示该帧为监视响应帧内的轮询结束。
图6.18 H DLC帧结构
·无编号命令帧
无编号命令(U)帧不对信息的传输进行控制,是用来实现附加的数据链路功能的,例如,对链路的建立和断开过程的控制,改变命令和控制字段长度。其中包括以下两种功能。
SABM(置异步平衡模式):即是在两节点之间建立一种具有相同链路控制能力的全双工链路,SABM命令的正常响应是一种无编号的认可(U A)响应。
DISC(断开):拆线,结束该链路。
④I:信息字段。为传输报文信息而设计的,只有信息帧才包含I字段,它是8的倍数。
⑤FCS:帧校验序列,附在帧的尾部,为16 bit冗余码。帧尾的结束可以作为下一个帧开始的标志。
(3)X.25分组层
X.25协议的第三层为分组层,它对来自高层的消息进行分组,并在每组数据中增加标题后交给数据链路层。X.25协议还定义了DTE和DCE之间传输分组的过程,利用数据链路层提供的服务在DTE和DCE接口之间交换分组。X.25分组层具体功能如下:
·为每个呼叫用户提供一个逻辑信道(呼叫指某一通信过程),并且通过逻辑信道号(LCN)来区分每个用户的呼叫。
·提供有效的分组传输、分组的确认和流量控制。
·提供永久电路(PVC)的连接和交换虚电路(SVC)的建立及拆除的方法。
·差错控制。
X.25的每个分组都通过数据链路层存放在信息帧的I字段中,即每个信息帧要装一个分组,每个分组都有一个分组头。分组与信息帧的关系如图6.19所示。
图6.19 X.25的分组与信息帧的关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。