论文部分内容阅读
ASN.1作为一种OSI应用层上使用的办形式语言,主要用于描述开放系统中两个对等实体为了完成某种特定的消息处理任务而相互交换数据的结构。BER和PER是在电信领域里使用最广泛的ASN.1编码规则,传统的智能外设(IP)信令(INAP)采用BER规则进行描述。BER简单,编码效率高,但是BER的编码结果存在大量编码开销。相比BER,PER它采用尽可能简单的编码规则实现紧缩编码,有非常好的应用前景。本文采用PER规则来描述智能外设与其它节点之间交互的信令(INAP),并提出了PER编解码的实现方案。
1.提出了设计方案。整体设计,复用消息的相同部分而不是单独对每一个消息进行设计,提供核心函数对基本的ASN.1句法定义编解码;在不同层之间采用指针而不是函数调用来处里,提高编解码效率。
2.给出了PER编解码的实现思路和解决方案。采用模块化的方法进行结构设计,把PER编解码器分成两个部分:接口文件部分和实时库部分,接口文件部分包括一些C++文件和API函数,这些C++文件是针对ASN.1的语法特点,把ASN.1的数据元素映射到C++的结构而生成;而实时库的功能就是对ASN.1比特流和ASN.1的C++结构进行进行转换。
3.具体实现,采用核心函数与具体的类相结合实现PER编解码,核心函数基于X.691协议定义的规则,在对ASN.1定义的数据进行编解码时调用相应的核心函数,因此具有良好的复用特性。
4.对实现的PER编解码器进行测试。测试结果表明,该编解码器可以参与实际INAP协议编解码。
5.分析系统性能,采用本文方法实现的PER编解码器,代码量不到编译器实现的十分之一,而编解码效率提高了将近一个数量级。编码开销上,不到BER的五分之一。
6.对实现的PER编解码器进行展望,并指出要做的工作。