c语言网络实时吞吐量_Nemea:用于对网络流量进行流化分析的框架

Nemea是一个用于网络流量流化分析的框架,适用于高速网络中的流量监控和异常检测。通过分布式和模块化设计,Nemea实现了流处理和无硬盘数据存储,确保数据的实时分析。系统由一系列独立模块组成,各模块通过接口进行数据传输和分析,支持模块的热插拔和系统扩展,适用于多种网络环境和分析需求。Nemea利用TRAP库实现高效通信, UniRec格式确保灵活的数据格式处理,提供高吞吐量的接口。
摘要由CSDN通过智能技术生成

来源:《Nemea: Framework for stream-wise analysis of network traffic》,2013

文摘:因为网络异常、攻击和其他事件不再是例外,网络监控和分析在网络管理中扮演着重要的角色。该技术报告涉及高速网络中的流量分析。特别地,报告描述了我们的框架Nemea,它提供了对网络流量数据的流化分析。

1介绍

网络服务、应用程序以及连接的用户都是网络安全威胁增加的目标。当监控网络流量并以自动化的方式分析观察到的数据时,最好检测到其中的一些威胁。一个常见的方法是收集并将被监控的数据存储到一个存储系统中(例如,在RAID模式中设置的多个硬盘驱动器)。随后,分析对存储的数据进行操作。该分析寻找可疑行为或特定的通信模式,以揭示异常、攻击或其他不兼容的事件和状态。随着网络和威胁的演变,分析也必须如此。为此,我们研究和开发流数据处理框架,作为传统的存储和事后分析方法的替代方案。

在大型网络的情况下,需要收集和分析大量的数据。在2013年,我们的测量点每天产生约100亿的流量记录(在营业时间内大约有11万流量/s,在营业时间内流量为160000流量/s,最高达到40万流量/s)。测量点部署在CESNET2网络的外围,每个监测点有一个或多个Gbps线。在[1]中描述了测量点的先导部署。

存储和发布的方法有一定的局限性。监控数据的数量以及复杂的方法使得访问存储在硬盘上的数据变得不可行的。新出现的威胁以及实现更好的检测精度的需要,需要分析新的数据类型,并在数据可用时分析数据,而不是延迟可能的响应。此外,数据通常存储在块中,每个块分别进行分析。这种分离使得检测对块的某些威胁视而不见。

这份技术报告总结了我们实现在线和无缝网络流量分析的目标。该报告描述了一个分布式和模块化的网络流分析框架(Nemea),以及我们的流量分析平台(TRAP),用于在Nemea中实例化的网络分析过程中的快速数据传输。Nemea系统由一组模块组成。每个模块都是一个独立的过程,利用TRAP与其他进程进行通信。通常,模块连接在一个单向树中,其中根的输入通常是流的数据,而叶子的输出是分析的结果。

Nemea数据访问与传统的方法有很大的不同。Nemea中的数据处理遵循两个概念:流化处理和硬盘上没有数据存储。这使得数据分析和快速数据访问成为可能。此外,TRAP允许在不同机器上的进程之间以透明的方式对进程本身进行通信。

2Nemea

网络测量分析(Nemea)是一种框架,它允许对从网络监控过程中实时收集的流量记录进行自动分析。该系统由称为模块的独立构建块组成。这些模块通过接口相互连接。

该模块是一个独立的工作单元,它通常接收来自其输入(s)的数据记录流,处理或分析数据记录,并向其输出发送另一条记录流。例如,模块可以根据接收的流记录计算一些统计信息,并检测网络攻击。攻击由数据记录描述,数据记录被发送到模块的输出。其他模块可以利用另一个模块之前计算的统计数据来检测异常,或者可以聚合检测结果,并将最重要的数据报告给操作员或其他报告系统。一个复杂的网络流量实时分析系统是由几个这样的模块相互连接而成的。

Nemea还可以与存储和前发布的方法兼容,这是在第1个案例中,以最简单的一个Nemea的例子作为实例。有两个模块通过一个接口相互连接。第一个模块从一个文件读取流记录并将它们发送到第二个模块。第二个模块计算流、包和字节的总数。图2显示了一个更复杂的系统的例子,在这个系统中,通过我们的IPFIX收集器的插件,实时地从网络接收流数据[4]。对数据进行再处理,通过几种攻击/异常检测算法进行分析,并对检测结果进行汇总,然后进行报告。每个特定的任务由一个独立的模块实现。这允许在系统的不同位置实例化某些模块,并将一个模块的结果共享给多个其他模块。

98061fb74508?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Nemea模块化设计的主要优点之一是可以通过几种算法共享常见任务。例如,在流量的时间序列中,存在大量的检测异常的算法,包括数据包头字段的熵或其他统计信息。如图2中的示例所示,有一个模块可以计算来自传入流记录的统计信息,并定期将它们发送到多个时间序列模块。因此,常见的预处理任务由所有算法共享。共享前处理的其他示例包括在分析模块本身之前连接的聚合和重复删除模块或前缀过滤模块。

2.1模块

每个模块都是一个独立的应用程序,也就是说它作为一个单独的系统进程运行。虽然这可能比其他可能的解决方案效率要低一些,比如将模块作为单独的代码片段连接到一个二进制文件中,或者将模块编译成共享库,然后将它们动态加载到一个进程中,这个解决方案提供了几个优势。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值