【技术实现步骤摘要】
一种适用于多类字段的高速数据流分类装置及方法
本专利技术属于通信
,涉及一种适用于多类字段的高速数据流分类装置及方法,可用于通信网络中的数据流的识别和分类。
技术介绍
随着网络的发展,客户需要更加多样化和更加快速安全的服务。数据流是实时的、连续的、有序项的序列,数据流中蕴含大量信息,可以作为智能决策的依据。数据流分类模块作为交换机中至关重要的模块,承担了区分数据流的作用,流分类模块根据数据流中的信息对数据流进行区分,进而提供不同的操作。流分类模块的性能决定了交换机是否能够根据客户的需求提供精准、快速、多样的服务。目前,流分类算法主要分为基于硬件实现的流分类算法、基于启发式算法的流分类方法和基于比特向量的流分类方法。基于硬件实现的流分类算法代表为利用TCAM实现的流分类方法,优点是利用硬件实现,查找速度快,缺点是不适于查找范围匹配字段,TCAM的容量小,价格高,功率大,不适合大规模的规则查找。基于启发式算法的流分类方法的代表是RFC流分类方法,优点是适合范围字段、最长前缀匹配字段和精确匹配字段,缺点是所需存储空间大,性能随规则数目增加下降明显。基于比特向量的流 ...
【技术保护点】
一种适用于多类字段的高速数据流分类装置,其特征在于包括数据流处理模块、规则编码模块、规则匹配模块、优先级编码模块和指令码提取模块,其中:数据流处理模块,用于根据用户定义的每个匹配字段的属性,提取数据流中的关键信息并输出;规则编码模块,用于对用户定义的数据流分类规则进行编码,并输出编码结果和指令码;规则匹配模块,用于存储规则编码模块输出的编码后的数据流分类规则,并将该规则与数据流处理模块输出的关键信息进行匹配,再输出匹配结果;优先级编码模块,用于对规则匹配模块输出的匹配结果进行优先级分析,得到最优匹配结果并输出;指令码提取模块,用于存储规则编码模块输出的指令码,并按照优先级编 ...
【技术特征摘要】
1.一种适用于多类字段的高速数据流分类装置,其特征在于包括数据流处理模块、规则编码模块、规则匹配模块、优先级编码模块和指令码提取模块,其中:数据流处理模块,用于根据用户定义的每个匹配字段的属性,提取数据流中的关键信息并输出;规则编码模块,用于对用户定义的数据流分类规则进行编码,并输出编码结果和指令码;规则匹配模块,用于存储规则编码模块输出的编码后的数据流分类规则,并将该规则与数据流处理模块输出的关键信息进行匹配,再输出匹配结果;优先级编码模块,用于对规则匹配模块输出的匹配结果进行优先级分析,得到最优匹配结果并输出;指令码提取模块,用于存储规则编码模块输出的指令码,并按照优先级编码模块输出的最优匹配结果提取对应的指令码。2.根据权利要求1所述的一种适用于多类字段的高速数据流分类装置,其特征在于,所述数据流处理模块,包括关键信息提取模块、范围关键信息拼接模块和其他关键信息拼接模块,其中:关键信息提取模块,用于对数据流信息进行分析,提取各匹配字段对应的关键信息并输出;范围关键信息拼接模块,用于将关键信息提取模块输出的所有范围匹配字段对应的关键信息按照用户定义的顺序首尾相接后输出;其他关键信息拼接模块,用于将关键信息提取模块输出的所有最长前缀匹配字段和精确匹配字段对应的关键信息按照用户定义的顺序首尾相接后输出。3.根据权利要求1所述的一种适用于多类字段的高速数据流分类装置,其特征在于,所述规则编码模块,包括规则预处理模块、第一规则编码器和第二规则编码器,其中:规则预处理模块,用于对数据流分类规则按照规则的优先级从高到低的顺序进行排序,排序后将数据流分类规则中的指令码输出、并对其中包含的子规则进行分类;第一规则编码器,用于对数据流分类规则中的范围匹配字段对应的子规则进行编码并输出;第二规则编码器,用于对数据流分类规则中的精确匹配字段对应的子规则和最长前缀匹配字段对应的子规则进行编码并输出。4.根据权利要求1所述的一种适用于多类字段的高速数据流分类装置,其特征在于,所述规则匹配模块,包括并行的第一流水线、第二流水线和结果综合模块,其中:第一流水线,用于存储第一规则编码器输出的编码结果,并将该规则与数据流处理模块输出的范围关键信息进行匹配;第二流水线,用于存储第二规则编码器输出的编码结果,并将该规则与数据流处理模块输出的其他关键信息进行匹配;结果综合模块,用于将第一流水线的匹配结果和第二流水线的匹配结果按位相与,得到数据流中的关键信息和数据流分类规则的匹配结果并输出。5.根据权利要求4所述的一种适用于多类字段的高速数据流分类装置,其特征在于,所述第一流水线,其存储器采用FPGA中的BlockRAM,所述第二流水线,其存储器采用FPGA中的寄存器。6.一种适用于多类字段的高速数据流分类方法,其特征在于,包括如下步骤:(1)用户定义若干个匹配字段的属性和若干条数据流分类规则:(1a)用户定义若干个匹配字段的属性,每个匹配字段的属性包括协议类型、匹配方式、128bit偏移、16bit偏移和掩码;(1b)用户定义若干条数据流分类规则,每条数据流分类规则包括规则的优先级、指令码和各匹配字段对应的子规则,其中各匹配字段对应的子规则的定义方法为:(i)如果匹配字段的匹配方式为精确匹配,则该匹配字段对应的子规则需定义匹配值;(ii)如果匹配字段的匹配方式为最长前缀匹配,则该匹配字段对应的子规则需定义匹配值和掩码;(iii)如果匹配字段的匹配方式为范围匹配,则该匹配字段对应的子规则需定义范围下限和范围上限;(2)数据流处理模块根据用户定义的所有匹配字段的属性,提取数据流中的关键信息并输出:(2a)关键信息提取模块对持续输入的数据流信息进行分析,并确定当前输入的数据流的两个属性:协议类型和距离起始符的128bit偏移,再将数据流的以上两个属性分别与所有匹配字段的协议类型、128bit偏移逐个比对,如果某匹配字段的协议类型、128bit偏移和数据流的协议类型、距离起始符的128bit偏移都相等时,根据该匹配字段的16bit偏移属性和掩码属性,输出当前数据流中该匹配字段对应的关键信息;否则,输出0;(2b)范围关键信息拼接模块将所有范围匹配字段对应的关键信息按照用户定义的顺序首尾相接后输出;(2c)其他关键信息拼接模块将所有最长前缀匹配字段的关键信息和精确匹配字段对应的关键信息按照用户定义的顺序首尾相接后输出;(3)规则编码模块对用户定义的数据流分类规则进行编码:(3a)规则预处理模块对数据流分类规则中包含的子规则进行分类:(3a1)规则预处理模块将数据流分类规则按照规则的优先级从高到低的顺序进行排序,并逐条输出排序后的数据流分类规则的指令码;(3a2)规则预处理模块将排序后的数据流分类规则中包含的子规则分为两类:一类为范围匹配字段对应的子规则,一类为最长前缀匹配字段对应的子规则和精确匹配字段对应的子规则;(3b)第一规则编码器对数据流分类规则中的范围匹配字段对应的子规则进行范围比特向量编码并输出;(3c)第二规则编码器对数据流分类规则中的精确匹配字段对应的子规则和最长前缀匹配字段对应的子规则进行跨步比特向量编码并输出;(4)规则匹配模块对数据流分类规则编码结果进行存储和匹配:(4a)第一流水线对第一规则编码器输出的编码结果进行存储,并将该规则的编码结果与数据流处理模块输出的范围关键信息进行匹配;(4b)第二流水线对第二规则编码器输出的编码结果进行存储,并将该规则的编码结果与数据流处理模块输出的其他关键信息进行匹配;(4c)结果综合模块将第一流水线的匹配结果和第二流水线的匹配结果按位相与,得到数据流中的关键信息和数据流分类规则的匹配结果并输出;(5)优先级编码模块对规则匹配模块输出的匹配结果进行优先级分析:优先级编码模块从高位向低位遍历规则匹配模块输出的匹配结果,确定其中第一个‘1’出现的位置,并将该位置的位置信息作为最优匹配结果并输出;(6)指令码提取模块提取优先级编码模块输出的最优匹配结果对应的指令码:(6a)指...
【专利技术属性】
技术研发人员:邱智亮,王伟娜,孙士勇,郑凌,张之义,赵海峰,潘伟涛,鲍民权,
申请(专利权)人:西安电子科技大学,中国电子科技集团公司第五十四研究所,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。