簡易檢索 / 詳目顯示

研究生: 葉宗道
TSUNG-TAO YEH
論文名稱: 具擴展性的封包分類器設計與實現於FPGA架構
The Design and Implementation of a FPGA-based Architecture for Scalable Packet Classification
指導教授: 陳郁堂
Yie-Tarng Chen
口試委員: 吳乾彌
Chen-Mie Wu
林銘波
Ming-Bo Lin
方文賢
Wen-Hsien Fang
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2013
畢業學年度: 101
語文別: 中文
論文頁數: 72
中文關鍵詞: 封包分類
外文關鍵詞: Packet Classification
相關次數: 點閱:198下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著網際網路的蓬勃發展,封包分類器(Packet Classifier)成為下一代高速路由器中相當重要的元件,可支援具QoS網路服務,高速防火牆, 以網路傳送量的計價方式(Usage-based Billing) 等服務。雖然封包分類演算法曾被廣泛討論。然而,大多數的封包分類演算法需要大量的記憶體,無法將2-3萬分類法則儲藏於記憶容量較小的硬體平台。本論文將針對這個問題進行探討,發展一個嶄新的分割式平行封包分類演算法,採用管線化的架構,並實現於FPGA。我們從探討分類法則分割切入,若能將分類規則適當的進行分群,將可大幅降低儲存空間的需求。因此我們對分類法則進行兩階段的分群,來降低儲存空間,使得大量規則可儲存於硬體平台上。同時我們採用二位元樹(Binary Search Tree)進一步壓縮分類法則所需儲存空間,可以將高達3萬筆ACL型態分類法則,存進FPGA的記憶體中。透個硬體實現,當每個封包大小為40bytes 時,我們所設計封包分類器可達到28 Gbps的效能。


    Multi-field packet classification becomes a challenging issue owing to the rapid growth of the Internet traffic and the size of the classification rules. However, existing classification algorithms require large-scale memory, which cannot store in the on-chip memory. In this thesis, we design and implement a scalable packet classification algorithm on FPGA, which can support the large number of classification rules up to 30K. Based on our key observation, the storage requirements of the packet classification algorithm can be reduced significantly if the classification rules are appropriately clustered. We propose a two-stage rule clustering scheme, which divides of the classification rules into 11 clusters and rules in different cluster are searched in parallel and pipeline fashion. Furthermore, to reduce memory requirements, a 2-D Binary-Search-Tree is used in the algorithm design. To shorten the lookup time, we use parallel processing with pipeline architecture in our design. Therefore, the chip can achieve one lookup per clock cycle. Two strategies: controlled prefix expansion and MinMax are used to further optimize the system architecture. We use Post-Place & Route simulation to verify the performance of the proposed system. The results show that the proposed multi-filed packet classifier can achieve approximately 86.6 million packets per second at 86.6 MHz system clock.

    摘要 I ABSTRACT II 誌謝 III 目錄 IV 表目錄 VI 圖目錄 VIII 第一章 緒論 1 1.1 簡介 1 1.2 章節安排 3 第二章 相關研究 4 第三章 基於二位元樹的二維封包分類演算法 6 3.1 搜尋之資料結構建立 6 3.2 固定步階的多位元樹狀結構 8 3.3 預先處理分類規則資料表 9 3.4 分割原始分類規則資料表 10 3.4.1 同長度處理演算法 14 3.4.2 規則縮編時之衝突 15 3.4.3 動態規劃分群演算法 18 3.4.4 可控擴展前綴查找樹結構 20 3.4.5 基於最小-最大演算法的動態規劃方式 21 第四章 硬體架構之設計與實現 24 4.1 系統架構概述 24 4.2 BST單一管線化架構 25 4.3 FSMT單一管線化架構 29 4.4 實際規則比對 31 4.5 優先權選擇器 34 第五章 模擬實現以及結果分析 35 5.1 規則資料庫與其相關參數設定 35 5.2 效能評估指標 36 5.3 模擬流程 38 5.4 模擬結果分析 38 5.4.1平行處理數量之影響與實驗結果 39 5.4.2 同長度處理演算法之結果 45 5.4.3 兩種動態規劃演算法之結果 50 5.4.3.1 記憶體消耗量 51 5.4.3.2 CPE與MinMax動態規劃之管線化實驗結果 53 5.4.4軟體模擬之比較結果 57 5.5 FPGA驗證與結果分析 63 5.5.1 FPGA的設計流程 63 5.5.2 BST封包分類系統之FPGA設計 64 5.5.3 TCAM大小對於系統速度之影響 65 第六章 結論 70 參考文獻 71

    [1] 林天民, ABV+: 一個高效率封包分類演算法, 碩士論文-長庚大學,2009年1月。

    [2] 黃鼎峰, 基於R*-Tree 的位元圖交集封包分類演算法, 碩士論文-國立交通大學,2011年6月。

    [3] H. Lee, W. Jiang, and V. K. Prasanna, “Scalable High-Throughput SRAM-Based
    Architecture for IP Lookup Using FPGA,” In Proc. Field Programmable Logic and Applications (FPL ’08), pp. 203–214 , 2008.

    [4] P. Gupta, and N. McKeown, “Algorithms for packet classification,” IEEE Network, vol. 15, no. 2, pp.24-32, 2001.

    [5] T. V. Lakshman and D. Stiliadis, “High-speed policy-based packet forwarding
    using efficient multi-dimensional range matching," In Proc. ACM SIGCOMM,
    pp. 203–214, 1998.

    [6] H. Song and J. W. Lockwood, “Efficient packet classification for network intrusion detection using FPGA,” In Proc. ACM/SIGDA 13th ACM International Symposium on FPGA, pp. 238–245, 2005.

    [7] V. Srinivasan and G. Varghese, “Fast IP lookup using controlled prefix expansion,” ACM Trans. Computer Systems, vol. 26, no. 1, pp. 1-40, Feb. 1999.

    [8] Anindya Basu and Girija Narlikar, “Fast Incremental Updates for Pipelined Forwarding Engines,” IEEE/ACM Trans. Networking., Vol. 13, no.3, 2005.

    [9] D. E. Taylor and J. S. Turner, “ClassBench: A Packet Classification Benchmark,” IEEE/ACM Trans. Networking., Vol15, no.3 pp. 499-511, 2007.

    [10] W. Jiang and V. K. Prasanna, “Large-scale wire-speed packet classification on
    FPGAs,” In Proc. Field Programmable Logic and Applications (FPL ’09), pp. 219-228, 2009.

    [11] 趙彥博, 以四元樹為基礎的封包分類輔處理器之設計與實現, 碩士論文-
    國立台灣科技大學, 2004年7月。

    [12] A. Kennedy, X. Wang, Z. Liu, and B. Liu, “Low power architecture for high
    speed packet classification,” in Proc. ACM/IEEE Symposium on Architectures
    for Networking and Communications Systems, pp. 131-140, 2008.

    [13] H. Song and J. W. Lockwood, “Efficient packet classification for network
    intrusion detection using FPGA,” in Proc. Field Programmable Logic and Applications, pp. 238–245, 2005

    [14] G. S. Jedhe, A. Ramamoorthy, and K. Varghese, “A scalable high throughput
    firewall in FPGA,” in Proc. Field-Programmable Custom Computing Machines,
    pp. 43-52, 2008.

    [15] W. Jiang and V. K. Prasanna. Parallel IP lookup using multiple SRAM-based
    pipelines. In Proc. IPDPS, 2008.

    無法下載圖示 全文公開日期 2018/05/22 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE