欢迎user
X.25协议是DTE(Data Terminal Equipment,数据终端设备)和DCE(Data Circuit-terminating Equipment,数据电路终接设备)之间的接口规程。
1974年,CCITT颁布了X.25的第一稿,它的最初文件取材于美国的Telenet、Tymnet和加拿大的Datapac分组交换网的经验和建议。之后进行了多次修改,增添了许多可选业务功能和设施。
X.25使得两台DTE可以通过现有的电话网络进行通信。为了进行一次通信,通信的一端必须首先呼叫另一端,请求在它们之间建立一个会话连接;被呼叫的一端可以根据自己的情况接收或拒绝这个连接请求。一旦这个连接建立,两端的设备可以全双工地进行信息传输,并且任何一端在任何时候均有权拆除这个连接。
X.25是DTE与DCE进行点到点交互的规程。DTE通常指的是用户侧的主机或终端等,DCE则常指同步调制解调器等设备;DTE与DCE直接连接,DCE连接至分组交换机的某个端口,分组交换机之间建立若干连接,这样,便形成了DTE与DTE之间的通路。在一个X.25网络中,各实体之间的关系如图1所示:
DTE数据终端设备 | Data Terminal Equipment |
DCE数据电路终结设备 | Data Circuit-terminating Equipment |
PSE分组交换设备 | Packet Switching Equipment |
PSN分组交换网 | Packet Switching Network |
图1 X.25网络模型
X.25协议为两台通信的DTE之间建立的连接被称为虚电路,这种“电路”只在逻辑上存在,与电路交换中的物理电路有着质的区别。
虚电路分为PVC(Permanent Virtual Circuit,永久虚电路)和SVC(Switched Virtual Circuit,交换虚电路)两种,顾名思义,PVC用于两端之间频繁的、流量稳定的数据传输,而突发性的数据传输多用SVC。
一旦在一对DTE之间建立一条虚电路,这条虚电路便被赋予一个唯一的虚电路号,当其中的一台DTE要向另一台DTE发送一个分组时,它便给这个分组标上号(虚电路号)交给DCE设备。DCE就是根据分组所携带的这个号来决定如何在交换网内部交换这个数据分组,使其正确到达目的地。
X.25协议按照OSI参考模型的结构,定义了从物理层到分组层一共三层的内容。关系如图2所示。
l 第一层(物理层):定义了DTE与DCE之间进行连接时的物理电气特性
l 第二层(链路层):定义了DTE与DCE之间交互的帧的格式和规程,即平衡型链路接入规程LAPB(Link Access Procedure,Balanced)
l 第三层(分组层):描述了分组层所使用分组的格式,以及两个三层实体之间进行分组交换的规则
X.25第三层复用第二层在DTE/DCE间建立的链路,最终提供给用户若干条虚电路。
X.25各层之间分组与帧的关系如图3所示。
图3 X.25的分组与LAPB帧
X.25的链路层规定了在DTE和DCE之间的线路上交换帧的过程。从分层的观点来看,链路层好像是给DTE的分组层接口和DCE的分组层接口之间架设了一道桥梁。DTE的分组层和DCE的分组层之间可以通过这座桥梁不断传送分组。链路层的主要功能如下:
l 在DTE和DCE之间有效地传输数据
l 确保接收器和发送器之间信息的同步
l 检测和纠正传输中产生的差错
l 识别并向高层协议报告规程性错误
l 向分组层通知链路层的状态
国际标准规定的X.25链路层协议LAPB,采用了HDLC(High-level Data Link Control,高级数据链路控制规程)的帧结构,并且是它的一个子集。它通过SABM(Set Asynchronous Balanced Mode,置异步平衡方式)命令要求建立链路。建立链路时只需要由两个设备中的任意一个设备发送SABM命令,另一设备发送UA响应即可以完成双向链路的建立。
虽然LAPB是作为X.25的第二层被定义的,但是,作为独立的链路层协议,它可以直接承载非X.25的上层协议进行数据传输。可以配置串口的链路层协议为LAPB,进行简单的本地数据传输。
设备支持X.25交换功能,可以将设备当作一台小型X.25分组交换机使用,保护用户在X.25之上的投资。图4描述了LAPB、X.25、X.25交换三者之间的关系:
图4 LAPB、X.25与X.25交换关系
简单地说,在X.25网络中,正常情况下,设备作为DTE或DCE;如果使用X.25交换功能,则设备是作为PSE。