TL1协议

 

TL1(Transaction Language 1)是一种在电信领域广泛使用的管理协议,尤其在北美。其得以在世界范围流行,是因为它能管理多种宽带网和接入网,包括SONET/SDH, ATM。上述这些其中一个关键的原因就是,和其他的协议比较,它很容易实现和维护。TL1报文有一个很好的,甚至职业用户和操作者都能设计和理解的结构化格式。例如,REPT报文指示报表和RTRV指示检索等等。 TL1由Telcordia(先前的Bellcore)定义,全称Transaction Language -1,是一种ASCII型的人机(man-machine)交互协议,也是一种标准的电信管理协议。

TL1的历史:
在20世纪80年代中期,BELLCORE开始指定一种标准的人机语言,来管理网元。这种人机语言是建立于Z.300系列人机语言标准的基础之上的,被称为TL1。这项成果包括指定一种语言,同时包括一个消息集合来管理来自不同区域的电信设备。在那段时间里,BELLCORE同时也在开发一种错误管理系统OSS(操作支持系统),作为网络监视与分析,用于各局部地区的分公司。同时,TL1也被选定为NMA(网络监视与分析)的要素管理协议。结果,因为NE要能够被NMA管理,TL1的支持就变的势在必行了。TL1早在十年前以及后来的日子里就进军载波网络了,它在RHC空间得到非常广泛的发展。电路开关是唯一的没有使用TL1的。今天,在北美,TL1是大多数SONET和接入设备的管理协议的理想选择
在早些日子,传统上命令行接口(CLI)成为大多数设备(网络设备或电信设备)厂商必须提供的完整的接口。管理这些设备的唯一方法就是通过串口连接,发送命令。这使得TL1更加流行,并且CLI在电信领域成为首选。

 

TL1的特点:
TL1是一种标准CLI(Command Line Interface)接口,与其它的CLI接口相比,TL1遵循约定的语法,具有固定的格式,不同的命令具有固定的格式。
- TL1是一种人机语言:TL1是一种ASCII文本格式的语言,因此开发人员和操作者都能够望文知义
- TL1的消息容易阅读,所以TL1不需要复杂的调试和协议分析器。您所看到的就是TL1所表达的。
- TL1具有延迟激活(Delayed Activation)的功能:延迟激活是这样一种功能:请求消息可以被缓存在网元中,稍后才实际被执行,这种执行可以在定时时间到的时刻主动执行,也可以被TL1消息主动提前执行,当然也可以取消执行。
- TL1具有主动上报功能:通过主动上报,网元可以将当前的性能、告警、或其它用户感兴趣的事件实时地、主动地上报给用户,用于监视网元的实际运行状态。
- TL1具有消息的确认机制:TL1 定义了一种acknowledgment消息,可以对输入命令消息进行简短的应答确认。比如,如果一个TL1输入消息在网元中运行的时间超过2秒(也即2秒钟以后网元才会对输入消息作出响应),就可以提前对这个输入消息生成一个acknowledgment消息,告诉用户:您的输入消息正在被处理之中。


TL1描述了以下四种消息类型:

输入命令消息(Input Command Messages)

认消息(Acknowledgement Messages)

响应消息(Response Messages)

自治消息(Autonomous Messages)


输入命令消息是一种由操作系统或其它资源(如管理者)发送给网元(如代理)的消息,这些消息请求网元执行某种动作。

确认消息是网元发出的简短应答消息,用来表示一条输入命令消息正被执行或是已经被拒绝。由于需要确保用户能了解在发出的执行命令是否

最终被网元所接收到,所以,确认消息类型是有必要存在的。

响应消息对输入命令消息的详细应答(或一系列应答)消息,包括该命令消息是否成功执行消息和需要返回给操作系统/用户的任何数据。

自治消息是一种由网元周期性产生的消息,或者是一种用于报告某种异常发生的消息。

广义上讲,TL1消息可以逻辑地分为两种类型,即输入和输出消息类型。其中,输出消息类型包括确认消息、响应消息和自治消息。所有的消息

类型都有自己的消息格式和结构。

输入命令消息(Input Command Messages)

命令格式

::;

确认消息(Acknowledgement Messages)
    响应消息(Response Messages)
    自治消息(Autonomous Messages)

 

TL1命令简介:

TL1 Input Message说明
TL1的Input Message也被称为命令(commands)。用于操作网元,可以是OSS经由GUI界下发,也可以通过命令行接口下发。一个命令包括下面几部分:
command_code:staging_block:payload_blocks;
TL1 Input Message举例:
ENT-EQPT:ABC:SLOT-3:123:210198,03-12-06,23-00-00:OC3::OOS;
其中:
ENT-EQPT:是标准TL1 命令,表示创建(ENT->Enter)一块单板(EQPT->Equipment);
ABC表示网元ID,指明该命令发往哪个网元,如果直接发往网关网元,可以省略。可以通过DCC发送到非网关网元;
SLOT-3是命令的AID,表示对哪个实体操作。本例中表示对3号槽位上创建单板;
123是该TL1的一个标识符,用于将对应的响应联系起来,响应消息会返回这个标识符;
210198,03-12-06,23-00-00表示这条命令达到网元不是立即执行,而是等到2003年12月6日的23点钟执行;
OC3表示创建什么类型的单板;
OOS表示创建后该单板的状态(Out Of Service or In Service);

上面的TL1命令可以根据纸面意思读出来:
在ABC网元上的3号槽位上创建OC3类型的单板到OOS状态,该命令要等到2003年12月6日的23点钟执行,该命令的标识符为123。

TL1 Output Message说明:
TL1的Output Message是由网元发出的、对于收到的Input Message的响应。格式:
header response_id [response_block] terminator
TL1 Input message举例:
比如对于查询单板的TL1命令:
RTRV-EQPT:ABC:SLOT-9:123;//查询9号槽位单板
如果成功地响应(查询成功):
ABC 2003-06-06 14:30:00
M 123 COMPLD
“SLOT-9:XCS:IS”
;
表示:
网元ABC在2003年6月6日14点半钟成功地(COMPLD)对查询命令(表示符为123)作出了响应(M),查询的内容说明:9号槽位为XCS板,一切正常(IS)。
TL1 Input Message举例(续):
RTRV-EQPT:ABC:SLOT-9:123; //查询9号槽位单板
如果失败地响应(没能查询成功):
ABC 2003-06-06 14:30:00
M 123 DENY
“ACCESS NOT SUPPORTED"
;
表示:
网元ABC在2003年6月6日14点半钟失败地(DENY)对查询命令(表示符为123)作出了响应(M),查询失败(失败的错误码是EANS,具体原因是ACCESS NOT SUPPORTED )。

TL1 Acknowledgment Message说明:
TL1 Acknowledgment Message是网元收到input message后,向OSS发出的一个简单确认消息,用于通知用户当前输入命令的执行状态。格式如下:
acknowledgment_code ctag terminator
TL1 Acknowledgment Message举例:
比如对于查询交叉连接的TL1命令:
RTRV-EQPT:ABC::123; //查询Metro1600网元上所有的单板
(假定这个命令由于查询的内容比较多,时间会超过2秒钟)。
那么在2秒钟的时候,网元会主动给用户一个确认消息:
IP 123 //正在处理
<
上面表示:
123这条输入命令正在处理之中(IP),稍后会有完整的响应。

还有一种很多信息上报的情况。就是TL1 Autonomous Message,这种消息是网元主动发出的、不是OSS主动请求生成的,主要用于上报告警、性能、或其它事件。包括:
header auto_id [text_block] terminator
TL1 Autonomous Message举例:
ABC 2003-06-06 14:30:00
*C 001 REPT ALM OC3
“FAC-1-1:CR,LOS, SA,,,,:\“LOSS OF SIGNAL\””

;
上面表明:
ABC这个网元上当前有个针对OC3光口的严重(*C CR)告警,告警名称为LOS,发生在FAC-1-1(1号板1号光口)上,该告警会影响业务(SA)。
 
TL1协议开发介绍:
支持tl1协议的网管系统,开发起来其实不是很难,主要在以下几点需要注意:
1.首先是对整个TL1协议的了解,建议大家看看TL1的811和833协议就比较清楚了,这个协议实际上就是上位机根据TL1    命令格式发命令给下位机,下位机根据协议解析并回复的过程。
2.实现TL1协议的方式,主要有TCP和telnet的方式,具体采用那一种需要根据网元设备的情况来定,如果网元(其实也可是设备)支持了TCP,采用TCP的方式要最简单;
3.网元设备需要实现TCP协议,并且需要提供实时时钟,因为TL1协议里面有些命令有延时执行功能,需要用到实时时钟。一般网元设备带操作系统的话,TCP协议栈应该是比较好实现的了
4.整个TL1协议其实类似命令行命令,TL1命令实质上相当于一条命令行命令,因此网元设备的主要工作其实就是用户管理、登录、注销、协议的解析以及TL1命令的回复过程,这里最难的地方就是TL1协议的解析和生成TL1回应包,其中解析部分需要花较大的力气去做了。
5.一般TL1协议和SNMP协议可以同步开发,让这两个协议共享数据,这时需要对两个协议对数据的访问进行同步处理,这点也是难点,如果网元不带操作系统的话,可能比较麻烦的了,如果采用操作系统,建议两个任务级别设置为同级别,防止因竞争资源而出现死锁,当然采用优先级天花板和优先级继承技术可以防止这种情况的发生,但我建议还是需要注意这种技术带来的开销和其他风险。

你可能感兴趣的:(tcp,command,header,input,语言,电信)