一种基于混合计算硬件的网络报文分类系统和方法技术方案

技术编号:10356814 阅读:109 留言:0更新日期:2014-08-27 13:03
本发明专利技术提出了基于混合计算硬件的多级网络报文分类系统和方法。通过中央处理器对多种不同计算硬件资源进行集中调度,构建多级分类处理流水线,将匹配规则按照不同计算硬件的特性进行合理分割并配置到流水线各级中,对于简单规则可以通过专用硬件芯片完成分类处理,对应复杂自定义分类规则可以由专用硬件芯片、通用并行处理器和通用中央处理器协同实现,增强了处理报文的能力。

【技术实现步骤摘要】
一种基于混合计算硬件的网络报文分类系统和方法
本专利技术涉及一种基于混合计算硬件的多级网络报文分类系统和方法,属于报文分类

技术介绍
计算机网络设备从网络接口接收到来自外部的网络报文,需要根据其自身任务对报文进行相关处理,譬如,路由器和交换机接收到报文后需要往其他网络接口进行转发,NAT网关设备接收到数据报文后需要对报文进行修改,负载均衡器需要对报文进行重定向。这些设备在对报文进行操作(转发或修改)前,均必不可少地需要先对数据报文进行分类,针对不同类别的网络报文执行不同的操作。现有技术通常采用专用硬件芯片来对报文固定位置的内容进行提取并且与各条分类规则进行逐一对比,若报文与某条规则匹配,则将数据报文归类到该规则所指定的分类中。传统利用专用硬件芯片进行报文分类的方法存在灵活性不足,用户只能根据网络报文目的IP地址、物理地址等少数给定的规则中进行选取,难以根据用户自定义的报文字段进行分类。新型网络报文分类方法有尝试采用通用处理器或者图形处理器实现报文分类,以实现灵活定义的报文分类机制,然而现有方法均局限于采用单一类型的计算硬件(CPU或GPU),其报文分类处理能力非常有限,难以满足现有计算机网络海量网络报文分类处理要求。
技术实现思路
为了解决现有技术中的技术问题,本专利技术提出了基于混合计算硬件的多级网络报文分类系统和方法。通过中央处理器对多种不同计算硬件资源进行集中调度,构建多级分类处理流水线,将匹配规则按照不同计算硬件的特性进行合理分割并配置到流水线各级中,对于简单规则可以通过专用硬件芯片完成分类处理,对应复杂自定义分类规则可以由专用硬件芯片、通用并行处理器和通用中央处理器协同实现。具体地,本专利技术采用如下技术方案:本专利技术提供一种基于混合计算硬件的多级网络报文分类系统,其特征在于:该系统包括网络接口、专用硬件芯片、通用并行处理器、通用中央处理器和中央处理器;该网络接口用于接收网络报文,中央处理器控制专用硬件芯片、通用并行处理器和通用中央处理器三个部分,所述三个部分作为分类处理中的三个分级;中央处理器将各种计算硬件资源配置成多级分类流水线,并且对分类规则数据库中全部规则进行逐条分析和拆分;专用硬件芯片用于实现流水线第一级;通用并行处理器用于实现流水线第二级;通用中央处理器用于实现流水线第三级。优选的是,中央处理器识别网络接口,标识不同网络接口的类型和数目。优选的是,中央处理器识别计算硬件,标识不同计算硬件的类型、数目及其相关资源。优选的是,中央处理器逐条规则的拆分具体为:拆分为若干部分,第一部分是能被流水线第一级处理的部分,第二部分是能被流水线第二级处理的部分,如此类推,每一部分均有可能为空。优选的是,中央处理器为流水线每一级构建并维护一个描述表,该描述表记录对应流水线级的级数、所支持的字段类型、当前存储的全部表项的内容、组织方式和存储位置。本专利技术还提供一种混合计算硬件的多级网络报文分类方法,其特征在于:该方法分为单级流水线内容处理和多级流水线分类处理。所述单级流水线内容处理方法具体为:第一级和第二级流水线根据流水线设置从报文提取字段,合成待匹配值,将所述待匹配值与当前表项进行对比,并输出对应对比结果。第三级流水线根据当前表项自定义字段从报文提取字段,合成待匹配值,将所述待匹配值与当前表项进行对比,并输出对应对比结果。所述多级流水线分类处理方法具体为:从网络接口取出数据报文,加入缓冲队列,并送入流水线处理;在流水线第一级进行查找,如果命中则根据命中表项跳转至第二级流水线进行查找;如果命中则根据命中表项跳转至第三级流水线进行查找,在同样命中的情况下输出分类类别,并进行存储;如果上述任何一级出现不命中的情况,则直接输出无命中对应的分类类别并进行存储。在单级流水线内容处理或者多级流水线分类处理之前还包括分类流水线增加新分类规则的方法,具体为:系统初始化,并增加一条新分类规则;把新增规则拆分成三部分;在流水线第一级进行查找,如果命中则根据命中表项跳转至第二级流水线进行查找;如果命中则根据命中表项跳转至第三级流水线进行查找,在同样命中的情况下判断为新增加的规则已经存在,不需要增加;如果上述第一级或者第二级出现不命中的情况,则在不命中的一级新增表项且在下一级新增搜索域,并跳转至新的搜索域;如果上述第三级出现不命中的情况,则直接在第三级新增表项。附图说明图1是混合计算硬件的多级网络报文分类系统示意图。图2是分类流水线增加新分类规则流程图。图3是第一第二级流水线分类处理流程图。图4是第三级流水线分类处理流程图。图5是多级流水线分类处理流程图。具体实施方式下面结合附图和具体实施例对本专利技术的技术方案进行详细描述。如图1所示,本专利技术的系统包括网络接口、专用硬件芯片、通用并行处理器、通用中央处理器和中央处理器(未示出),该网络接口用于接收网络报文,中央处理器控制专用硬件芯片、通用并行处理器和通用中央处理器三个部分,这三个部分作为分类处理中的三个分级。其中,中央处理器可以识别网络接口,标识不同网络接口的类型和数目。例如系统有十个千兆以太网接口和四个万兆以太网接口,分别标识为eth0,eth1,...,eth9和xge0,xge1,xge2,xge3。中央处理器还可以识别计算硬件,标识不同计算硬件的类型、数目及其相关资源。例如系统中有两个八核CPU,两块独立显卡和一块专用硬件分类芯片(例如FPGA、商用交换芯片等),分别标识为CPU0,CPU1,...,CPU14,CPU15,GPU0,GPU1和HW0,其中所有CPU共享16GB主机内存,每个GPU可使用3GB专用显存,专用硬件分类芯片能够存储4K条128比特长度的分类规则。中央处理器将各种计算硬件资源配置成多级分类流水线。流水线第一级P1由专用硬件芯片实现,在表项长度允许情况下覆盖最常用的分类规则检查字段,譬如,目地IP地址、源IP地址、目的MAC地址、源MAC地址等等;流水线第二级P2由通用并行计算硬件(例如GPU和DSP等)实现,覆盖全部次常用分类检查字段,譬如TTL字段、ACK/SYN标识位、IP报文长度字段等等;流水线第三级P3由通用处理器即CPU实现,覆盖用户配置分类规则指定的报文任意位置和任意长度,以提供充分的分类灵活性。用户输入配置的分类规则统一存储在规则数据库中,用户增加、删除、修改分类规则均通过操作数据库内容实现。中央处理器对分类规则数据库中全部规则进行逐条分析,将每条规则拆分为若干部分,第一部分是能被流水线第一级P1处理的部分,第二部分是能被流水线第二级P2处理的部分,如此类推,每一部分均有可能为空。譬如,一条分类规则需要检查目的IP地址(P1),TCP目的端口号(P1),IP数据报文总长度(P2)和TCP荷载第的10个字节(用户自定义,P3)三部分,则该规则分为如下三部分,第一部分是“目的IP地址,TCP目的端口号”,第二部分是“IP数据报文总长度”,第三部分是“TCP荷载第的10个字节”。中央处理器为流水线每一级构建并维护一个描述表,该描述表记录对应流水线级的级数、所支持的字段类型、当前存储的全部表项的内容、组织方式和存储位置。该描述表与流水线具体表项的存储方式和组织结构相互独立,中央处理器依据该描述表来对流水线各级进行具体表项配置管理,包括本文档来自技高网...
一种基于混合计算硬件的网络报文分类系统和方法

【技术保护点】
一种基于混合计算硬件的多级网络报文分类系统,其特征在于:该系统包括网络接口、专用硬件芯片、通用并行处理器、通用中央处理器和中央处理器;该网络接口用于接收网络报文,中央处理器控制专用硬件芯片、通用并行处理器和通用中央处理器三个部分,所述三个部分作为分类处理中的三个分级;中央处理器将各种计算硬件资源配置成多级分类流水线,并且对分类规则数据库中全部规则进行逐条分析和拆分;专用硬件芯片用于实现流水线第一级;通用并行处理器用于实现流水线第二级;通用中央处理器用于实现流水线第三级。

【技术特征摘要】
1.一种基于混合计算硬件的多级网络报文分类系统,其特征在于:该系统包括网络接口、专用硬件芯片、通用并行处理器、通用中央处理器和中央处理器;该网络接口用于接收网络报文,中央处理器控制专用硬件芯片、通用并行处理器和通用中央处理器三个部分,所述三个部分作为分类处理中的三个分级;中央处理器将各种计算硬件资源配置成多级分类流水线,并且对分类规则数据库中全部规则进行逐条分析和拆分,所述多级分类流水线包括流水线第一级、流水线第二级和流水线第三级;所述流水线第一级由所述专用硬件芯片实现,覆盖最常用的分类规则检查字段;所述流水线第二级由所述通用并行处理器实现,覆盖全部次常用分类检查字段;所述流水线第三级由所述通用中央处理器实现,覆盖用户配置分类规则指定的报文任意位置和任意长度。2.如权利要求1所述的基于混合计算硬件的多级网络报文分类系统,其特征在于:中央处理器逐条规则的拆分具体为:拆分为若干部分,第一部分是能被流水线第一级处理的部分,第二部分是能被流水线第二级处理的部分,如此类推,每一部分均有可能为空。3.如权利要求1所述的基于混合计算硬件的多级网络报文分类系统,其特征在于:中央处理器为流水线每一级构建并维护一个描述表,该描述表记录对应流水线级的级数、所支持的字段类型、当前存储的全部表项的内容、组织方式和存储位置。4.利用权利要求1所述系统的混合计算硬件的多级网络报文分类方法,其特征在于:该方法分为单级流水线内容处理和多级流水线分类处理。5.如权利要求4所示的方法,...

【专利技术属性】
技术研发人员:李丹唐勇
申请(专利权)人:开网科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1