虹科干货 | 如何使用nProbe Cento构建100 Gbit NetFlow 传感器

2024-01-30 09:04

本文主要是介绍虹科干货 | 如何使用nProbe Cento构建100 Gbit NetFlow 传感器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文是一份全面的指南,解释了如何使用nProbe Cento构建一个高效的100 Gbit NetFlow传感器。旨在帮助大家充分利用NetFlow技术,以监控和分析高速网络流量。

当需要监控分布式网络,了解流经上行链路或关键网段的网络流量时,NetFlow等技术通常是最佳选择。

nProbe Pro/Enterprise和nProbe Cento是软件探针,可用于构建多功能传感器,以多种不同格式输出流量信息,包括NetFlow v5/v9/IPFIX、Kafka、Elasticsearch、ClickHouse、MySQL、CSV文件等。nProbe Pro/Enterprise专为低/中速率(1/10 Gbps)而设计,而 nProbe Cento则专为高速运行而设计(如今我们认为 100 Gbit 已是高速链路)。

通过将nProbe Cento与 ntopng相结合,可以为100 Gbit分布式网络构建一个完全成熟的网络监控解决方案,提供全面的可视性。

想要高速使用nProbe Cento的用户经常向我们提出的一个问题是:"我需要什么样的硬件才能处理100 Gbps的全速率?我们希望通过这篇文章提供一些硬件选择指南。

一、网络适配器

在高速运行n2disk时,必须使用像Napatech或Silicom/Fiberblaze这样能在分段模式下运行的FPGA适配器才能获得最佳转储性能,而nProbe Cento则不需要昂贵的适配器。

100 Gbit探头可以使用低于1千美元的ASIC适配器。这里必须支持的是对称RSS。RSS用于通过多个数据流将流量负载分散到多个CPU内核上,将物理接口分割成多个逻辑接口,根据数据包头计算的哈希函数分配流量。使用RSS进行扩展,并结合PF_RING ZC(零拷贝)驱动程序提供最大捕获性能,可确保在处理流量时在100 Gbit全速下不丢失数据包。

因此,建议在100 Gbit时与nProbe Cento结合使用的适配器包括

  1. NVIDIA/Mellanox ConnectX 5/6
  2. Intel E810

二、CPU

各种CPU有不同的频率、内核数量、缓存大小、缓存级别、指令集等。不过,根据我们的经验来讲,现代CPU(例如Xeon Gold 6346 3 Ghz或AMD EPYC 9124)的每个CPU内核通常能够处理超过10 Mpps(每秒百万数据包)。考虑到互联网数据包的平均大小,10 Gbit链路通常有13 Mpps。最坏的情况下,10 Gbit链路的数据包速度也可达14.88 Mpps。

这意味着,在最坏的情况下,要处理100 Gbps的速度,我们需要一个至少有16个内核、主频为3 Ghz的CPU。对于频率较高且高速缓存较大的CPU来说,较少的内核也足够了。

例如,如果我们要构建基于英特尔的系统,我们可以使用Xeon Gold 6326或6346或更高版本。如果要构建基于AMD的系统,我们可以使用AMD EPYC 9124或更高版本。

三、内存

实现最佳性能的内存配置主要取决于CPU本身:

  1. 模块数量:应与CPU支持的内存通道数量相匹配(请查看CPU的规格说明)
    • Intel Xeon Gold目前支持8个内存通道
    • AMD EPYC的大多数型号支持12个内存通道
  2. 速度:选择CPU支持的较高速度(请查看CPU规格说明)
  3. 容量:考虑到每个模块的最小容量(816GB),通常选择较小的可用容量即可(8x 8GB = 64GB)。

四、存储

许多朋友担心存储问题,但是其实在运行nProbe Cento时,存储空间其实并不重要,因为当使用NetFlow、ZMQ、Kafka或CSV以外的其他导出格式(实际上是写入本地磁盘)将数据导出到外部收集器时,并不会占用磁盘空间。这意味着一个小型磁盘,或一个RAID1双磁盘阵列(如果需要对系统磁盘进行数据恢复)就已足够。

五、软件配置

nProbe Cento的配置非常简单。向命令行(或配置文件)提供的实际选项可能会因工作模式和导出格式的不同而有所变化,但在捕获方面却非常简单。大家需要注意两个主要选项:接口配置(i)和CPU亲和性(processingcores)。

1、如果使用的是英特尔适配器,并且配置了带RSS的ZC驱动程序,那么只需指定RSS接口即可,如下所示:

cento -i zc:eth1@0 -i zc:eth1@1 -i zc:eth1@2 -i zc:eth1@3 ...

2、我们还可以使用快捷方式来实现这一功能,尤其是在运行16个以上RSS流时非常方便:

cento -i zc:eth1@[0-15]

3、如果你使用的瑟吉欧NVIDIA/Mellanox适配器,则可以使用类似的语法:

cento -i mlx:mlx5_0@[0-15]

此时,我们只需添加CPU亲和配置,以确保nProbe Cento通过为每个内核绑定一个线程来使用所有可用内核(提供最大的可扩展性和整体性能)。

cento -i mlx:mlx5_0@[0-15] --processing-cores 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

现在,你只需添加控制导出格式的选项。

这篇关于虹科干货 | 如何使用nProbe Cento构建100 Gbit NetFlow 传感器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659730

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Spring Cloud:构建分布式系统的利器

引言 在当今的云计算和微服务架构时代,构建高效、可靠的分布式系统成为软件开发的重要任务。Spring Cloud 提供了一套完整的解决方案,帮助开发者快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器等)。本文将探讨 Spring Cloud 的定义、核心组件、应用场景以及未来的发展趋势。 什么是 Spring Cloud Spring Cloud 是一个基于 Spring

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

雨量传感器的分类和选型建议

物理原理分类 机械降雨量计(雨量桶):最早使用的降雨量传感器,通过漏斗收集雨水并记录。主要用于长期降雨统计,故障率较低。电容式降雨量传感器:基于两个电极之间的电容变化来计算降雨量。当降雨时,水滴堵住电极空间,改变电容值,从而计算降雨量。超声波式降雨量传感器:利用超声波的反射来计算降雨量。适用于大降雨量的场合。激光雷达式降雨量传感器:利用激光技术测量雨滴的速度、大小和形状等参数,并计算降雨量。主

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal