一种通用网络数据包实时处理系统及方法

文档序号:7697654阅读:139来源:国知局
专利名称:一种通用网络数据包实时处理系统及方法
技术领域
本发明涉及网络通讯,特别涉及网络通讯数据包的数据包头的处理。
背景技术
由于IP网络环境的开放性以及传统网络对于涉及是对于安全性能检测、网 络性能检测问题缺乏周详考虑,致使我们无法适时了解网络是否安全、性能是 否良好,网络的运行状态是否良好。
为了解决这一难题,现在通行的办法就是,通过设计网络分析软件分析由 采集设备(即采集设备)采集的目标网络的数据包,从而判断被分析目标网络 的运行状况是否良好,是否安全,性能是否满足要求。
然而,不同的采集设备的驱动程序是不同的,采集到的数据包的格式有很 大的差别,几乎是每一个采集设备都需要一专门为它量身定制的网络分析软件。
随着对于网络分析的需求多元化,专门化,采集设备也更加多样化,专门
化。现在主流网卡为10M/100M/1000M以太网卡,无线网卡,而且还有很多厂 家生产的专门的采集设备如PCI数据采集卡,USB数据采集卡,PC104数据采集 卡。为了设计网络分析软件的成本越来越庞大。作为个人、企业、甚至一个国 家都无法承受不断膨胀的研发成本。而且,随着网络分析软件的种类多元化、 手段多样化。而且使得网络分析标准更加难以统一,使用户无法了解目标网路 的真实状况,致使网络分析软件的使用价值大打折扣。
为了克服这些技术难题,增强网络分析软件的实用性。现有的网络数据分析软件能支持现有的通行的采集设备,在一定程度上缓解研发成本的压力。但 是市面上的网络分析软件仍然没有克服实时支持采集设备的有限性,无法支持 专门采集设备,更没有支持将来出现的采集设备的准备。所以为了实时分析专 用的采集设备或者将来的采集设备采集的数据,还是需要专门编写网络分析软 件。没有彻底根除网络分析软件开发成本的膨胀问题,网络分析标准统一化问 题,也没有明显提高网络分析软件的应用范围和价值。
造成这种情况的主要原因在于1、不同采集设备采集的数据包数据包头的 结构不同。2网络分析标准不同。3、同一数据包处理系统无法实时向多个网络 分析软件提供数据包。
所以研究一种系统和方法能将所有现存有的和将来的采集设备采集的数据 包,采用设备模块化转化通过对它们的数据包的数据包头的格式,输出统一格 式数据包头的数据包,供给给同一网络分析软件进行分析。克服这两大技术难 题,具有重大的现实意义和实用价值。

发明内容
有鉴于此,本发明的目的在于提供一种通用网络数据包实时处理系统及方 法,使所有采集设备从目标网络中能够釆集的数据包的数据包头都可以进行数 据包头格式转化,为同一套网络分析软件实时提供统一格式的数据包头的数据 包。
本发明实现上述为使所有采集设备从目标网络中能够采集的数据包的数据 包头都可以进行数据包头格式转化,为同一套网络分析软件实时提供统一格式 的数据包头的数据包的系统方案它包括数据包采集模块和网络分析模块,其 特征在于在数据包采集模块与网络分析模块之间,嵌入有数据包格式转化模块和采集引擎模块,其中数据包格式转化模块,该转化模块也由若干分别与采集 设备对应的适配器设备模块构成,各适配器设备模块将来自对应的采集设备所
采集的数据包的数据包头,转化为统一格式的数据包头;采集引擎模块,由处 理线程、分配线程和过滤器构成,其中,处理线程控制采集设备所采到的数据 包的数据包头流向对应的适配器设备模块,分配线程控制由处理线程提取数据 包头后剩下的数据信息和经适配器设备模块转化的统一格式的数据包头流向过 滤器,过滤器根据所需的过滤条件,过滤由分配线程输送的数据,并将过滤所 得的符合条件的数据包传输给网络分析模块;数据包的处理进程为数据包采集 模块一采集引擎模块一数据包格式转化模块—采集引擎模块,最后,将符合过 滤条件的统一格式数据包头与与之对应的数据包的数据输送给网络分析模块。
上述数据包采集模块包含有原始数据包缓存器,各采集设备采集到的数据 包可暂存于原始数据包缓存器中,这样可以实现网络分析模块成批量分析数据 包的功能。
上述数据包格式转化模块包含有数据包头缓存器,各适配器设备模块转化 的统一格式的数据包头可以暂存于数据包头缓存器中,这样更有利于实现网络 分析模块成批量分析数据包的功能。
上述采集设备包括10M/100M/1000M以太网卡,无线网卡,各种专用采集 卡等能采集数据包的设备。
上述适配器设备模块与采集设备的对应关系,是多对多的关系,由适配器 设备模块指定其可以支持的采集设备以及数据包头格式。 一个适配器设备模块 可以支持一种采集设备,也可以支持多种采集设备。同一种采集设备可以被多 个适配器设备模块支持,由用户选择使用哪个适配器设备模块来获取这种设备的网络数据包。
上述统一格式的数据包头是指各种数据包头按照其数据包时间戳、数据包 长度、数据包采集长度、采集设备介质和釆集设备编号处理后所形成的统一格 式。
上述转化设备模块包括太网卡适配器设备模块,专用网络采集卡适配器设 备模块,无线网卡适配器设备模块。
上述过滤器所需的过滤条件是指用户根据自己的网络分析软件所能分析的 数据包的特性自定义,如数据包长度、数据包的时间戳、采集设备编号、采集 介质等数据包头特性。
本发明实现上述系统的通用网络数据包实时处理方法,它包括以下步骤
(a) 启动采集引擎模块,载入适配器设备模块,并将网络分析模块中的分配 模块在与采集需要数据包的采集设备对应的适配器设备模块中进行注册;
(b) 己注册适配器设备模块对应的采集设备经采集弓I擎模块启动后,采集各 自所在的目标网络中的数据包,并将采集到的数据包保存在原始数据包缓存器 中,设置事件属性ON;
(C)采集引擎模块启动处理线程,提取该数据包的数据包头,输送给该数据 包的采集设备对应的适配器,该数据包的原始数据仍然保存在原始数据包缓存 器中,等待分配线程的调取;
(d) 各个配器设备模块将对应采集设备的采集数据包的数据包头转化成统一 格式的数据包头,将统一格式的数据包头保存在数据包头部缓存器,并设置事 件属性OFF;
(e) 停止处理线程,暂定运行,等待调取下一个数据包;
8②启动分配线程,调取原始数据包缓存器中的该数据包的原始数据和数据
包头部缓存器中的对应的数据包头;
(g) 将分配线程调取的该数据包的原始数据和数据包头传输给过滤器,过滤 后,利用回调接口输送给网络分析模块,并将事件属性设定为ON;
(h) 检测是否还有设为OFF属性的事件,如果有,分配线程返回第(g)骤步; 如果没有,分配线程暂定停,返回(c)步骤;
(i) 网络分析模块接到有新的数据需要分析时,就调取数据,进行分析,并 通知数据包采集模块再次采集数据包。
进一步,所述方法的第(g)步,具体步骤如下
首先,调取原始数据包缓存器中的原始数据和对应保存在数据包头缓存器的 数据包头;
接着,输送给过滤器;
最后,筛选数据包,并利用回调接口给网络分析模块输出符合条件的数据包。 本发明的系统及方法具有以下优点
1、 数据包头格式统一性。通过本系统对数据包的数据包头的处理,网络分 析软件可以获得具有统一格式的数据包头的网络数据包。
2、 批量处理。网络分析软件(即网络分析模块)可以实现成批分析在原始 数据包缓存器和数据包头缓存器中的全部内容。
3、 操作简单。网络分析软件可以实时获得来自多个采集设备采集的数据 包,只需要网络分析软件对应的分配模块向多个釆集设备对应的设备模块注册 即可。
4、 开放性、扩张性强。将来出现的新的采集设备,也只需根据采集设备的
9驱动程序编写出针对这个采集设备的数据包的数据包头格式转化的适配器设备
模块并载入数据包格式转化模块中,即可使用同一套网络分析软件;根据用户 的需要可以载入需要的适配器设备模块或者卸载不需要的适配器设备模块。
5、各模块独立强。本发明系统及方法采用模块化方式设计,采集设备可以 独立地采集数据包,不但可以启动指定的单一或者多个采集设备,而且特定的 采集设备启动或者关闭,并不影响其他采集设备的正常运行。


