【安全科普】NUMA防火墻誕生記
一、我為啥姓“NUMA”
隨著網絡流量和數據包處理需求的指數增長,曾經的我面對“高性能、高吞吐、低延遲”的要求,逐漸變得心有余而力不足。
多CPU技術應運而生,SMP(對稱多處理)和NUMA(非一致性內存訪問)成為當下最適用的多CPU硬件架構。
SMP的主要特征是“共享”,即所有CPU共享使用全部資源,包括內存、總線和I/O;它的缺點是核數增加到一定程度,就會達到內存讀取的性能瓶頸。
SMP架構
為了解決這個問題,工程師們設計了NUMA架構:將CPU劃分到不同組(Node),每個節點都有自己的內存和計算資源,處理器可以更靈活地分配資源,提升整體性能和效率。
此外,NUMA架構還可以通過增加節點數量,擴展處理器的計算和存儲能力,這讓它非常適應大規模并行處理場景。
NUMA架構
基于NUMA架構設計成為防火墻“升級”的優選方案,改良處理器與本地內存之間的訪問路徑,滿足高吞吐、低延遲的網絡安全應用的需求,現在的我已經成為了百G防火墻隊伍中的主力軍。
二、升級后的我強在哪
1、高并發處理能力
每個處理器節點都可以獨立處理本地的連接請求和數據流量。通過負載均衡技術(如基于哈希的負載均衡),NUMA防火墻能夠將流量均勻分布到各個處理器節點,避免單點瓶頸的問題。
例如,使用接收端擴展(RSS)技術,可以將入站流量根據哈希值分配到不同的CPU核,提高并發處理能力。
2、數據包處理自動化
NUMA架構支持高效的數據包處理流水線。每個處理器節點可以專注于流水線中的特定階段,包括:
· 數據包分類,根據預定義的規則集,分類數據包。
· 狀態跟蹤,維護連接狀態表,實現狀態檢測。
· 策略匹配,根據安全策略進行包過濾和策略應用。
· 深度包檢測(DPI),對數據包內容進行深度檢測,以識別應用層攻擊。
通過流水線實現流程自動化,各處理器節點并行計算不同的數據包處理階段,顯著提高整體工作效率。
3、智能流量調度
智能流量調度算法可以將流量合理分配到各個處理器節點,避免多處理器間的不均衡負載。常用的調度算法包括:
· 輪詢調度(Round-Robin),簡單高效,將流量均勻分配到各處理器節點。
· 最短路徑優先(SPF),根據路徑長度和處理器負載,動態調整流量分配。
· 連接哈希調度,根據連接的哈希值,確保同一連接的流量始終由同一處理器節點計算,提高緩存命中率。
結合實際流量特點選用調度算法,可以大幅提升NUMA防火墻的性能與效率。
三、助我升級的關鍵技術
1、高效數據包過濾
NUMA防火墻通過多核并行處理能力,實現高效的數據包過濾。每個處理器節點都可以獨立運行包過濾算法,包括基于規則集的包過濾、狀態檢測包過濾和應用層包過濾(Snort、Suricata等)。
2、深度包檢測(DPI)
DPI是下一代防火墻的重要功能,可以識別并防御應用層攻擊。在NUMA架構下,每個處理器節點會進行不同的數據流處理或DPI任務,能夠完成大規模數據包流量的處理,實現高性能深度包檢測。
3、連接狀態維護
NUMA防火墻需要維護大量的連接狀態信息,以支持狀態檢測。可以將連接狀態表分布到各處理器節點,減少跨節點訪問的延遲;應用哈希分區技術,將連接狀態信息按哈希值分配至不同節點,提高訪問效率。
4、安全策略執行
NUMA架構中的安全策略執行同樣可以分布在多個處理器節點,每個節點根據預定義的策略規則,獨立執行安全策略,包括訪問控制、流量限制和入侵檢測功能。使用高效的規則匹配算法(Aho-Corasick算法等),還能夠顯著提高策略執行效率。
NUMA防火墻具備多核并行處理、內存局部優化、智能流量調度、高效的包過濾及DPI等核心能力,為用戶提供高性能、低延遲、強擴展性的創新體驗。隨著網絡安全需求的日新月異,NUMA架構在高性能防火墻設計中的應用也將更加廣泛和深入。
基于先進NUMA架構,安博通推出了百G高性能防火墻系列,專為滿足大型網絡的復雜安全需求而設計,也可充分實現嚴格的信創場景要求。我們在防火墻創新的路上持續探索,為打造更高效、更智能的網絡安全產品而不懈奮斗,為用戶提供更安全、更可靠的網絡環境。