CN107508827A - 一种报文解析方法及装置 - Google Patents
一种报文解析方法及装置 Download PDFInfo
- Publication number
- CN107508827A CN107508827A CN201710833249.4A CN201710833249A CN107508827A CN 107508827 A CN107508827 A CN 107508827A CN 201710833249 A CN201710833249 A CN 201710833249A CN 107508827 A CN107508827 A CN 107508827A
- Authority
- CN
- China
- Prior art keywords
- message
- key
- address
- type
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文解析方法及装置,其中所述方法包括步骤:接收报文并组建成关键信息Key;根据所述组建的关键信息Key查询预置的行为分析表;判断所接收的报文是否为特殊型报文;当特殊型报文,则判断所述特殊型报文是实时型报文还是大流量报文;当为实时型报文,则优先调度处理器实时处理本报文,然后报文发送至目的端口;当为大流量报文,则进行分片处理,处理完成后发送至目的端口。本发明对于实时型报文可进行优先处理,对于大流量型报文,采取分片处理,实现同源同宿;此外,本发明的网络分析设备在相同报文再次接收时可避免重复进行一系列深层次的报文解析,避免了加重分析设备的负担,从而节约网络分析设备的CPU资源。
Description
技术领域
本发明涉及服务报文解析技术领域,具体涉及一种报文解析方法及装置。
背景技术
现有的网络分析设备的报文处理方法中,通常包括了分片信息处理流程,其中主要的处理流程包括预置分片信息表的处理,以及根据分片信息表中的分片信息标识寻求对应的具体处理器编号。如果是大流量报文则进行分片处理,提取报文的关键信息对预置的分片信息表进行查找,来保证报文的最终的同源同宿。例如,专利申请号为201210049845.0、发明名称为《报文分流方法、装置、处理器和网络设备》的中国发明专利,其介绍了如上述所述的报文处理方法,参见图1,在该发明专利中,分片信息处理步骤包括:步骤101,设备接收到报文并解析报文的关键信息,包括:外层IP、内层IP和该报文的标识;步骤102,设备根据报文头中的分片信息判断该报文是否为分片报文;步骤103,如果上述报文是分片报文,在预存的分片信息表中查找与上述分片报文外层IP地址和分片报文标识对应的处理器编号;步骤104,当在上述分片信息表中查找到与上述分片报文的外层IP和报文分片的标识对应的处理器编号时,将上述分片报文发给相应的处理器,根据分片信息表对接收的报文进行分片处理,从而保证后续分片报文转发到同一个处理器上,保证同源同宿。
上述发明专利所揭示的分片信息处理方案,对接收的报文进行分片处理时,通过一个预置分片信息表,查找到具体的处理器单元进行报文处理,保证大流量报文均匀分片处理并到同一处理单元中,保证了同源同宿可以实现。然而,上述方法中没有考虑很多报文属于实时型报文而需要及时处理的情况,也没有考虑到,如何更新分片信息,以便使新出现的超长报文也可以采用分片处理方法。
发明内容
本发明的目的在于,针对现有报文处理方法中存在的上述缺陷,提供一种新的报文解析方案,该方案能够快速响应高优先级的实时型报文的优先处理,也能及时更新超长报文的分片信息,提高了网络分析设备的处理性能。为实现上述目的,本发明的技术方案为:
根据本发明的一个方面,提供了一种报文解析方法,包括步骤:
接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key;
根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表;
根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文;
当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量报文,所述大流量报文为大数据流量的非实时型报文;
当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口;
当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
优选的,所述判断所述特殊型报文是实时型报文还是大流量报文的具体方法为:判断在行为分析表中所查询到的关键信息Key所对应的报文类型标记flag是0还是1,若是0,则表示所述特殊型报文为实时型报文,若是1,则表示所述特殊型报文为大流量报文。
优选的,当所述接收的报文为非特殊型报文,即是所述组建的关键信息Key不能在所述行为分析表中被查询到的普通型报文,则进行普通报文执行流程,并在处理器处理完成后将报文发送至目的端口,所述普通报文执行流程是指采用处理器体系架构设计的硬件多核并发调度机制来自动调度处理器处理报文。
优选的,所述普通报文执行流程包括:
判断所述接收的报文是否为实时型报文或者大流量型报文;
若为实时型报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为0,然后将所述组建的关键信息Key及其对应的报文类型标记flag作为新增表项添加至所述行为分析表中;
若为大流量型报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为1,然后将所述组建的关键信息Key及其对应的报文类型标记flag作为新增表项添加至所述行为分析表中。
根据本发明的另一个方面,提供了一种报文解析装置,包括:
接收模块,用于接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key;
查询模块,用于根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表;
第一判断模块,用于根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文;
第二判断模块,用于当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量报型文,所述大流量报文为大数据流量的非实时型报文;
第一处理模块,用于当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口;
第二处理模块,用于当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
优选的,所述第二判断模块,进一步用于当所接收的报文为特殊型报文,判断在行为分析表中所查询到的关键信息Key所对应的报文类型标记flag是0还是1。
优选的,当所述接收的报文为非特殊型报文,即是所述组建的关键信息Key不能在所述行为分析表中被查询到的普通型报文,则所述解析装置还包括:
第三处理模块,用于进行普通型报文执行流程,并在处理器处理完成后将报文发送至目的端口,所述普通报文执行流程是指采用处理器体系架构设计的硬件多核并发调度机制来自动调度处理器处理报文。
优选的,所述第三处理模块进一步包括:
第三判断模块,用于判断所述接收的报文是否为实时型报文或者大流量报文;
第一表项创建模块,用于当所接收的报文为实时型报文时,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为0,然后在所述行为分析表中创建与所述组建的关键信息Key和报文类型标记flag相对应的表项;
第二表项创建模块,用于当所接收的报文为大流量报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为1,然后在所述行为分析表中创建与所述组建的关键信息Key和报文类型标记flag相对应的表项。
本发明具体如下优点和有益效果:
一、本发明设有行为分析表的动态添加过程,即根据解析的报文Key和报文历史行为分析结果添加相应表项至所述行为分析表中,并采用Hash的算法,散列存储在内存中,可实现高速查找和报文高效解析。
二、本发明对于实时型报文可进行优先处理,即主要采用芯片多核引擎并行调度的算法,通过软件算法实现调度,从而保证了实时型报文的优先处理。
三、本发明对于大流量型报文,采取分片处理,同时保证属于同一个流的报文最终通过同一处理器处理,实现同源同宿,保证了数据报文的正确处理。
四、本发明的网络分析设备在相同报文再次接收时可避免重复进行一系列深层次的报文解析,避免了加重分析设备的负担,从而节约网络分析设备的CPU资源。
五、本发明对报文进行分类处理,能够快速而准确的处理报文,提高了网络分析设备的处理性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要的附图做简单的介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中报文解析的流程图;
图2为本发明报文解析方法第一种实施方式的流程图;
图3为本发明报文解析方法第二种实施方式的流程图;
图4为本发明报文解析装置第一种实施方式的结构框图;
图5为本发明报文解析装置第二种实施方式的结构框图。
具体实施方式
下面结合说明书附图对本发明实施例的具体实施方式作详细说明。
图2为本发明报文解析方法第一种实施方式的流程图,如图2所示,该报文解析方法包括:
步骤201,接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key。
本发明中,上述步骤中源MAC地址是指报文的来源设备物理地址;目的MAC地址是指报文发送到的目的设备物理地址;源IP地址是指报文的来源设备的IP地址;目的IP地址是指发往目的设备的IP地址;协议版本号,是指报文的第四层协议的协议类型,所述第四层的协议类型有如TCP,UDP,SPX等。
步骤202,根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表。
所述行为分析表是一张由源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号等关键信息组成的Key及其对应的报文处理机制,即报文类型标记flag和报文处理动作组成的Hash表,所述报文处理动作包括,例如:立即处理、丢弃、停止等。
步骤203,根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文。
当所组建的键信息Key能在所述行为分析表中被查询到,即组建的关键信息Key在Hash表中存在时,即表明所接收的报文为特殊型报文,在所述Hash表中能匹配出所接收报文的报文类型标记和具体的处理动作。
步骤204,当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量型报文,所述大流量报文为大数据流量的非实时型报文。
本发明中,所述实时型报文例如可为直播、视频流等,即在Hash表中匹配出的报文类型flag为0,所述大流量型报文可为大文本文件、图片、非即时视频文件等,即在Hash表中匹配出的报文类型flag为1。
上述步骤中,根据行为分析表决策出所述接收的报文属于特殊型报文,然后针对所述特殊型报文进一步分析是属于实时型报文还是大流量型报文,其中,上述进一步分析是依赖于行为分析表中的结果字段中的报文类型标记位flag,如果所述报文类型标记位flag的值为0,则为实时型报文,如果所述报文类型标记位flag的值为1,则为大流量报文。
步骤205,当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口。
上述步骤中,调度算法,是根据处理器体系架构设计的硬件多核并发调度机制,即由多核多处理的硬件调度引擎分配,当有优先级比较高的报文时,多核处理器调度引擎可中断其中一个任务所在的处理器切换到当前任务中,处理这个优先级别高的报文即优先调度处理算法,从而实现实时处理本报文。
步骤206,当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
如果是大流量报文比如大文本文件,图片等,则进行分片处理,并记录分片信息和调度出的处理器单元标号到分片信息表中。
上述步骤中,所述分片处理即是根据网路通路中所能承载的最大负荷(MaximumTransmission Unit即MTU,是指一种通信协议的某一层上面所能通过的最大数据包大小)进行分片,把一个大流量报文分成多个数据流进行处理,且记录每个分片报文的分片信息,例如源IP地址、目的IP地址和处理器的标识到分片信息表中,如此可保证属于同一个大流量的分片报文最终在同一个处理器中处理,保证同源同宿。同属一个流的分片报文最终在同一个处理器处理完成后,则根据报文的目的MAC地址,发往目的端口。
图3为本发明报文解析方法第二种实施方式的流程图,该报文解析方法包括:
步骤301,接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key。
本发明中,上述步骤中源MAC地址是指报文的来源设备物理地址;目的MAC地址是指报文发送到的目的设备物理地址;源IP地址是指报文的来源设备的IP地址;目的IP地址是指发往目的设备的IP地址;协议版本号,是指报文的第四层协议的协议类型。
步骤302,根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表。
所述行为分析表是一张由源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号等关键信息组成的Key及其对应的报文处理机制,即报文类型标记flag和报文处理动作组成的Hash表,所述报文处理动作包括,例如:立即处理、丢弃、停止等。
步骤303,根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文。
当所组建的键信息Key能在所述行为分析表中被查询到,即组建的关键信息Key在Hash表中存在时,即表明所接收的报文为特殊型报文,在所述Hash表中能匹配出所接收报文的报文类型标记和具体的处理动作。
步骤304,当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量报文,所述大流量报文为大数据流量的非实时型报文。
本发明中,所述实时型报文例如可为直播、视频流等,即在Hash表中匹配出的报文类型flag为0,所述大流量型报文可为大文本文件、图片等,即在Hash表中匹配出的报文类型flag为1。
上述步骤中,根据行为分析表决策出所述接收的报文属于特殊型报文,然后针对所述特殊型报文进一步分析是属于实时型报文还是大流量型报文,其中,上述进一步分析是依赖于行为分析表中的结果字段中的报文类型标记位flag,如果所述报文类型标记位flag的值为0,则为实时型报文,如果所述报文类型标记位flag的值为1,则为大流量报文。
步骤305,当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口。
上述步骤中,调度算法,是根据处理器体系架构设计的硬件多核并发调度机制,即由多核多处理的硬件调度引擎分配,当有优先级比较高的报文时,多核处理器调度引擎可中断其中一个任务所在的处理器切换到当前任务中,处理这个优先级别高的报文即优先调度处理算法,从而实现实时处理本报文。
步骤306,当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
如果是大流量报文比如大文本文件,图片等,则进行分片处理,并记录分片信息和调度出的处理器单元标号到分片信息表中。
上述步骤中,所述分片处理即是根据网路通路中所能承载的最大负荷(MaximumTransmission Unit即MTU,是指一种通信协议的某一层上面所能通过的最大数据包大小)进行分片,把一个大流量报文分成多个数据流进行处理,且记录每个分片报文的分片信息,例如源IP地址、目的IP地址和处理器的标识到分片信息表中,如此可保证属于同一个大流量的分片报文最终在同一个处理器中处理,保证同源同宿。同属一个流的分片报文最终在同一个处理器处理完成后,则根据报文的目的MAC地址,发往目的端口。
步骤307,当所述步骤303判断所接收的报文为非特殊型报文,即是所述组建的关键信息Key不能在所述行为分析表中被查询到的普通型报文时,则进行普通报文执行流程,所述普通报文执行流程是指采用处理器体系架构设计的硬件多核并发调度机制来自动调度处理器处理报文。
所述普通报文执行流程进一步包括步骤:
步骤307a,进一步判断所述非特殊型报文是否为实时型报文或者大流量报文;
该步骤中由于行为分析表中不存在与该报文关键信息Key相匹配的表项,即不能通过查询行为分析表中的报文类型标记来获知报文是实时型报文还是大流量报文,此时,可通过其他方式,如深度包检测DPI技术来解析报文的类型。
步骤307b,若所述非特殊型报文为实时型报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为0,然后将所述组建的关键信息Key及其对应的报文类型标记flag作为新增表项添加至所述行为分析表中;
步骤307c,若所述非特殊型报文为大流量报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为1,然后将所述组建的关键信息Key及其对应的报文类型标记flag作为新增表项添加至所述行为分析表中。
上述步骤307b和307c中,行为分析表中对第一次接收的报文根据解析情况创建并添加表项,以便下次接收到同类型的报文时可直接进行特殊型报文处理流程,而不需要进行深度包检测,提高了报文解析效率。
图4为本发明报文解析装置的第一种实施方式的结构框图,如图4所示,所述报文解析装置,包括:
接收模块400,用于接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key。
本发明中,上述源MAC地址是指报文的来源设备物理地址;目的MAC地址是指报文发送到的目的设备物理地址;源IP地址是指报文的来源设备的IP地址;目的IP地址是指发往目的设备的IP地址;协议版本号,是指报文的第四层协议的协议类型。
查询模块410,用于根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表。
所述行为分析表是一张由源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号等关键信息组成的Key及其对应的报文处理机制,即报文类型标记flag和报文处理动作组成的Hash表,所述报文处理动作包括,例如:立即处理、丢弃、停止等。
第一判断模块420,用于根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文。
当所组建的键信息Key能在所述行为分析表中被查询到,即组建的关键信息Key在Hash表中存在时,即表明所接收的报文为特殊型报文,在所述Hash表中能匹配出所接收报文的报文类型标记和具体的处理动作。
第二判断模块430,用于当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量报文,所述大流量报文为大数据流量的非实时型报文。
本发明中,所述实时型报文例如可为直播、视频流等,即在Hash表中匹配出的报文类型flag为0,所述大流量型报文可为大文本文件、图片等,即在Hash表中匹配出的报文类型flag为1。
上述中,根据行为分析表决策出所述接收的报文属于特殊型报文,然后针对所述特殊型报文进一步分析是属于实时型报文还是大流量型报文,其中,上述进一步分析是依赖于行为分析表中的结果字段中的报文类型标记位flag,如果所述报文类型标记位flag的值为0,则为实时型报文,如果所述报文类型标记位flag的值为1,则为大流量报文。
第一处理模块440,用于当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口。
上述中,调度算法,是根据处理器体系架构设计的硬件多核并发调度机制,即由多核多处理的硬件调度引擎分配,当有优先级比较高的报文时,多核处理器调度引擎可中断其中一个任务所在的处理器切换到当前任务中,处理这个优先级别高的报文即优先调度处理算法,从而实现实时处理本报文。
第二处理模块450,用于当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
如果是大流量报文比如大文本文件,图片等,则进行分片处理,并记录分片信息和调度出的处理器单元标号到分片信息表中。
上述中,所述分片处理即是根据网路通路中所能承载的最大负荷(MaximumTransmission Unit即MTU,是指一种通信协议的某一层上面所能通过的最大数据包大小)进行分片,把一个大流量报文分成多个数据流进行处理,且记录每个分片报文的分片信息,例如源IP地址、目的IP地址和处理器的标识到分片信息表中,如此可保证属于同一个大流量的分片报文最终在同一个处理器中处理,保证同源同宿。同属一个流的分片报文最终在同一个处理器处理完成后,则根据报文的目的MAC地址,发往目的端口。
图5为本发明报文解析装置第二种实施方式的结构框图,如图5所示,该第二种实施方式的结构框图与图4所示第一种实施方式的结构框图的不同之处在于还包括:
第三处理模块560,用于进行普通型报文执行流程,并在处理器处理完成后将报文发送至目的端口,所述普通报文执行流程是指采用处理器体系架构设计的硬件多核并发调度机制来自动调度处理器处理报文。
所述第三处理模块560进一步包括:
第三判断模块561,用于判断所述接收的报文是否为实时型报文或者大流量报文;
此处由于行为分析表中不存在与该报文关键信息Key相匹配的表项,即不能通过查询行为分析表中的报文类型标记来获知报文是实时型报文还是大流量报文,此时,可通过其他方式,如深度包检测DPI技术来解析报文的类型。
第一表项创建模块562,用于当所接收的报文为实时型报文时,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为0,然后在所述行为分析表中创建与所述组建的关键信息Key和报文类型标记flag相对应的表项;
第二表项创建模块563,用于当所接收的报文为大流量报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为1,然后在所述行为分析表中创建与所述组建的关键信息Key和报文类型标记flag相对应的表项。
上述第一表项创建模块562和第二表项创建模块563,确保本实施方式的报文解析装置会根据报文解析情况在行为分析表中创建并添加表项,以便下次接收到同类型的报文时可直接进行特殊型报文处理流程,实现了行为分析表的动态添加过程,提高了报文解析效率。
需要说明的是,上述实施方式中设定了当报文类型标记flag为0时,表示为实时型报文,当flag为1时,表示为大流量报文。但是,上述设定方式并不用于限制本发明,其可根据实际情况进行不同的设定,例如当flag为1时表示实时型报文,flag为0时表示大流量报文等等,其具体设定方式可有多种多样,涵盖了各报文类型标记方式的技术均在本发明的保护范围之内。
本发明报文解析方法根据报文历史行为的分析,对报文进行分类处理,能够快速而准确的处理报文,并保证大流量报文的同源同宿,快速响应高优先级的实时型报文的优先处理,提高了网络分析设备的处理性能。此外,本发明的网络分析设备在相同报文再次接收时可避免重复进行一系列深层次的报文解析,这样会加重分析设备的负担,从而节约网络分析设备的CPU资源。此外,本发明中所述的行为特征识别表可以是预置行为,在设备加载启动成功后生效,也可以支持动态添加过程,即当报文第一次接收时,通过深度包处理提取报文关键信息Key和报文类型等信息并添加至行为分析表,以便于下次接收相同类型报文时可直接按不同报文类型进行处理。
以上所述实施例仅表达了本发明的优选的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种报文解析方法,其特征在于,包括步骤:
接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key;
根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表;
根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文;
当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量型报文,所述大流量报文为大数据流量的非实时型报文;
当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口;
当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
2.如权利要求1所述的一种报文解析方法,其特征在于,所述判断所述特殊型报文是实时型报文还是大流量报文的具体方法为:判断在行为分析表中所查询到的关键信息Key所对应的报文类型标记flag是0还是1,若是0,则表示所述特殊型报文为实时型报文,若是1,则表示所述特殊型报文为大流量报文。
3.如权利要求1所述的一种报文解析方法,其特征在于,当所述接收的报文为非特殊型报文,即是所述组建的关键信息Key不能在所述行为分析表中被查询到的普通型报文,则进行普通报文执行流程,并在处理器处理完成后将报文发送至目的端口,所述普通报文执行流程是指采用处理器体系架构设计的硬件多核并发调度机制来自动调度处理器处理报文。
4.如权利要求3所述的一种报文解析方法,其特征在于,所述普通报文执行流程包括:判断所述接收的报文是否为实时型报文或者大流量报文;
若为实时型报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为0,然后将所述组建的关键信息Key及其对应的报文类型标记flag作为新增表项添加至所述行为分析表中;
若为大流量报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为1,然后将所述组建的关键信息Key及其对应的报文类型标记flag作为新增表项添加至所述行为分析表中。
5.一种报文解析装置,其特征在于,包括:
接收模块,用于接收报文,并获取所述报文的源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key;
查询模块,用于根据所述组建的关键信息Key查询预置的行为分析表,所述行为分析表是一种记录了报文的关键信息Key及其对应的报文类型标记flag和报文处理动作的Hash表;
第一判断模块,用于根据所述查询结果判断所接收的报文是否为特殊型报文,所述特殊型报文是指所述组建的关键信息Key能在所述行为分析表中被查询到的报文;
第二判断模块,用于当所接收的报文为特殊型报文,则进一步判断所述特殊型报文是实时型报文还是大流量报文,所述大流量报文为大数据流量的非实时型报文;
第一处理模块,用于当所述特殊型报文为实时型报文,则根据调度算法,优先调度处理器实时处理本报文,并在处理器处理完成后将报文发送至目的端口;
第二处理模块,用于当所述特殊型报文为大流量报文,则对所述大流量报文进行分片处理,并将分片信息和调度出的处理器标号记录到分片信息表中,根据分片信息表调度相应标号的处理器对分片信息进行处理,处理完成后发送至目的端口。
6.如权利要求5所述的一种报文解析装置,其特征在于,所述第二判断模块,进一步用于当所接收的报文为特殊型报文,判断在行为分析表中所查询到的关键信息Key所对应的报文类型标记flag是0还是1。
7.如权利要求5所述的一种报文解析装置,其特征在于,当所述接收的报文为非特殊型报文,即是所述组建的关键信息Key不能在所述行为分析表中被查询到的普通型报文,则所述解析装置还包括:
第三处理模块,用于进行普通型报文执行流程,并在处理器处理完成后将报文发送至目的端口,所述普通报文执行流程是指采用处理器体系架构设计的硬件多核并发调度机制来自动调度处理器处理报文。
8.如权利要求7所述的一种报文解析装置,其特征在于,所述第三处理模块进一步包括:
第三判断模块,用于判断所述接收的报文是否为实时型报文或者大流量报文;
第一表项创建模块,用于当所接收的报文为实时型报文时,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为0,然后在所述行为分析表中创建与所述组建的关键信息Key和报文类型标记flag相对应的表项;
第二表项创建模块,用于当所接收的报文为大流量报文,则获取其源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号,将上述源MAC地址、目的MAC地址、源IP地址、目的IP地址以及协议版本号组建成关键信息Key,并将报文类型标记flag标记为1,然后在所述行为分析表中创建与所述组建的关键信息Key和报文类型标记flag相对应的表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833249.4A CN107508827B (zh) | 2017-09-15 | 2017-09-15 | 一种报文解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833249.4A CN107508827B (zh) | 2017-09-15 | 2017-09-15 | 一种报文解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107508827A true CN107508827A (zh) | 2017-12-22 |
CN107508827B CN107508827B (zh) | 2021-01-26 |
Family
ID=60696693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710833249.4A Active CN107508827B (zh) | 2017-09-15 | 2017-09-15 | 一种报文解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107508827B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888710A (zh) * | 2017-12-26 | 2018-04-06 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
CN109672669A (zh) * | 2018-12-03 | 2019-04-23 | 国家计算机网络与信息安全管理中心 | 流量报文的过滤方法及装置 |
CN113162913A (zh) * | 2021-03-15 | 2021-07-23 | 煤炭科学技术研究院有限公司 | 矿井监控***的报文解析方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624611A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 报文分流方法、装置、处理器和网络设备 |
CN103514043A (zh) * | 2012-06-29 | 2014-01-15 | 华为技术有限公司 | 多处理器***及该***的数据处理方法 |
CN103988543A (zh) * | 2013-12-11 | 2014-08-13 | 华为技术有限公司 | 无线局域网中的控制设备、网络***及业务处理方法 |
CN105939274A (zh) * | 2016-05-17 | 2016-09-14 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
-
2017
- 2017-09-15 CN CN201710833249.4A patent/CN107508827B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624611A (zh) * | 2011-12-31 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 报文分流方法、装置、处理器和网络设备 |
CN103514043A (zh) * | 2012-06-29 | 2014-01-15 | 华为技术有限公司 | 多处理器***及该***的数据处理方法 |
CN103988543A (zh) * | 2013-12-11 | 2014-08-13 | 华为技术有限公司 | 无线局域网中的控制设备、网络***及业务处理方法 |
CN105939274A (zh) * | 2016-05-17 | 2016-09-14 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888710A (zh) * | 2017-12-26 | 2018-04-06 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
CN109672669A (zh) * | 2018-12-03 | 2019-04-23 | 国家计算机网络与信息安全管理中心 | 流量报文的过滤方法及装置 |
CN109672669B (zh) * | 2018-12-03 | 2021-07-30 | 国家计算机网络与信息安全管理中心 | 流量报文的过滤方法及装置 |
CN113162913A (zh) * | 2021-03-15 | 2021-07-23 | 煤炭科学技术研究院有限公司 | 矿井监控***的报文解析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107508827B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107508827A (zh) | 一种报文解析方法及装置 | |
CN103618733B (zh) | 一种应用于移动互联网的数据过滤***及方法 | |
CN107769992B (zh) | 一种报文解析分流方法及装置 | |
CN105516390B (zh) | 域名管理的方法和装置 | |
RU2010146258A (ru) | Способ, устройство и система для распределения сообщений | |
CN104348638A (zh) | 识别会话流量的业务类型的方法、***及设备 | |
CN106131244A (zh) | 一种报文传送方法及装置 | |
CN108462615A (zh) | 一种网络用户分组方法和装置 | |
CN111404768A (zh) | 一种dpi识别的实现方法及设备 | |
CN104915252B (zh) | 一种进程端口管理装置及方法 | |
CN105046802A (zh) | 一种基于多柜台的银行排队叫号方法及*** | |
CN104184723B (zh) | 一种应用程序识别方法、装置和网络设备 | |
CN104980409A (zh) | 一种上网行为管理方法及装置 | |
CN102137070A (zh) | 一种限制用户登陆聊天室的方法、***和设备 | |
CN105072050A (zh) | 一种数据传输方法及装置 | |
CN103812774B (zh) | 基于tcam的策略配置方法、报文处理方法及相应装置 | |
CN102629345A (zh) | 链式沟通协作方法、装置及*** | |
CN105610808A (zh) | 一种基于动态域名解析的网络流量识别方法及*** | |
CN107948022A (zh) | 一种对等网络流量的识别方法及识别装置 | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN103634365A (zh) | 一种无线接入网中的第三方应用平台及其通讯方法 | |
CN102857939B (zh) | 小区参数的配置方法及装置 | |
CN101964728B (zh) | 一种dpi设备注册的方法和*** | |
CN112671845B (zh) | 数据处理方法、装置、电子设备、存储介质及云端*** | |
CN111177281B (zh) | 一种访问管控方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |