研究

Research

川流處理架構之高速網路封包處理

近年來,網路快速的發展,已使人們對相關的網路應用與需求,從傳統路由、及管理,轉移到需要更深入封包內層檢查,或是更改其內容衍生之議題,諸如基於內容計費、服務品質、第七層的路由交換、以及網路安全等相關的應用。然而這些應用都有些共同的特色:需要處理川流不息的封包中每一個位元組的資料,而且這些額外的處理工作,已經超出原有網路系統設備所能負荷之處理能量。傳統的網路系統實現技術使用一般微處理器架構,但因網路系統運算的複雜度,使用一般低效率封包處理能量的傳統微處理器架構,很難達到硬體線速(wire-speed)的效能。因此目前大部份的網路系統設計,是使用特定用途晶片(ASIC)來達到高速流量處理的目標,但其固定架構的特色無法滿足網際網路通訊協定快速變化,和系統設計彈性化的需求。於是、工程師們使用網路處理器(Network Processors),以其優化之多核、多執行緒處理器架構、達到一個結合特定用途晶片(ASIC)在效能上的優勢,與一般微處理器可程式化彈性的優點,來達成高速網路系統設計的目標。

川流處理架構原為提供影像處理所需之高效能數位訊號(DSP)處理器。在封包處理的過程中與影像處理有很多如:(1)高運算複雜度與、(2)高資料平行度,等相同之特色。此外,與多執行緒架構比較起來,川流處理架構沒有像多執行序微處理器中,要具備有記錄每一個執行緒系統狀態的控制、與記憶電路,也因此節省了大量的系統晶片面積與功率消耗。所以,川流處理架構已被應用為另一具備高速網路封包處理,與程式化及彈性兼具的架構。

高速網路流量資訊熵預估系統

資訊熵值可以用來表示資訊分散與聚集的指標,因此,被廣泛的運用在資訊安全與流量分析的應用之中,在網路領域中扮演重要的角色。本文提出以查表來取代原始熵值估算演算法複雜、耗時的估算過程,並將查表方式近一步透過內差計算的優化,大幅縮減所使用表格的記憶體空間,並保有相當之準確度。本研究將優化過後的熵值預估演算法以Verilog HDL實現在Xilinx U200 FPGA ,同時也使用P4語言,將系統實現在Intel Tofino-2交換器之可程式化資料平面,於實驗室內測試其具備處理100Gbps網路流量之能力,並探討其效能與相關應用。

我們更進一步透過西北大學(Northwestern University)國際進階網際網路研究中心(International Center for Advanced Internet Research, iCAIR)所提供串接位於美國加州勞倫斯伯克萊國家實驗室(Lawrence Berkeley National Lab)與芝加哥全球StarLight 軟體定義網路交換中心(SDX)之400Gbps高速骨幹網路,使用Intel Tofino-2交換器,成功的測試400Gbps高速網路流量資訊熵預估系統之效能。


基於機器學習之分散式阻斷攻擊(DDoS)偵測與分類

隨著網際網路的快速發展與攻擊的日益猖獗,如何在最短的時間內偵測出攻擊的種類並做出對應的措施一直是網路安全領域重要的研究課題。本研究對現有的分散式阻斷攻擊資料集以流量合成的手法進行資料擴增,提出“基於原始資訊”、資訊熵值與相關“高階統計特徵” 的機器學習模型,在攻擊偵測與分類上皆取得了良好的結果,並在 Xilinx U200 FPGA 上實現具有 100Gbps 吞吐量之分散式阻斷攻擊偵測與分之類神經網路 RTL 設計。

基於P4/SONiC實現巨大網路流量(Heavy Hitter)偵測系統

於Intel Tofino2 交換器,透過開放式網路作業系統 (Software for Open Networking in the Cloud,SONiC),實現基於dSketch演算法之巨大網路流量(Heavy Hitter)偵測系統。實機測試使用100Gbps 網路卡(NIC)透過TCPreplay播送流量。流量檔以MAWI流量檔為背景流量,合併Slammer蠕蟲案例之劇變流量(合併檔共約800萬封包,5萬多來源IP,30分鐘)。

基於FPGA之低延遲金融交易傳輸電文解析與風控系統

因應證券交易逐筆搓合與高頻交易之需求,交易風險管理系統必須滿足高效能、低延遲與高可擴展性之需求。因此,於高變動的金融領域應用,基於現場可程式邏輯閘陣列 (FPGA) 之系統設計可同時兼具軟體的高度彈性以及特殊應用積體電路 (ASIC) 的高效能、低處理延遲設計需求。

本文提出一基於現場可程式邏輯閘陣列之風險管理系統,以管線化架構,透過客製化硬體提供部分 TCP/IP 通訊協議堆疊處理功能,如封包解析、亂序重組與重送標示,來加速處理金融資訊交換 (Financial Information eXchange,FIX) 協議封包,並可以依據需求增加風險管理功能並支援多組連線檢核,滿足低延遲、精確管控交易風險。本文將系統概念雛型具體實現在 NetFPGA-10G SUME 原生網路卡專案,使用 300 位元組之金融資訊交換 (FIX) 協議封包進行測試,排除原生網路卡處理需 1.5 微秒之時間,本論文設計之傳輸控制協議 (TCP) 重組模組與風險管理模組處理延遲時間約為 783 奈秒。

My research is focused on computer networks with particular interests on integrating novel architecture & functionality into network systems. We work on topics related to embedded design for network security and traffic measurement on FPGA and Network Processors.

