網絡分流器|基於複合存儲的100GbpsDPI技術

網絡分流器|基於複合存儲的100Gbps DPI技術

  1. 網絡分流器|背景與需求
    當前,隨着防火牆、***檢測系統、高速網絡管控、CDN、運營商信令分析、垃圾郵件分類等領域的發展,對高速鏈路進行深度報文檢測(Deep Packet Inspection,簡稱DPI)和分類的要求越來越高。一方面是帶寬越來越高,另一方面是檢測特徵越來越複雜,特徵種類越來越多,這爲DPI技術的發展提出了非常高的要求。
    網絡分流器|基於複合存儲的100GbpsDPI技術
    深度報文檢測是使用預定義的一系列規則在流級上對報文載荷(而非僅僅是報文頭)進行匹配,並根據匹配的結果決定對報文所採用的動作的一個過程。
  2. 複合存儲技術
    當前在DPI領域,主要採用兩種特種模式,分別是關鍵字和正則表達式,由於高性能的正則表達式匹配技術尚未達到實用,目前廣泛使用的仍然是關鍵字(商用的正則表達式匹配技術尚未超過10Gbps),甚至大部分的DPI系統仍無法完成10Gbps以上鍊路的全報文關鍵字匹配,而只能對報文首部的部分字節(如報文載荷的前32字節或者64字節)執行深度檢測,性能問題依然是DPI面臨的首要挑戰。爲了提高DPI的處理能力,產業界和學術界普通採用的是以下三種技術:

(1)依靠更高性能的服務器或服務器集羣來加速DPI吞吐量,由於在報文流上執行多機器或多核的負載均衡非常方便,這種方法很容易達到很高的處理性能,缺點是代價比較大。

(2)依靠更好的軟件算法來提高匹配性能,目前研究界普通採用以AC算法作爲基礎來優化性能,主要有WU-MANBER、SBOM、一次多字節(俗稱多步)、BloomFilter等方法,但是DPI過程要求的前後狀態轉移是關聯的,即下一次訪問的地址與上一次訪問的狀態和當前報文字節的內容緊密相關,受限於存儲器本身(主要是DDR)的性能,軟件優化的空間非常有限。

(3)依靠各種多核NPU自帶的匹配引擎來加速,目前國外兩大多核NPU巨頭Broadcom和Cavium都有在其NPU上內置了DPI加速引擎,如Cavium內置的HFA引擎宣稱其單個NPU可以達到24Gbps的處理能力,但是實測性能與宣稱性能之間相差巨大。尤其是配置正則表達式規則時,帶通配符的規則會對其性能造成十分顯著的影響。

總是,雖然研究界和產業界都非常關注深度報文檢測,當前DPI技術的技術發展仍然無法趕上相關應用領域的現實要求。

在深度報文檢測(DPI)中,首先要將關鍵字或正則表達式特徵編譯成有限狀態自動機(Finite State Automata,FSA),並將FSA的狀態表配置在存儲器中。匹配過程中,每處理報文的一個字節都需要至少一次查表,以獲取下一次要訪問的狀態地址。匹配的速度取決於訪存次數和每次訪存的時延,而對於一個給定的報文,訪存次數等於報文負載長度。因此要提高匹配的速度就需要儘量減少每次訪存的時延。

在輕量級的網絡下,網絡鏈路速率低。如果規則數比較少,可以把每條規則編譯成一個FSA,狀態表配置在高速存儲器中,以獲得較高的匹配速度。然而,隨着網絡帶寬的快速增加,10G比特的網絡已經開始應用於園區網絡中;規則的數目也增加到數百甚至上千條。將每條規則編譯成單個FSA的方案已經無法滿足性能需求。如果將所有規則編譯成一個FSA,可能發生狀態爆炸。狀態表的規模可能超過數100G字節,遠超過目前高速存儲器的容量,只能配置在外部磁盤這樣的低速存儲器中,訪存時延大大提高。

DPI技術的關鍵其實是訪存的性能,尤其是隨機訪存的性能,如果能夠設計一種存儲結構,既能夠支持很高的隨機訪問性能(如達到幾十個Gbps以上),又能夠有比較大的容量(如到幾十兆的大小),則通過良好的狀態表數據結構優化,使得狀態表的訪問能夠相對聚集;然後對訪存過程加以優化,如流水化訪存、Bank交錯、並行化訪存等措施來進一步提高訪問狀態表的效率,則高性能的DPI是可以實現的。

湖南戎騰網絡創新團隊在國家自然科學基金的支持下,研究出來的高性能DPI技術,借鑑了計算機系統的Cache結構。在計算機系統中,由於局部性原理,可以用先進先出、最近最少使用等替換算法,使Cache有較高的命中率。但是在深度報文檢測中,報文的內容卻是完全隨機的,難以預知下一個要處理的字節內容,會轉向哪個狀態。選擇那些經常被訪問的狀態存儲到高速存儲器中是提高性能的關鍵。戎騰通過獨有的馬爾科夫預測技術,很好地解決了狀態訪問的預測問題。
網絡分流器|基於複合存儲的100GbpsDPI技術
圖1 複合存儲匹配引擎

整個匹配引擎採用兩層甚至三層,通過複合存儲及並行和流水技術,解決性能和存儲容量之間的矛盾,既能夠通過一級匹配引擎的並行達到很高的性能,又能夠通過二級存儲達到大容量的狀態表空間。這種結構既適合於關鍵字匹配,也適合於正則表達式匹配。

  1. 複合存儲技術的產品化與應用|網絡分流器
    爲了將複合存儲技術推廣到實際應用中,戎騰開發了獨立機箱的PET160S和基於ATCA的CNT16S兩種系統,其中PET160S系統可以在16K關鍵字下,達到70Gbps到90Gbps的匹配性能;而CNT16S系統可以支持在4K正則表達式下,達到40Gbps的性能。此類設備可以在流級上對報文進行標籤動作,匹配規則的報文會在報文頭部打上命中的規則編號,使得後端分析系統能夠根據相應的標籤快速執行相應的檢測任務。

通過我們的分析,輔以軟硬一體化流表技術,整體報文處理能力一般是核心匹配引擎4倍的性能。即如果核心匹配引擎能夠達到n Gbps的性能,則整體報文處理能力就能夠4n Gbps左右的性能,也就是說PET160S系統已經完成可以滿足雙向100Gbps以太網全帶寬的關鍵字DPI能力,而CNT16S也可以滿足實網條件下雙向100Gbps以太網(實網條件下,上下行流量不會超過200Gbps*80%)的正則表達式DPI要求。

當前,正在研製基於PCI-E的DPI加速卡,可望於近期在單塊PCI加速卡上實現40Gbps左右的關鍵字匹配性能和20Gbps的正則表達式匹配性能,以硬件加速卡的形式爲防火牆、***檢測系統、高速網絡管控、CDN、運營商信令分析提供硬件加速。

  1. 結束語|網絡分流器
    關鍵字匹配和正則表達式匹配是深度報文檢測(DPI)的關鍵技術,規則集的複雜化導致對訪存的性能和容量需求急劇增加。而狀態表的規模遠超過高速存儲器容量,通過複合存儲技術,可以很好地解決DPI的性能問題,並很好地與現有需要DPI加速的產品進行整合。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章