CN105515899B - 一种网络模拟路由器Netflow数据生成系统及方法 - Google Patents
一种网络模拟路由器Netflow数据生成系统及方法 Download PDFInfo
- Publication number
- CN105515899B CN105515899B CN201510886081.4A CN201510886081A CN105515899B CN 105515899 B CN105515899 B CN 105515899B CN 201510886081 A CN201510886081 A CN 201510886081A CN 105515899 B CN105515899 B CN 105515899B
- Authority
- CN
- China
- Prior art keywords
- netflow
- data
- module
- cache
- caching
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种网络模拟路由器Netflow数据生成系统及方法。该系统包括网络模拟器主模块、Netflow配置模块、Netflow提取模块、Netflow缓存模块和Netflow输出模块。网络模拟器主模块异步调用Netflow处理程序,提取Netflow所需数据;Neflow配置模块配置生成Netflow所需的参数,Netflow提取模块在路由器上提取Netflow信息,并由Netflow缓存模块存入相应的缓存位置,Netflow输出模块在达到缓存输出条件时将Netflow信息输出至输出目标中。本发明可生成通用的Netflow数据,弥补网络模拟路由器缺少Netflow数据的缺陷。
Description
技术领域
本发明属于网络模拟技术领域,涉及网络模拟器中,流经或产生于模拟路由器的数据监控方法、工具,具体涉及一种网络模拟路由器Netflow数据生成系统及方法。
背景技术
计算机网络的发展呈现出面对规模日益增长,复杂性不断增强、环境日益多变的特点,这也就使得网络性能、大量网络信息内容的挖掘、网络安全等问题伴随着网络的发展而变得日益突出。复杂网络环境下的应用如网络空间安全性、相关网络工具有效性等很难在实际的网络中对其进行充分有效的测试、验证和评估。军事、教育、科研、互联网应用等领域均需要模拟出能够满足各系统测试与评估所需的复杂、多样、灵活的网络环境。
Netflow是一种数据交换方式,提供网络流量的会话级视图,记录下每个TCP/IP事务的信息。也许它不能象捕包那样提供网络流量的完整记录,但是当汇集起来时,它更加易于管理和易读,在网络攻击捡、异常流量分析、网络状态监测、流量统计计费等领域,是公认且主流的基础数据。Netflow最早由思科公司提出,当前主流的网络路由器设备都集成了Netflow数据采集生成分析统计功能。以下为NFC2.0(Cisco NetFlow Collector)采集的Netflow格式:源IP地址|目的IP地址|源自治域|目的自治域|源接口号|目的接口号|源端口|目的端口|传输层协议类型|包数量|字节数|流数量。其中称源IP、目的IP、源端口、目的端口、协议为五元组,可以标识一个流。
常见的虚拟网络构建技术中,软件模拟方法以其在模拟规模、模拟灵活性和实现成本上的独特优势成为目前主流的网络模拟应用技术,然而,网络模拟器在模拟过程中的产生的数据目前与实际设备还无法相提并论。尤其是伴随着网络模拟器技术上的不断成熟,其可模拟的网络结构、网络协议、网络设备类型越来越多,越来越复杂,也就越发体现出模拟过程中监控数据的重要性。目前主流的网络模拟器主要提供了日志和数据包捕获的功能,还提供了一些可视化形式来展现模拟过程,然而其数据形式较为单一,对于研究人员分析网络就显得有些力不从心。
发明内容
本发明从网络研究的实际需求出发,提出一种网络模拟路由器Netflow数据生成方法及系统,可生成通用的Netflow数据供网络空间活动研究人员来使用,弥补网络模拟路由器缺少Netflow数据的缺陷。
本发明的一种网络模拟路由器Netflow数据生成系统,如图1所示,包括网络模拟器主模块(即图1中的“网络模拟主进程”)、Netflow配置模块、Netflow提取模块、Netflow缓存模块、Netflow输出模块。各个模块功能分别为:
网络模拟器主模块:根据用户需求模拟网络环境及在其上的应用。本系统在既有的网络模拟器架构中,在节点的IP协议栈,数据包到达IP层的位置,注册函数指针,以达到异步调用的目的。有IP数据包到达路由器节点时,可异步调用Netflow生成方法来生成Netflow数据。对于不需要生成Netflow数据的终端节点,可将异步调用方法注册为空,不进行任何处理。
Neflow配置模块:本模块可配置生成Netflow所需要的相关参数,如Netflow缓存大小、采集超时时间、缓存算法(如哈希算法等)、采集频率、采集协议、采集节点等。
Netflow提取模块:解析Netflow配置,根据配置在路由器上提取Netflow信息,并将信息写入缓存模块。
Netflow缓存模块:接收Netflow信息,根据预设的缓存算法存入相应的缓存位置,同时控制当达到缓存库输出条件的计算。所述缓存算法可以采用哈希算法,也可以采用其它适用的缓存算法。
Netflow输出模块:当缓存的Netflow信息达到缓存输出条件时,该模块负责按照配置将Netflow信息输出到文件或者其他定义的输出目标(Netflow数据接收端)中。
本发明的一种网络模拟路由器Netflow数据生成方法,其主要步骤如下:
1.在网络模拟器的主模块节点的IP协议栈中,数据包到达IP层的位置,注册函数指针以达到异步调用的目的。
2.通过Netflow配置模块配置系统参数,如缓存大小、采用的哈希算法、缓存超时条件等等、采集节点、输出目的等。
3.初始化异步调用,不需要Netflow数据的节点如终端节点,该异步调用为空。而需要采集Netflow数据的模拟路由器,注册Netflow处理程序,当有数据包到达该位置将触发Netflow数据的生成。
4.数据包到达时,Netflow提取模块根据Netflow配置解析数据包,提取五元组及其他生成Netflow所需的数据。
5.Netflow缓存模块按照预设的缓存算法(如哈希算法等)计算一条Netflow数据应当存入的缓存位置,若无可存入位置,则清空缓存,再存入。存入后,根据配置计算缓存输出条件,如超时条件、缓存使用量等,当缓存超时或者缓存已满或者满足其他缓存提取条件时,则将Netflow数据从Netflow缓存模块取出,由Netflow输出模块将Netflow数据输出到指定目标。
本发明公开了一种网络模拟路由器Netflow数据生成方法及系统,与现有方法相比,具有如下优点:
1)模拟路由器可跟根据配置输出Netflow数据,输出形式可根据定义为文件或使用通用协议发送到指定设备;
2)无需改动模拟器原有架构,可采用异步调用方式,在模拟路由器的IP层,获取数据包,异步调用Netflow处理程序,提取Netflow所需数据;
3)Netflow数据的处理可以通过多进程或者多线程形式与模拟主进程并行进程,对模拟路由器采集Netflow数据后,对模拟进程的性能影响小;
4)处理方法可以类似插件形式,适用于多种网络模拟器。
附图说明
图1是网络模拟路由器Netflow数据生成系统组成及方法的基本流程图。
图2是Netflow数据缓存流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
NFC2.0(Cisco NetFlow Collector)采集的Netflow格式:
源IP地址|目的IP地址|源自治域|目的自治域|源接口号|目的接口号|源端口|目的端口|传输层协议类型|包数量|字节数|流数量
由于模拟器模拟的网络一般忽略自治域的概念,而流中最重要的是五元组,即源IP、目的IP、源端口、目的端口、传输层协议,另外字节数影响缓存大小的判断。
1.配置,可采用配置文件或者数据库等多种方式存储配置。配置项包括但不限于待采集的路由器节点、缓存大小、哈希算法、超时时长等。
2.为将本系统与网络模拟器集成,需要在网络模拟器既有架构中,添加异步调用。具体调用位置应当为路由器协议栈中IP层数据包转发位置。而将Packet buffer、节点标识、转入转出接口等数据传给网络模拟路由器Netflow数据生成系统。
3.Netflow数据提取具体实施方式是:根据TCP/IP协议族定义,首先提取源、目的IP地址,以及包大小和其他相关数据。根据IP包头协议字段,提取传输层协议类型,并按照后续传输层的协议类型提取源、目的端口。
4.缓存Netflow数据。Netflow提取模块从一个Packet中提取到五元组及相关信息后,则将信息提交给Netflow缓存模块。缓存Netflow数据的具体实施方式如下,流程图如图2所示。
4.1按照配置的哈希算法计算该条信息五元组的哈希值,并找到哈希值对应的缓存表项,若该项没有数据,则转步骤4.2。若有该条数据则转步骤4.4。
4.2计算缓存清空条件,例如若缓存已超时,则转步骤5。若已占用缓存大小cached.used(),该条表项占用空间大小为buf.size()。配置的缓存大小为cached.size(),若cached.used()+buf.size()>=cached.size(),则转步骤5。若不满足清空条件则转步骤4.3.
4.3将该条数据存入缓存;
4.4若该表项中已存储了Netflow数据,则将该条Netflow数据取出,并与当前数据的五元组进行比对,若一致,则更新该条数据的包数量、包大小等信息;若不一致,则利用对应的哈希算法解决冲突,转步骤4.2.
5.当缓存表达到清空条件时,其数据将被导出给Netflow输出模块。该模块将接收到的缓存数据,按照配置及指定Netflow格式和输出端,将Netflow数据输出,供研究人员使用。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (9)
1.一种网络模拟路由器Netflow数据生成系统,其特征在于,包括网络模拟器主模块、Netflow配置模块、Netflow提取模块、Netflow缓存模块和Netflow输出模块;
所述网络模拟器主模块负责根据用户需求模拟网络环境及在其上的应用,在节点的IP协议栈的数据包到达IP层的位置注册函数指针,以达到异步调用的目的;所述网络模拟器主模块在有IP数据包到达路由器节点时,异步调用Netflow生成方法来生成Netflow数据;对于不需要生成Netflow数据的终端节点,将异步调用方法注册为空,不进行任何处理;
所述Neflow配置模块负责配置生成Netflow所需要的相关参数,当有数据包经过模拟路由器时解析Netflow配置,并将解析结果提交给所述Netflow提取模块;
所述Netflow提取模块负责解析Netflow配置,根据Netflow配置在路由器上提取Netflow信息,并将提取的信息写入所述Netflow缓存模块;
所述Netflow缓存模块负责接收Netflow信息,并按照预设的缓存算法存入相应的缓存位置,同时控制缓存输出条件的计算;
所述Netflow输出模块负责在缓存的Netflow信息达到缓存输出条件时,按照Netflow配置将Netflow信息输出至输出目标中。
2.如权利要求1所述的系统,其特征在于,所述生成Netflow所需要的相关参数包括:Netflow缓存大小、采集超时时间、缓存算法、采集频率、采集协议、采集节点。
3.如权利要求2所述的系统,其特征在于,所述缓存算法为哈希算法,即所述Netflow缓存模块将接收的Netflow信息根据哈希算法存入相应的缓存位置。
4.如权利要求1所述的系统,其特征在于,所述Netflow提取模块根据TCP/IP协议族定义,首先提取源、目的IP地址,以及包大小和其他相关数据,然后根据IP包头协议字段,提取传输层协议类型,并按照后续传输层的协议类型提取源、目的端口。
5.一种采用权利要求1所述系统的网络模拟路由器Netflow数据生成方法,其特征在于,包括如下步骤:
1)在网络模拟器主模块的节点的IP协议栈中,在数据包到达IP层位置注册函数指针以达到异步调用的目的;
2)配置系统参数,包括生成Netflow所需要的相关参数;
3)初始化异步调用,不需要Netflow数据的节点的异步调用为空,而需要采集Netflow数据的模拟路由器则注册Netflow处理程序,当有数据包到达该位置时触发Netflow数据的生成;
4)数据包到达时,Netflow提取模块根据Netflow配置解析数据包,提取五元组及其他生成Netflow所需的数据;
5)Netflow缓存模块按照预设的缓存算法计算一条Netflow数据应当存入的缓存位置,若无可存入位置,则清空缓存,再存入;存入后,根据配置计算缓存输出条件,当满足缓存输出条件时,将Netflow数据取出,由Netflow输出模块将Netflow数据输出到指定目标。
6.如权利要求5所述的方法,其特征在于,步骤2)所述系统参数包括:缓存大小、采用的缓存算法、缓存超时条件等等、采集节点、输出目的。
7.如权利要求6所述的方法,其特征在于,步骤5)所述缓存算法为哈希算法。
8.如权利要求7所述的方法,其特征在于,步骤5)所述Netflow缓存模块缓存Netflow数据的具体过程包括:
a)按照配置的哈希算法计算五元组的哈希值,并找到哈希值对应的缓存表项,若该项没有数据,则转步骤b),若有该条数据则转步骤d);
b)计算缓存清空条件,当缓存表达到清空条件时,将其数据导出给Netflow输出模块,若不满足清空条件则转步骤c);
c)将该条数据存入缓存;
d)若该表项中已存储了Netflow数据,则将该条Netflow数据取出,并与当前数据的五元组进行比对,若一致,则更新该条数据的信息;若不一致,则利用对应的哈希算法解决冲突,转步骤b)。
9.如权利要求5所述的方法,其特征在于,步骤5)所述缓存输出条件为缓存超时或者缓存已满,或者为其他设定的缓存输出条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510886081.4A CN105515899B (zh) | 2015-12-04 | 2015-12-04 | 一种网络模拟路由器Netflow数据生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510886081.4A CN105515899B (zh) | 2015-12-04 | 2015-12-04 | 一种网络模拟路由器Netflow数据生成系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105515899A CN105515899A (zh) | 2016-04-20 |
CN105515899B true CN105515899B (zh) | 2018-12-28 |
Family
ID=55723558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510886081.4A Active CN105515899B (zh) | 2015-12-04 | 2015-12-04 | 一种网络模拟路由器Netflow数据生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105515899B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979601A (zh) * | 2017-11-30 | 2018-05-01 | 广州凡数信息科技有限公司 | 基于社交网络的安全态势感知系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578259A (zh) * | 1999-06-30 | 2005-02-09 | 倾向探测公司 | 用于监控网络流量的方法和设备 |
CN101527719A (zh) * | 2009-04-27 | 2009-09-09 | 成都科来软件有限公司 | 一种tcp数据流并行分析方法 |
CN101626383A (zh) * | 2008-07-10 | 2010-01-13 | 北京邮电大学 | 一种航空电信网的路由测试方法及路由器虚拟机 |
CN101848160A (zh) * | 2010-05-26 | 2010-09-29 | 钱叶魁 | 在线检测和分类全网络流量异常的方法 |
WO2012135221A1 (en) * | 2011-03-28 | 2012-10-04 | Citrix Systems, Inc. | Systems and methods for tracking application layer flow via a multi-connection intermediary device |
-
2015
- 2015-12-04 CN CN201510886081.4A patent/CN105515899B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578259A (zh) * | 1999-06-30 | 2005-02-09 | 倾向探测公司 | 用于监控网络流量的方法和设备 |
CN101626383A (zh) * | 2008-07-10 | 2010-01-13 | 北京邮电大学 | 一种航空电信网的路由测试方法及路由器虚拟机 |
CN101527719A (zh) * | 2009-04-27 | 2009-09-09 | 成都科来软件有限公司 | 一种tcp数据流并行分析方法 |
CN101848160A (zh) * | 2010-05-26 | 2010-09-29 | 钱叶魁 | 在线检测和分类全网络流量异常的方法 |
WO2012135221A1 (en) * | 2011-03-28 | 2012-10-04 | Citrix Systems, Inc. | Systems and methods for tracking application layer flow via a multi-connection intermediary device |
Also Published As
Publication number | Publication date |
---|---|
CN105515899A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043461B2 (en) | Firewall event reduction for rule use counting | |
CN110036600A (zh) | 网络健康数据汇聚服务 | |
CN101282332B (zh) | 面向网络安全告警关联的攻击图生成系统 | |
CN108400909A (zh) | 一种流量统计方法、装置、终端设备和存储介质 | |
CN110036599A (zh) | 网络健康信息的编程接口 | |
CN107241305A (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN114143203A (zh) | 一种基于动态服务拓扑映射的Kubernetes容器网络数据包指标采集的方法及系统 | |
CA3046178C (en) | System for preparing network traffic for fast analysis | |
CN109617878A (zh) | 一种蜜网的组建方法及系统、计算机可读存储介质 | |
CN105610636B (zh) | 一种面向云计算环境的安全日志生成方法 | |
CN109271793A (zh) | 物联网云平台设备类别识别方法及系统 | |
CN107360145A (zh) | 一种多节点蜜罐系统及其数据分析方法 | |
CN106453229A (zh) | 使用公共过滤器对域名系统记录系统的更新的并行检测 | |
CN107426007A (zh) | 用于跟踪网络交换机中的网络装置信息的方法及系统 | |
CN105553732B (zh) | 一种分布式网络模拟方法及系统 | |
CN106559498A (zh) | 风控数据收集平台及其收集方法 | |
CN115776449A (zh) | 列车以太网通信状态监测方法及系统 | |
CN110313161A (zh) | 对数据库上的放大攻击的基于ipfix的检测 | |
CN109997337A (zh) | 网络健康信息的可视化 | |
CN105515899B (zh) | 一种网络模拟路由器Netflow数据生成系统及方法 | |
CN109144837B (zh) | 一种支持精准服务推送的用户行为模式识别方法 | |
CN110324211A (zh) | 一种数据获取方法及装置 | |
CN103345475A (zh) | 一种基于被动方式的<ip,域名>信息获得和维护方法 | |
CN101453454B (zh) | 网络攻击检测内部追踪方法 | |
CN104079606A (zh) | 基于gis超级云计算的网络对象与事件一体化监控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |