一种高速并行网络协议与应用分析方法 【技术领域】
本发明是一种对网络中的传输数据进行分析的方法,可用于内容审计、内容过滤以及网络访问控制等领域。
背景技术
目前,在访问控制、内容过滤、内容审计以及网络安全等领域中,需要对网络使用情况和网络数据进行监控。网络监控设备按照应用协议对网络数据进行分类、识别,并可记录数据内容及按照特定规则对会话进行控制。通常,监控设备都部署在网络出口处,设备上运行一个数据分析引擎实现上述功能。因此,在大流量的网络环境中,需要尽可能的减少丢包率,使监控设备可以记录下更多更完整的数据。数据分析引擎本身的处理能力成为了设备性能的瓶颈。
通常情况下,数据分析引擎从操作系统的协议栈中获取数据包。在获取数据包之前,协议栈首先对整个数据流进行数据流重组等操作,然后再将数据包交给分析引擎顺序处理。这样的话,协议栈必须对所有流经的数据进行上述操作,存在下列缺点:
1.由于数据分析引擎只是针对特定的会话进行内容分析,因此数据流重组等操作只需要针对特定会话;
2.监控设备一般都会设置匹配规则,不符合规则的会话也不应该进行数据流重组等操作;
3.协议栈的串行操作延缓了上层的应用数据处理。
【发明内容】
本发明的目的在于使用一种高速并行的应用分析方法,针对上述缺点对数据分析引擎进行改进,提高大流量网络环境中地监控设备的数据分析引擎的性能。
实现本发明的技术方案包括如下步骤:
1.数据获取:直接从网络接口获取原始数据;
2.会话管理:根据数据包的地址和协议信息查找会话节点,未找到则生成会话节点信息;会话节点中至少包含以下信息:源/目的MAC地址、源/目的IP地址、传输层协议、源/目的端口、会话动作(通过/拒绝);
3.监控匹配:按照设定规则对新建会话节点进行匹配,并执行相应的动作;如果不是新建节点,则直接执行相应的动作;
4.应用分析:针对会话的数据流重组,并进行相应的应用数据分析。
一种高速并行网络协议与应用分析方法,用于网络监控设备的数据分析引擎,包括:
用于获取数据包的数据获取模块;
用于管理应用会话信息的会话管理模块;
用于匹配监控规则的监控匹配模块;
用于处理应用数据的应用分析模块;
由数据获取模块从网络接口获取原始数据包,然后从会话管理模块获取相应的会话信息;监控匹配模块匹配新建的会话信息,并设置会话的处理动作;多个应用协议分析模块并行处理应用数据。
该方法的先进之处在于:
1.针对会话进行监控匹配,减少了数据包的监控规则匹配次数;
2.预先对会话进行监控匹配,避免了多余的数据流重组处理;
3.多个应用协议分析模块进行并行处理,提高了数据处理的效率。
【附图说明】
图1是本发明的处理流程图。
【具体实施方式】
如图1所示,一种高速并行网络协议与应用分析方法,包括如下步骤:
1.数据获取:直接从网络接口获取原始数据;
2.会话管理:根据数据包的地址和协议信息查找会话节点,未找到则新建会话节点;会话节点中至少包含以下信息:源/目的MAC地址、源/目的IP地址、传输层协议、源/目的端口、会话动作(通过/拒绝);
3.监控匹配:按照设定规则对新建会话节点进行匹配,并执行相应的动作;如果不是新建节点,则直接执行相应的动作;
4.应用分析:针对会话的数据流重组,并进行相应的应用数据分析。