虹科干货 | 如何使用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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/249518.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人建站前端篇(一)项目准备初始化以及远程仓库连接

云风的知识库 云风网前端重构,采用vue3.0vite antd框架,实现前后端分离,实现网站的SEO优化,实现网站的性能优化 vite创建vue项目以及前期准备 Vite 需要 Node.js 版本 18,20。然而,有些模板需要依赖更高…

Arduino Uno R3通过ESP-01S连接网络

一、材料准备 Arduino Uno R3开发板 1 USB串口通信数据线(Uno开发板使用) 1 ESP8266-01S Wi-Fi模块 1 ESP8266固件烧录下载器(烧录固件使用) 1 WiFi无线收发转接板(适用于ESP-01S、ESP-01) 杜邦线…

京津冀科技盛会:2024北京国际智能科技产业展会(世亚智博会)

随着中国经济的快速发展,我们已逐渐从高速增长阶段转向高质量发展阶段。这一转变不仅是经济发展的必然趋势,也是全面建设社会主义现代化国家的首要任务。在这个过程中,数字经济以其高创新性、强渗透性和广覆盖性的特点,成为了构建…

《Docker技术革命:从虚拟机到容器化,全面解析Docker的原理与应用-上篇》

文章目录 Docker为什么会出现总结 Docker的思想Docker历史总结 Docker能干嘛虚拟机技术虚拟机技术的缺点 容器化技术Docker和虚拟机技术的区别 Docker概念Docker的基本组成镜像(image)容器(container)仓科(repository)…

怎样做好Code Review

Code Review方案 定义 Code Review代码评审是指在软件开发过程中,通过对源代码进行系统性检查的过程。通常的目的是查找各种缺陷,包括代码缺陷、功能实现问题、编码合理性、性能优化等;保证软件总体质量和提高开发者自身水平 code review …

AI绘画探索人工智能的未来

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-8fL64RHWVzwpzR6m {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

C++引用、内联函数、auto关键字介绍以及C++中无法使用NULL的原因

文章目录 一、引用1.1 引用概念1.2 引用特性1.3 常引用1.4 使用场景1.4.1 做参数1.4.2做返回值 1.5 引用和指针的区别1.6 小结一下 二、内联函数2.1 内联的概念2.2 内联的特性2.3 【面试题】 三、auto关键字(C11)3.1 类型别名思考3.2 auto简介 四、auto的使用细则4.1 基于范围的…

海外短剧系统国际短剧源码h5多语言版app挂载tiktok油管ins

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目 前言 一、海外短剧系统是什么? 二、海外短剧系统功能与运营方式介绍 1.系统功能 2.短剧APP运营方式 总结 前言 本文简单介绍海外短剧系统的功能&#xff…

leetcode hot100跳跃游戏Ⅱ

本题和上一题还是有不一样的地方,这个题中,我们需要记录我们跳跃的步数并尽可能的满足最小的跳跃步数到达终点。 那么我们还是采用覆盖范围的概念,但是我们需要两个,一个是在当前位置的覆盖范围,另一个是下一步的覆盖…

SpringCloud Gateway(4.1.0) 返回503:原因分析与解决方案

文章目录 一、环境版本二、原因分析三、解决方案 一、环境版本 Versionspring-cloud-dependencies2023.0.0spring-cloud-starter-gateway4.1.0Nacosv2.3.0 二、原因分析 在 Spring Cloud Gateway 的早期版本中,Ribbon 被用作默认的负载均衡器。随着Spring Cloud的…

Windows 7 x64 SP1 安装 Google Chrome 109.0.5414.120 (正式版本) (64 位)

1 使用 IE 浏览器 输入网址 Google Chrome 网络浏览器得益于 Google 智能工具,Chrome 现在更易用、更安全、更快速。https://www.google.cn/chrome/,点击下载 Chrome。 2 点击 接受并安装。 3 提示。 4 保存。 5 双击 运行 ChromeSetup.exe。 6 等待安…

【Spark系列1】DAG中Stage和Task的划分全流程

一、整体流程 每个Aciton操作会创建一个JOB,JOB会提交给DAGScheduler,DAGScheduler根据RDD依赖的关系划分为多个Stage,每个Stage又会创建多个TaskSet,每个TaskSet包含多个Task,这个Task就是每个分区的并行计算的任务。…

学习鸿蒙基础(2)

arkts是声名式UI DevEcoStudio的右侧预览器可以预览。有个TT的图标可以看布局的大小。和html的布局浏览很像。 上图布局对应的代码: Entry //入口 Component struct Index {State message: string Hello Harmonyos //State 数据改变了也刷新的标签build() {Row()…

PyFlink使用教程,Flink,Python,Java

环境准备 环境要求 Java 11 Python 3.7, 3.8, 3.9 or 3.10文档:https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/dev/python/installation/ 打开 Anaconda3 Prompt > java -version java version "11.0.22" 2024-01-16 LTS J…

自动驾驶:Apollo如何塑造人类的未来出行

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言1. 什么是自定义指令?2. Apollo中的自定义指令2.1 查询中的自定…

7款免费的Midjourney平替平台

AI艺术生成器正在改变设计和内容的制作方式。像Midjourney这样的工具已经将困难的想法转化为令人惊叹的视觉效果,改变了创造力的运作方式。但是,AI艺术涵盖了许多风格和需求。这就是Midjourney替代方案变得重要的原因(特别是免费的替代方案&a…

2024年,AI 掀起数据与分析市场的新风暴

2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿在其公司内部的飞书订阅号发表了多篇 Rethink Data & Analytics 的内部信,分享了对数据与分析行业的一些战略思考,尤其是 AI 带来的各种变化和革命,是如何深刻地影响这个行业乃至…

【极数系列】Flink环境搭建Linux版本 (03)

文章目录 引言01 Linux部署JDK11版本1.下载Linux版本的JDK112.创建目录3.上传并解压4.配置环境变量5.刷新环境变量6.检查jdk安装是否成功 02 Linux部署Flink1.18.0版本1.下载Flink1.18.0版本包2.上传压缩包到服务器3.修改flink-config.yaml配置4.启动服务5.浏览器访问6.停止服务…

python爬虫-多线程-数据库——WB用户

数据库database的包: Python操作Mysql数据库-CSDN博客 效果: 控制台输出: 数据库记录: 全部代码: import json import os import threading import tracebackimport requests import urllib.request from utils im…

【数据结构 08】红黑树

一、概述 红黑树,是一种二叉搜索树,每一个节点上有一个存储位表示节点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长上两倍,因而是接进…