【技术实现步骤摘要】
运行时可编程的任意网络协议报文解析装置及方法
[0001]本公开涉及通信领域,尤其涉及一种运行时可编程的任意网络协议报文解析装置及方法。
技术介绍
[0002]从端口进入到网络设备的报文通常由多层协议组合而成,并且每一层协议的类型选择颇多,这就导致网络数据的解析过程非常复杂。
[0003]现有的网络协议解析器主要有两类:第一类为基于三态内容寻址存储器(Ternary Content Addressable Memory,TCAM)的可编程协议解析器,这种网络协议解析器由于使用了TCAM,所以功耗和成本都比较高。第二类为基于多核单指令多数据流(Single Instruction Multiple Data,SIMD)微处理器的可编程协议解析器。这种网络协议解析器本质上为利用软件解析,所以解析效率低,延迟大。
技术实现思路
[0004]有鉴于此,本公开提出了一种运行时可编程的任意网络协议报文解析方案。
[0005]根据本公开的一方面,提供了一种运行时可编程的任意网络协议报文解析装置,包括:预处理 ...
【技术保护点】
【技术特征摘要】
1.一种运行时可编程的任意网络协议报文解析装置,其特征在于,包括:预处理单元、指令确定单元、解析单元、元数据生成单元;所述预处理单元,用于从待解析报文中提取输入端口编号、报文头部标记;所述指令确定单元,用于在报文头部标记为有效的情况下,根据所述输入端口编号,确定第一指令;所述解析单元,用于利用所述第一指令对所述待解析报文进行解析,确定所述待解析报文中第一层协议的长度、第二层协议的类型;所述元数据生成单元,用于根据所述第一层协议的长度、第二层协议的类型,生成元数据。2.根据权利要求1所述的装置,其特征在于,所述装置还包括:协议字段存储单元,用于:根据所述第一指令,确定所述待解析报文中被提取的字段,以及所述字段在解析数据中的位置;根据所述字段、所述位置,生成所述协议字段。3.根据权利要求1所述的装置,其特征在于,所述解析单元,用于根据所述第二层协议的类型,确定解析第二层协议对应报文的第二指令针;所述指令确定单元,用于根据所述第二指令针,确定第二指令;所述解析单元,用于利用所述第二指令对所述待解析报文进行解析,确定第二层协议的长度、第三层协议的类型;所述元数据生成单元,用于根据所述第一层协议的长度、所述第二层协议的长度、所述第二层协议的类型、第三层协议的类型,生成所述元数据。4.根据权利要求1所述的装置,其特征在于,所述解析单元,包括:协议字段提取单元、下层协议解析单元、协议长度解析单元;所述协议字段提取单元,用于根据所述第一指令在待解析报文中确定下层协议字段、协议长度字段;所述下层协议解析单元,用于:根据所述第一指令,确定所述待解析报文针对下层协议类型的第一解析方式;在所述第一解析方式为第一方式的情况下,利用所述下层协议字段在所述第一指令中进行匹配查找,确定第一匹配项;根据所述第一匹配项,确定所述第二层协议的类型;所述协议长度解析单元,用于:根据所述第一指令,确定所述报文针对本层协议长度的第二解析方式;在所述第二解析方式为第二方式的情况下,利用所述协议长度字段...
【专利技术属性】
技术研发人员:袁光,黄益人,
申请(专利权)人:益思芯科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。