High-Speed Packet Processing & Measurement

Traffic analysis and measurement are important tasks for the proper operation of IP networks. The accurate estimation of Internet traffic statistics serves as the basis for infrastructure planning, network provisioning, capacity forecasting and accounting. Anomaly detection on worm distribution and prevention of distributed denial of service (DDoS) attacks are also based on the same information. However, as network bandwidth grows exponentially, the scaling of monitoring and measuring capabilities for collecting accurate statistics becomes a critical issue. Hash-based algorithms are very useful and popular techniques adopted in many high-speed router design. We are exploring these advanced techniques with hardware and architecture support for data reduction and synopsis construction.


Packet Processing on Stream Architecture

Stream processing architectures have been proposed as efficient and flexible platforms for network packet processing. This is because packet processing shares many of the same characteristics of media and image processing that motivate stream architectures: little global data reuse, abundant data parallelism, and high computational complexity. Moreover, in comparison with multithread approach, stream architecture provides much lower cost to hide a given amount of latency.


高速網路系統之FPGA雛型實現

NetFPGA發展環境是由美國史丹佛大學(Stanford University)團隊專為網路硬體開發而設計的實驗平台,此硬體平台基於FPGA場效可程式化邏輯閘陣列元件重複使用的優點,同時配備額外系統資源,對於應用於網路硬體的設計領域提供莫大的助益。

NetFPGA 為一傳輸匯流排寬度為64位元之管線式(pipeline)傳遞系統。在此架構下,各主要階層資料的傳遞是以完整封包作為單位。管線階層與階層之間資料傳 遞是以先進先出緩衝器(First In First Out)作為暫存空間。 以路由器(Reference Router)系統架構為例,其架構乃透過五階層管線式來達成,其第一階層為接收佇列(Receive Queue),接收從CPU發送、經由PCI匯流排或是從乙太網路接收通訊埠傳遞之封包。第二階層的輸入仲裁器(Input Arbiter)作為決定服務封包來源通訊埠的時機。第三階層輸出埠查詢(Output Port Lookup)藉由封包標頭查詢封包的目的地。第四階層輸出佇列(Output Queues)作為達到最大傳輸量的緩衝儲存機制,第五階層則將封包經由對應通訊埠傳送。

NetFPGA發展板使用Xilinx Virtex-II Pro 50場效可程式化邏輯閘陣列為系統設計核心,並配備4.5百萬位元組(Megabytes)的靜態隨機存取記憶體與64MB的動態隨機存取記憶體,同時具 備四埠傳輸速率為1Gbps的乙太網路通訊埠,此平台以PCI介面連結個人電腦,作為實現系統控制之核心(Control Path) 。Virtex-II Pro 50本身提供資源主要分為53,136個邏輯單元(Logic Cell)、23,616個可組態邏輯區塊(Configurable Logic Block) 與232個18K位元區塊記憶體(Block RAM)。

NetFPGA發展平台具有非常彈性的架構,在教學方面,NetFPGA發展平台有現成的軟、硬體模組,學生們可以透過NetFPGA實體,來暸解網路卡、交換器與路由器系統之軟、硬體以及通訊模式之運作原理。 在研究方面,NetFPGA發展平台可以讓學生與研究者,快速地來實現網路系統的雛形,更可供作新型網路架構之概念實現與通訊模式之驗証平台。

目前CNSRL實驗室有許多的研究主題,聚焦在資訊與網路安全之領域,研究生們致力在如何設計、並提供更有效率的硬體系統,來協助相關的偵測、分析與防止網路異常與攻擊之事件。而NetFPGA正是可以提供達成上述目標之系統發展平台!

Sketch-guided Filtering Support for Superspreaders Detection

A sketch-guided filtering scheme for assisting superspreader detection in the measurement of high-speed network traffic is proposed. The scheme comprises of an array of linear-counting sketches that rapidly eliminates flows with potentially low fan-out during a measurement interval. Based on the results of simulations obtained using realworld network traces, the filter can eliminate up to 90% of the flows of non-superspreader sources and improve the accuracy of superspreader identification. Furthermore, the proposed scheme has a smaller fan-out estimation error and consumes less memory than previously developed approaches. The hardware implementation can process network traffic at a throughput of 27 Gbit/s.

A Stream-based Entropy Norm Estimation for High-speed Network Traffic

適用於高速網路流量分析之川流估計熵演算法研究

The purpose of this project is to study and implement a hardware-accelerated platform for stream-based high-speed network traffic measurement. The computation of entropy of a high-speed data stream in a one-pass fashion is crucial to many network security applications. Motivated by the work of Lall et al., this study examines the design trade-off of processing speed and accuracy for estimating the entropy norm. The proposed scheme leverages the Count Sketch with constant memory access on counter update and point query operations. With a bounded relative error and a constant memory access cycle, the design can process incoming traffic with a throughput of 30Gbps.

Network Traffic Change Detection in Real Time 即時網路流量變異偵測

Sketch-based algorithms are widely applied in various networking applications. In this research, we present a compact implementation of real-time traffic change detection system with OpenFlow on a NetFPGA platform. It is capable of monitoring network traffic up to 4Gbps line rate with detection accuracy needed based on limited memory on-board. The system utilizes an one-pass scheme to reveal the flow ID exceeding the predefined threshold. Based on the network IDs, actions are issued immediately to switches for proper responses through OpenFlow protocol.

1st Asia NetFPGA Developers’Workshop, June 14, 2010 at KAIST, Daejeon, Korea

Demo setup photos by John Lockwood