论文部分内容阅读
扩展巴科斯范式(ABNF,AugmentedBNF)是Internet工程任务组(IETF,InternetEngineeringTaskForce)在RFC2234中给出的一个字符串模式匹配的文法定义,它被广泛应用于各种网络协议的消息编码。IETF组织使用ABNF定义了多个协议的报文格式,例如会话初始协议、超文本传输协议等。要实现这些基于ABNF规则的协议栈,就涉及到如何对文本格式的协议报文进行解析。目前,这类协议报文的解析都是基于专用方式,对于每个具体协议的一套ABNF规则集合,都需要自主地开发其解析模块,这也使得系统缺乏通用性。针对这些问题,本文采用基于确定状态机的解析模型,来提供一种有效的通用解决方案。
主要工作有以下几个方面:1.定义并分析了ABNF范式、规则树及确定状态机之间的关系。2.以ABNF范式为基础,对规则树和确定状态机之间的关系进行建模,设计了基于确定状态机的通用解析模型。3.在VC开发环境下实现了上述模型的核心算法,可以解析ABNF规范下的各种协议报文,例如SIP-message,HTTP请求等。4.分析了基于确定状态机的ABNF解析模型的正确性和通用性,论证了相关核心算法的高效性。
基于确定状态机的ABNF通用解析模型,不仅能实现对文本编码类协议报文的高速解析,而且也适用于解码器的固化,文章最后提出了通用解析模型的固化设计方案。