本文是一份全面的指南,解釋了如何使用nProbe Cento構(gòu)建一個高效的100 Gbit NetFlow傳感器。旨在幫助大家充分利用NetFlow技術(shù),以監(jiān)控和分析高速網(wǎng)絡(luò)流量。
一
我該用什么樣的硬件
才能處理100 Gbps的全速率?
當需要監(jiān)控分布式網(wǎng)絡(luò),了解流經(jīng)上行鏈路或關(guān)鍵網(wǎng)段的網(wǎng)絡(luò)流量時,NetFlow等技術(shù)通常是最佳選擇。
nProbe Pro/Enterprise和nProbe Cento是軟件探針,可用于構(gòu)建多功能傳感器,以多種不同格式輸出流量信息,包括NetFlow v5/v9/IPFIX、Kafka、Elasticsearch、ClickHouse、MySQL、CSV文件等。nProbe Pro/Enterprise專為低/中速率(1/10 Gbps)而設(shè)計,而 nProbe Cento則專為高速運行而設(shè)計(如今我們認為 100 Gbit 已是高速鏈路)。
通過將nProbe Cento與 ntopng相結(jié)合,可以為100 Gbit分布式網(wǎng)絡(luò)構(gòu)建一個完全成熟的網(wǎng)絡(luò)監(jiān)控解決方案,提供全面的可視性。
想要高速使用nProbe Cento的用戶經(jīng)常向我們提出的一個問題是:"我需要什么樣的硬件才能處理100 Gbps的全速率?我們希望通過這篇文章提供一些硬件選擇指南。
二
網(wǎng)絡(luò)適配器
在高速運行n2disk時,必須使用像Napatech或Silicom/Fiberblaze這樣能在分段模式下運行的FPGA適配器才能獲得最佳轉(zhuǎn)儲性能,而nProbe Cento則不需要昂貴的適配器。
100 Gbit探頭可以使用低于1千美元的ASIC適配器。這里必須支持的是對稱RSS。RSS用于通過多個數(shù)據(jù)流將流量負載分散到多個CPU內(nèi)核上,將物理接口分割成多個邏輯接口,根據(jù)數(shù)據(jù)包頭計算的哈希函數(shù)分配流量。使用RSS進行擴展,并結(jié)合PF_RING ZC(零拷貝)驅(qū)動程序提供最大捕獲性能,可確保在處理流量時在100 Gbit全速下不丟失數(shù)據(jù)包。
因此,建議在100 Gbit時與nProbe Cento結(jié)合使用的適配器包括:
NVIDIA/Mellanox ConnectX 5/6
Intel E810
三
CPU
各種CPU有不同的頻率、內(nèi)核數(shù)量、緩存大小、緩存級別、指令集等。不過,根據(jù)我們的經(jīng)驗來講,現(xiàn)代CPU(例如Xeon Gold 6346 3 Ghz或AMD EPYC 9124)的每個CPU內(nèi)核通常能夠處理超過10 Mpps(每秒百萬數(shù)據(jù)包)。考慮到互聯(lián)網(wǎng)數(shù)據(jù)包的平均大小,10 Gbit鏈路通常有13 Mpps。最壞的情況下,10 Gbit鏈路的數(shù)據(jù)包速度也可達14.88 Mpps。
這意味著,在最壞的情況下,要處理100 Gbps的速度,我們需要一個至少有16個內(nèi)核、主頻為3 Ghz的CPU。對于頻率較高且高速緩存較大的CPU來說,較少的內(nèi)核也足夠了。
例如,如果我們要構(gòu)建基于英特爾的系統(tǒng),我們可以使用Xeon Gold 6326或6346或更高版本。如果要構(gòu)建基于AMD的系統(tǒng),我們可以使用AMD EPYC 9124或更高版本。
四
內(nèi)存
實現(xiàn)最佳性能的內(nèi)存配置主要取決于CPU本身:
模塊數(shù)量:應(yīng)與CPU支持的內(nèi)存通道數(shù)量相匹配(請查看CPU的規(guī)格說明)
· Intel Xeon Gold目前支持8個內(nèi)存通道
·AMD EPYC的大多數(shù)型號支持12個內(nèi)存通道
速度:選擇CPU支持的較高速度(請查看CPU規(guī)格說明)
容量:考慮到每個模塊的最小容量(816GB),通常選擇較小的可用容量即可(8x 8GB = 64GB)。
五
存儲
許多朋友擔心存儲問題,但是其實在運行nProbe Cento時,存儲空間其實并不重要,因為當使用NetFlow、ZMQ、Kafka或CSV以外的其他導(dǎo)出格式(實際上是寫入本地磁盤)將數(shù)據(jù)導(dǎo)出到外部收集器時,并不會占用磁盤空間。這意味著一個小型磁盤,或一個RAID1雙磁盤陣列(如果需要對系統(tǒng)磁盤進行數(shù)據(jù)恢復(fù))就已足夠。
六
軟件配置
nProbe Cento的配置非常簡單。向命令行(或配置文件)提供的實際選項可能會因工作模式和導(dǎo)出格式的不同而有所變化,但在捕獲方面卻非常簡單。大家需要注意兩個主要選項:接口配置(i)和CPU親和性(processingcores)。
1、如果使用的是英特爾適配器,并且配置了帶RSS的ZC驅(qū)動程序,那么只需指定RSS接口即可,如下所示:
cento -i zc:eth1@0 -i zc:eth1@1 -i zc:eth1@2 -i zc:eth1@3 ...
2、我們還可以使用快捷方式來實現(xiàn)這一功能,尤其是在運行16個以上RSS流時非常方便:
cento -i zc:eth1@[0-15]
3、如果你使用的瑟吉歐NVIDIA/Mellanox適配器,則可以使用類似的語法:
cento -i mlx:mlx5_0@[0-15]
此時,我們只需添加CPU親和配置,以確保nProbe Cento通過為每個內(nèi)核綁定一個線程來使用所有可用內(nèi)核(提供最大的可擴展性和整體性能)。
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
現(xiàn)在,你只需添加控制導(dǎo)出格式的選項。
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753085 -
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
603013 -
網(wǎng)絡(luò)流量
+關(guān)注
關(guān)注
0文章
58瀏覽量
10364
發(fā)布評論請先 登錄
相關(guān)推薦
評論