一种网络流量审计方法及审计系统的制作方法

文档序号:7810251阅读:350来源:国知局
专利名称:一种网络流量审计方法及审计系统的制作方法
技术领域
本发明涉及网络技术领域,尤其涉及一种网络流量审计方法及一种网络流量审计系统。
背景技术
随着网络上各种新应用的不断出现,在促进网络发展的同时也给网络监管带来越来越多的挑战。现有技术中,为了维护安全、保障网民的根本利益,涌现出了一大批针对不同类型防御对象的类IDSantrusion detection system,入侵检测系统),这些网络流量审计系统大多部署在Linux系列下基于Linux Iibpcap接口,通过Iibpcap接口捕获数据包, 然后针对数据包做不同的处理。网络流量审计系统这种部署在Linux系统上基于Iibpcap 接口捕获数据包的方式有明显的缺点。因为Linux系统的网络协议栈的实现的是TCP/IP 协议族,数据包到达网卡后,要经过接口层- >数据链路层-> IP层-> TCP层- >应用层最后到达应用程序;然而用于以太网的设计中主要关注的是传输可靠性,因此数据包在这一过程中要经过大量的检查和内存的拷贝,最后由于Linux系统内存管理的要求,再从网络协议栈所处的内核空间,拷贝到应用程序所处的用户空间。在此过程中数据包的大量检查及由内核空间向用户空间的拷贝开销是巨大的。由于上述技术的缺陷,为提高效率,减少不必要的资源占用,于是在网络流量审计系统中提出了一种零拷贝驱动技术,其通过在用户空间开辟一个共享内存区,利用内存映射这一机制,将网卡得到的数据直接放入用户空间里去,这样即避免了层层协议检测同时又避免了数据包从内核空间向用户空间的拷贝。由于零拷贝驱动需要绕过内核中的协议栈而直接将数据包交与应用程序的机制,所以设计了单独的接入模块,独立实现对接入流量的解析与分流工作。零拷贝驱动将接入流量在同源同宿的前提下尽量平均分为N份以支持上层业务软件多线程(例如N个线程)处理的需要,同源同宿是指保证同一个连接的所有数据包被同一个线程处理,目的是保持处理状态的连续性。现有这种零拷贝驱动技术将设计好的分流策略直接写入到驱动程序中,用户不能修改,但实际情况是网络环境不同,流量分布也不相同,不存在一个分流策略适合所有的网络环境。实际上,当网络环境变化时可能会导致分流不均衡,从而降低整体处理效率。零拷贝驱动程序设计之初网络上主要是IPv4数据包流量,具有VLAN(Virtual Local Area Network,虚拟局域网)标记的数据包流量和IPv6数据包流量总量很小,故当时的流量审计系统只对IPv4数据包流量进行检测,所以当初的零拷贝驱动只设计了对 IPv4数据包流量的接入支持。然而,随着网络技术的迅猛发展,在线网络流量的协议类型和应用种类日益增多,近年来尤其是VLAN标记的数据包流量、IPv6数据包流量在主干网上迅速增多,如果不加入对这部分流量的接入支持将不能使得网络流量审计系统充分发挥作用,并且流量审计系统也会因为处理流量的不完全而达不到预期的效果。针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中的问题,本发明提出一种网络流量审计方法及审计系统,能够对不同类型的数据包流量进行分流,完善对网络流量的处理能力以及提高对网络流量的整体处理效率。本发明的技术方案是这样实现的根据本发明一实施例的一种网络流量审计方法包括对接收到的数据包进行判断;当判断出所述接收到的数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。在进一步的实施方式中,所述方法还包括当判断出所述接收到的数据包为IPv4 数据包时,根据设定的IPv4数据包分流策略将所述IPv4数据包分配到相应的缓冲区以便所述网络流量审计系统处理。在可选实施方式中,所述方法还包括通过分流策略接口设定IPv4数据包分流策略和/或IPv6数据包分流策略。在可选实施方式中,所述方法中的对接收到的数据包进行判断包括判断接收到的数据包是否是VLAN数据包;当判断为是时进一步判断作为所述接收到的VLAN数据包的载荷部分的数据包是否为IPv6数据包或者IPv4数据包;当判断为否时直接判断所述接收到的数据包是否为IPv6数据包或者IPv4数据包。根据本发明另一实施例的一种网络流量审计方法包括通过分流策略接口设定IPv4数据包分流策略;对接收到的数据包进行判断;当判断出所述接收到的数据包为IPv4数据包时,根据设定的IPv4数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。在进一步的实施方式中,所述方法还包括通过所述分流策略接口设定IPv6数据包分流策略;当判断出所述接收到的数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。在可选实施方式中,所述方法中的对接收到的数据包进行判断包括判断接收到的数据包是否是VLAN数据包;当判断为是时,判断作为所述接收到的VLAN数据包的载荷部分的数据包是否为 IPv6数据包或者IPv4数据包;当判断为否时,直接判断所述接收到的数据包是否为IPv6数据包或者IPv4数据包。根据本发明又一实施例的一种网络流量审计系统包括判断单元,用于对接收到的数据包进行判断,其中对接收到的数据包进行判断包括判断所述接收到的数据包是否为IPv6数据包或者在判断出接收到的数据包不为IPv4 数据包时进一步判断该数据包是否为IPv6数据包;数据包分流单元,用于在所述判断单元判断出所述数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。
在可选实施方式中,所述判断单元对接收到的数据包进行判断还包括在判断出接收到的数据包不为IPv6数据包时进一步判断该接收到的数据包是否为IPv4数据包或者判断接收到的数据包是否为IPv4数据包;所述数据包分流单元还用于在所述判断单元判断出所述数据包为IPv4数据包时,根据设定的IPv4数据包分流策略将所述IPv4数据包分配到相应的缓冲区以便所述网络流量审计系统处理。在可选实施方式中,所述判断单元对接收到的数据包进行判断还包括判断接收到的数据包是否为VLAN数据包;当判断为是时,进一步判断作为所述接收到的VLAN数据包的载荷部分的数据包是否为IPv6数据包或者IPv4数据包。在可选实施方式中,所述网络流量审计系统还包括分流策略设定单元,用于通过分流策略接口设定IPv4数据包分流策略和/或IPv6数据包分流策略。本发明通过设定的IPv6数据包分流策略使得能够对IPv6数据包流量进行分类处理完善了网络流量审计系统处理网络流量的能力。进一步地,通过分流策略接口能够自行修改IPv4数据包分流策略和IPv6数据包分流策略,使得用户可以根据流量分布的不同及网络环境的需要动态地调整分流策略,增加了分流策略的灵活性,从而可保证在任何网络环境下达到对网络流量的最大处理能力。并且,本发明实施例的网络流量审计方法和审计系统还可以支持对VLAN数据包流量的处理。