图1是现有网络分析系统结构示意图 图2是现有网络分析系统另一结构示意图
图3是采用本发明通用数据包处理系统的网络分析系统结构示意图 其中图中的1、2、3、4、n代表的采集设备,而lV2,/3,4Vn,分别代表1、2、3、4、n 所代表采集设备对应的适配器设备模块。
图4是本发明通用数据包处理系统示意图及流程图
其中图中的1、2、3、4、n代表的采集设备,而r/2,/3,4,/n,分别代表1、2、3、4、n 所代表采集设备对应的适配器设备模块。 图5是本发明系统静态结构图 图6是本发明系统的线程活动图
图7是本发明系统的数据包缓存与事件属性设置同步运行流程图
具体实施例方式
为了是发明的目的、技术方案和优点更加清楚,下面将结合说明书附图对 本发明作进一步地详细描述。
总的来说,本发明的工作原理在于(1)提供一个开放性的系统,用户能自主载入适配器设备模块,利用适配器设备模块对该适配器设备模块对应的采 集设备采集的数据包的数据包头进行处理,转化成统一格式的数据包头,然后
通过过滤器,对数据包进行分流,提供给网络分析软件,进行分析处理。(2) 采集设备和适配器设备模块构成多对多的对应关系,可实现多个采集设备同时 采集数据包,特定的设备启动或者关闭,并不影响其他设备的正常运行。(3) 网络分析软件需要实时获得来自多个采集设备采集的数据包时,只需要网络分 析模块的分配模块向多个采集设备的适配器设备模块注册即可。所谓,网络分 析模块的分配模块,为网络分析模块中调取,输送数据包的线程。
下面将参照说明书附图,说明本发明的一个实施例。为了使本技术方案更 于理解,在描述本发明所采用通用数据包格式转化技术之前,需要对传统情况 下网络分析系统的处理方式进行说明。
如图1所示、对采集设备针对性设计的网络分析软件,虽然在能够有效地 分析数据。但是,市场上的采集设备的多样性,对于每个采集设备都专门编写 一个网络分析软件,不但会重复很多工作,增加研发经费,增加用户的使用成 本,而且还造成网络分析手段不一,分析标准不统一。这些都严重限制了网络 分析软件的应用范围和使用价值。
如图2所示,虽然在一定程度可以让同一个网络分析软件,实时分析多个 采集设备采集的数据。但是有的特殊的专门数据采集卡,现行的这种类型的网 络分析软件还没有办法支持,更何况将来的采集设备呢?即使全部支持了,因 为这种系统的构造没有一个数据处理模块,将会导致,数据线程输送的拥堵, 严重影响网络分析的效率。
本发明的重点如图3所示,即在于在采集设备模块和网络分析模块之间,嵌入通用数据包格式转化模块和采集引擎模块。其中数据包格式转化模块,由 若干分别与采集设备对应的适配器设备模块构成,各适配器设备模块将来自对 应的采集设备所采集的数据包的数据包头,转化为统一格式的数据包头,如来 自;如果数据包格式转化模块中没有与采集设备对应的适配器设备模块可以采 用动态方式载入"专门"与该采集设备对应的适配器设备模块即可。采集引擎 模块由处理线程、分配线程和过滤器构成,负责调度处理线程、分配线程和管 理过滤器过滤。在不改变数据包里面数据的情况下,调度处理线程提取数据包
头,并将数据包头输送到对应的适配器设备模块;当有事件属性为OFF时,调 度分配线程调取处理线程调取数据包头后留下的数据和统一格式的数据包头, 并将它们输送给过滤器;通过过滤器的过滤分流,输出符合要求的数据包,利 用回调接口供给网络分析模块分析。
通过采集引擎模块的处理线程对数据包头流向的控制,将数据包头输送到 对应的适配器设备模块,该适配器设备模块对数据包头格式的统一化处理,为 网络分析软件提供了统一格式的数据包头的数据。从而实现了本发明的目的。 同时实现了同一套网络分析软件支持所有采集设备,实现了分析标准的统一 , 分析手段的同一的目的。而且操作简单,如果网络分析软件需要实时获得哪些 采集设备采集的数据包,只需要网络分析软件的分配模块向相应的采集设备对 应的适配器设备模块注册即可。
具体的说,如图3所示,本实施例的通用数据包处理系统包含采集设备模 块、数据包格式转化模块、采集引擎模块和网络分析模块。
其中,采集设备模块用于采集目标网络中的数据包。通用数据包格式转化 模块用于数据包头的转化,实现数据包头的格式统一化。采集引擎模块用于调度处理线程、分配线程和管理过滤器过滤。网络分析模块,用于分析通用数据 包格式转化模块进行统一格式转化后的数据包。需要指出的是,通用数据包是 采集设备能采集到的所有数据包。
另一方面,根据本发明的原理,上述通用数据包格式转化模块,通过提取 数据包的数据包头结构,利用通用数据包格式转化模块中的"专门"的适配器 设备模块对提取的数据包头的格式进行统一格式处理,并通过过滤器进行筛选, 给网络分析软件提供统一格式的数据包。需要指出的是,通用数据包,为采集 设备在目标网络中采集的数据包;"专门"适配器设备模块,为根据采集设备的 驱动程序而编写的,能将该采集设备采集的数据包的数据包头的格式进行统一 格式化处理。如果在现有的数据包格式转化模块中没有针对某种采集设备的适 配器设备模块时,用户可以实时用动态载入方式载入指定的适配器设备模块。 这样避免了现用分析软件只能支持现有的某些采集设备的局限。在这种情况下, 任何采集设备采集的数据包都可以在数据包格式转化模块中得到统一格式数据 包结构的转化。这样避免了针对采集设备进行专门设计网络分析软件的局限, 只需要设计一套能都分析某种数据包包头结构的分析软件即可。
由此可见,通过采用"专门"的适配器设备模块转化与之对应的采集设备 采集的数据包的数据包头格式,又通过分配线程将数据和统一格式的数据包头, 输送给过过滤器,过滤分流后,输送给网络分析模块需要分析。在这种情况下, 如果出现不支持的集设备时,用户只需要设计专门的适配器设备模块,载入通 用数据包格式转化模块中即可,扩大了网络分析软件的实用范围,提升了网络 分析软件的成长空间,大大节约了网络分析软件的研发成本。
下面继续结合图4具体描述,系统的运行流程。
13如图四所示,首先通过网络分析模块或者用户界面手动启动通用数据包格
式转化模块中的采集引擎模块;
第二步,通过采集引擎模块载入或者卸载指定适配器设备模块,为采集设 备采集的设备采集的数据包提供数据包头转化为统一格式提供平台。当出现, 某采集设备种数据包格式转化模块中没有对应的适配器设备模块时,可以根据 该采集设备的驱动程序,专门编写适配器设备模块,并载入数据包格式转化模 块中,即可循环使用;
第三步,采集设备是否正常;
第四步,启动采集设备,开始采集数据包。该系统不到可以启动某一个指 定的采集设备,而且还可以启动同时启动多个采集设备。同时,对于特定采集 设备的关闭,也不影响其他采集设备的正常采集;
第五步,提取数据包头,各适配器设备模块各自转化来自各自对应的采集 设备的数据包头;
第六步,通过过滤器的过滤分流,向网络分析软件提供新的分析数据包。 当多个采集设备同时采集设备时,可以利用原始数据包缓存器和数据包头缓存 器将多个设备采集的数据包汇聚在一起提供给网络分析软件。也可以根据网络 分析软件的要求只提供某个特定设备采集的数据包; 第七步,关闭采集设备,停止数据包采集; 第八步,释放所有适配器设备模块,并关闭采集引擎模块。 下面结合图5、图6具体描述实现本发明系统通用数据包处理方法。 如图5所示,首先启动采集引擎模块,载入适配器设备模块,并将网络分 析模块的分配模块向所需采集数据包的采集设备对应的适配器设备模块注册,
14比如如果网络分析模块需要以太网卡、专用网络采集卡和无线网卡釆集的数据 包,网络分析模块就分别在以太网卡适配器设备模块、专用网络采集卡适配器 设备模块、无线网卡适配器设备模块中注册,如果数据包格式转化模块中没有 专用网络采集卡对应的专用网络采集卡适配器设备模块时,用户只需载入专用 网络采集卡适配器设备模块后,网络分析模块的分配模块再在专用网络采集卡 适配器设备模块中注册;
第二步,通过各个采集设备采集数据包,将采集的数据包保存在原始数据 包缓存器中,并设置事件属性为ON,等待分配线程的调用(如图6所示);
第三步,启动处理线程,如图六所示,处理线程提取原始数据包缓存器中 的数据包的数据包头,并输送给采集该数据包的采集设备对应的适配器设备模 块,如太网卡对应的是以太网卡适配器设备模块,专用网络采集卡对应的是专 用网络釆集卡适配器设备模块;
第四步,采集该数据包的采集设备对应的适配器设备模块,如太网卡对应 的是以太网卡适配器设备模块,将该数据包头进行格式转化,形成统一格式的 数据包头结构,并将统一格式的数据包头保存在数据包头缓存器中,设置处理 事件设为OFF (如图6所示),等待分配线程的调用;
第五步,启动分配线程,从原始数据包缓存器和数据包头缓存器中分别调 取原始数据包和统一格式的数据包头,并输送给过滤器,设置事件属性为ON(如 图6所示);
第六步,检测是否还有属性为OFF的事件,如果有返回第五步,如果没有 返回第三步;
第七步,启动过滤器,将数据包和数据包头一起过滤,对数据包进行分流,输送给网络分析模块。通过过滤条件的设定,可以只向网络分析软件提供某个 特定的数据包采集的数据,也可以当多个采集设备同时采集设备时,可以利用 原始数据包缓存器和数据包头缓存器将多个设备采集的数据包汇聚在一起提供 给网络分析软件。也可以根据网络分析软件的要求只提供某个特定设备采集的 数据包;
第八步,网络分析模块分析数据包,分析完成后通知采集设备继续采集数 据包。
由此可见,通过利用采集引擎模块对线程输送的调度、过滤器和所有适配 器设备模块管理,克服了以往在网络数据包处理的固有缺陷。具体来说,不但 可以根据用户的需要自主载入、卸载,而且还可以通过设置处理事件的属性, 实现对分配线程和处理线程的调度运行,从而实现本方法的可循环性、可重复 性。多线程技术可以充分利用多核CPU的优势,使采集、分配和分析并发进行, 从而提高了整个系统的分析效率。过滤技术,通过对过滤器的设置,可以根据 用户或者分网络析软件的要求,给网络分析软件提供特定的网络数据。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述, 但是本领域的普通技术人员应该明白,可以在形式上和细节山对其作各种各样 的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1、一种通用网络数据包实时处理系统,它包括数据包采集模块和网络分析模块,其特征在于在数据包采集模块与网络分析模块之间,嵌入有数据包格式转化模块和采集引擎模块,其中数据包格式转化模块,由若干分别与采集设备对应的适配器设备模块构成,各适配器设备模块将来自对应的采集设备所采集的数据包的数据包头,转化为统一格式的数据包头;采集引擎模块,由处理线程、分配线程和过滤器构成,其中,处理线程控制采集设备所采到的数据包的数据包头流向对应的适配器模块,分配线程控制由处理线程提取数据包头后的原始网络数据和经适配器设备模块转化的统一格式的数据包头流向过滤器,过滤器根据所设定的过滤条件,过滤由分配线程输送的数据,并将过滤所得的符合条件的数据包实时传输给网络分析模块;数据包的处理进程为数据包采集模块→采集引擎模块→数据包格式转化模块→采集引擎模块,最后,采集引擎模块中的过滤器将符合过滤条件的统一格式数据包头与与之对应的数据包的数据利用回调接口输送给网络分析模块。
2、 根据权利要求1所述系统,其特征在于数据包采集模块,该数据包采集 模块由若干采集设备构成,在采集引擎模块的选择下启动,所启动的采集设备 采集各自所在的目标网络中的数据包。
3、 根据权利要求2所述系统,其特征在于数据包采集模块包含有原始数据 包缓存器,各采集设备采集到的数据包可暂存于原始数据包缓存器中。
4、 根据权利要求1所述系统,其特征在于数据包格式转化模块包含有数据 包头缓存器,各适配器设备模块转化的统一格式的数据包头可以暂存于数据包 头缓存器中。
5、 根据权利要求1所述系统,其特征在于采集设备包括10M/100M/1000M 以太网卡,无线网卡,各种专用采集卡等。
6、 根据权利要求1所述系统,其特征在于统一格式的数据包头是指各种数 据包头按照其数据包时间戳、数据包长度、数据包采集长度、采集设备介质和 采集设备编号处理后所形成的统一格式。
7、 根据权利要求1所述系统,其特征在于转化设备模块包括以太网卡适配 器设备模块,专用网络采集网卡适配器设备模块,无线网卡适配器设备模块。
8、 根据权利要求1所述系统,其特征在于为过滤器所需的过滤条件是指用 户根据自己的网络分析软件所能分析的数据包的特性自定义,如数据包长度、 数据包的时间戳等。
9、 一种实现权利要求l所述系统的通用网络数据包实时处理方法,其特征 在于它包括以下步骤-(a) 启动采集引擎模块,载入适配器设备模块,并将网络分析模块中的分配模 块在与采集需要数据包的采集设备对应的适配器设备模块中进行注册;(b) 已注册适配器设备模块对应的采集设备经采集引擎模块启动后,各自采集 目标网络中的数据包,并将采集到的数据包保存在原始数据包缓存器中,设置 事件属性ON;(c) 采集引擎模块启动处理线程,提取该数据包的数据包头,输送给该数据包 的采集设备对应的适配器,该数据包的原始数据仍然保存在原始数据包缓存器 中,等待分配线程的调取;(d) 各个配器设备模块将对应采集设备的采集数据包的数据包头转化成统一 格式的数据包头,将统一格式的数据包头保存在数据包头部缓存器,并设置事件属性OFF;(e)停止处理线程,暂停运行,等待调取下一批数据包;①启动分配线程,调取原始数据包缓存器中的该数据包的原始数据和数据包 头部缓存器中的对应的数据包头;(g) 将分配线程调取的该数据包的原始数据和数据包头传输给过滤器,过滤 后,利用回调接口输送给网络分析模块,并将事件属性设定为ON;(h) 检测是否还有设为OFF属性的事件,如果有,分配线程返回第(g)骤步; 如果没有,分配线程暂停,返回(C)步骤;(i) 网络分析模块接到有新的数据需要分析时,就调取数据,进行分析,并通 知采集设备再次采集数据包。
10、根据权利要求9所述方法,其第(g)步骤,具体包括以下步骤 首先,调取原始数据包缓存器中的剩下的数据和对应保存在数据包头缓存器 的数据包头;接着,输送给过滤器;最后,筛选数据包,并利用回调接口给网络分析模块输出符合条件的数据。
全文摘要
本发明公开了一种通用网络数据包处理系统及方法,其主要特点在于在数据包采集模块与网络分析模块之间,嵌入有数据包格式转化模块和采集引擎模块,其中数据包格式转化模块把各种格式的数据包头转化成统一格式的数据包头,采集引擎模块,用于调度处理线程、分配线程和管理所有适配器模块和过滤器的运作。从而使本发明实现了数据包头格式统一化、数据成批量处理化、网络分析高效率化、操作简单化,同时它还具有开放性、扩张性和各模块独立性的优点。
文档编号H04L12/56GK101567845SQ20091005908
公开日2009年10月28日 申请日期2009年4月27日 优先权日2009年4月27日
发明者伍宏宁 申请人:成都科来软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1