图1是根据本发明一实施例的网络流量审计方法的流程示意图。图2是根据本发明另一实施例的网络流量审计方法的流程示意图。图3是根据本发明又一实施例的网络流量审计系统的结构示意框图。
具体实施例方式下面结合附图对本发明作进一步地详细说明。本发明一实施例的网络流量审计方法的流程示意图如图1所示,该方法包括S101,接收通过网络发送来的数据包。S102,判断接收到的数据包是否为IPv6数据包,判断为是时执行步骤S103,判断为否时执行步骤S104.S103,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。S104,进一步判断数据包是否为IPv4数据包,判断为否时,执行步骤S105,丢弃该数据包;判断为是时,执行步骤S106。S106,根据设定的IPv4数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。本发明实施例中,根据IP协议特征判断时IPv4数据包还是IPv6数据包。分流是为了保持同一对IP之间的所有通信数据包分配到同一个缓冲区以备同一个线程处理,这样可以保持前后处理状态的一致性。IPv4的IP地址只有32位,而IPv6的IP地址有128 位,所以针对IPv6的数据包分流需要对1 位地址进行相应的运算处理,运算结果采用最大保持平均分布,这样可保持分流均衡,从而使整机达到最大处理能力。
本发明实施例的网络流量审计方法还包括通过分流策略接口设置IPv4数据包分流策略和/或IPv6数据包分流策略。而现有零拷贝技术中,设计好的IPv4数据包分流策略在开始直接写入驱动程序中,在后续过程中用户不能再修改,而本发明中在零拷贝技术基础上进行了改进,使得可以基于网络环境的不同和网络流量的不同写入新的IPv4数据包分流策略和IPv6数据包分流策略。在本发明一实施方式中,可以是审计系统初始化时调用分流策略接口,基于网络需求写入新的IPv4数据包分流策略。在进一步的实施方式中,还可以在审计系统初始化时基于网络环境的需要写入IPv6数据包分流策略。下面是通过分流策略接口写入IPv6和/或IPv4数据包分流策略的示例。实现过程中,增加修改hash函数的函数指针,指针原型 int(*getStreamHash),通过函数(pstream_hash hash, _u32sip,
_u32dip),用户可实现自己的分流策略,然后覆值给指针函数即可。
权利要求
1.一种网络流量审计方法,所述方法包括对接收到的数据包进行判断;当判断出所述接收到的数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述IPv6数据包分配到相应的缓冲区以便网络流量审计系统处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括当判断出所述接收到的数据包为IPv4数据包时,根据设定的IPv4数据包分流策略将所述IPv4数据包分配到相应的缓冲区以便所述网络流量审计系统处理。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括通过分流策略接口设定IPv4数据包分流策略和/或IPv6数据包分流策略。
4.根据权利要求1或2所述的方法,其特征在于,对接收到的数据包进行判断包括判断接收到的数据包是否是VLAN数据包;当判断为否时,判断所述接收到的数据包是否为IPv6数据包或者IPv4数据包;当判断为是时,进一步判断作为所述接收到的VLAN数据包的载荷部分的数据包是否为IPv6数据包或者IPv4数据包。
5.一种网络流量审计方法,所述方法包括通过分流策略接口设定IPv4数据包分流策略;对接收到的数据包进行判断;当判断出所述接收到的数据包为IPv4数据包时,根据设定的IPv4数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。
6.根据权利要求5所述方法,其特征在于,所述方法还包括通过所述分流策略接口设定IPv6数据包分流策略;当判断出所述接收到的数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便所述网络流量审计系统处理。
7.一种网络流量审计系统,所述系统包括判断单元,用于对接收到的数据包进行判断,其中对接收到的数据包进行判断包括判断所述接收到的数据包是否为IPv6数据包或者在判断出接收到的数据包不为IPv4数据包时进一步判断该数据包是否为IPv6数据包;数据包分流单元,用于在所述判断单元判断出所述数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理。
8.根据权利要求7所述的系统,其特征在于所述判断单元对接收到的数据包进行判断还包括在判断出接收到的数据包不为 IPv6数据包时进一步判断该接收到的数据包是否为IPv4数据包或者判断接收到的数据包是否为IPv4数据包;所述数据包分流单元还用于在所述判断单元判断出所述数据包为IPv4数据包时,根据设定的IPv4数据包分流策略将所述IPv4数据包分配到相应的缓冲区以便所述网络流量审计系统处理。
9.根据权利要求7或8所述的系统,其特征在于,所述系统还包括分流策略设定单元, 用于通过分流策略接口设定IPv4数据包分流策略和/或IPv6数据包分流策略。
10.根据权利要求7或8所述的系统,其特征在于,所述判断单元对接收到的数据包进行判断还包括判断接收到的数据包是否为VLAN数据包;当判断为是时进一步判断作为所述接收到的VLAN数据包的载荷部分的数据包是否为 IPv6数据包或者IPv4数据包。
全文摘要
本发明公开了一种网络流量审计方法,该方法包括对接收到的数据包进行判断;当判断出所述接收到的数据包为IPv6数据包时,根据设定的IPv6数据包分流策略将所述数据包分配到相应的缓冲区以便网络流量审计系统处理;以及当判断出所述接收到的数据包为IPv4数据包时,根据设定的IPv4数据包分流策略将所述IPv4数据包分配到相应的缓冲区以便所述网络流量审计系统处理。相应地,本发明还公开了一种网络流量审计系统。采用本发明,能够进一步完善对网络流量的处理能力以及提高对网络流量的整体处理效率。
文档编号H04L12/46GK102497385SQ201110455929
公开日2012年6月13日 申请日期2011年12月31日 优先权日2011年12月31日
发明者万伟, 刘兴彬, 刘铁, 曹振南, 李博文, 李明辉, 王泼, 范玉峰, 贺志强, 邵宗有, 陈科 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1