Packet Classification Using Binary Content Addressable Memory

Slides:



Advertisements
Similar presentations
An On-Chip IP Address Lookup Algorithm Author: Xuehong Sun and Yiqiang Q. Zhao Publisher: IEEE TRANSACTIONS ON COMPUTERS, 2005 Presenter: Yu Hao, Tseng.
Advertisements

A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
1 TCAM Razor: A Systematic Approach Towards Minimizing Packet Classifiers in TCAMs Department of Computer Science and Information Engineering National.
CSIE NCKU High-performance router architecture 高效能路由器的架構與設計.
Improved TCAM-based Pre-Filtering for Network Intrusion Detection Systems Department of Computer Science and Information Engineering National Cheng Kung.
An Efficient Hardware-based Multi-hash Scheme for High Speed IP Lookup Department of Computer Science and Information Engineering National Cheng Kung University,
張 燕 光 資訊工程學系 Dept. of Computer Science & Information Engineering,
Two stage packet classification using most specific filter matching and transport level sharing Authors: M.E. Kounavis *,A. Kumar,R. Yavatkar,H. Vin Presenter:
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
High-Performance Packet Classification on GPU Author: Shijie Zhou, Shreyas G. Singapura and Viktor K. Prasanna Publisher: HPEC 2014 Presenter: Gang Chi.
Authors: Yi Wang, Tian Pan, Zhian Mi, Huichen Dai, Xiaoyu Guo, Ting Zhang, Bin Liu, and Qunfeng Dong Publisher: INFOCOM 2013 mini Presenter: Chai-Yi Chu.
Packet Classification Using Multi-Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: COMPSACW, 2013 IEEE 37th Annual (Computer.
Leveraging Traffic Repetitions for High- Speed Deep Packet Inspection Author: Anat Bremler-Barr, Shimrit Tzur David, Yotam Harchol, David Hay Publisher:
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
High-Speed Packet Classification Using Binary Search on Length Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Jan. 14, 2008.
EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
Bit Weaving: A Non-Prefix Approach to Compressing Packet Classifiers in TCAMs Author: Chad R. Meiners, Alex X. Liu, and Eric Torng Publisher: 2012 IEEE/ACM.
2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi.
Department of Computer Sciences The University of Texas at Austin Complete Redundancy Detection in Firewalls Alex X. Liu Department of Computer Sciences.
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
Binary-tree-based high speed packet classification system on FPGA Author: Jingjiao Li*, Yong Chen*, Cholman HO**, Zhenlin Lu* Publisher: 2013 ICOIN Presenter:
Boundary Cutting for Packet Classification Author: Hyesook Lim, Nara Lee, Geumdan Jin, Jungwon Lee, Youngju Choi, Changhoon Yim Publisher: Networking,
Lightweight Traffic-Aware Packet Classification for Continuous Operation Author: Shariful Hasan Shaikot, Min Sik Kim Presenter: Yen-Chun Tseng Date: 2014/11/26.
Range Enhanced Packet Classification Design on FPGA Author: Yeim-Kuan Chang, Chun-sheng Hsueh Publisher: IEEE Transactions on Emerging Topics in Computing.
PC-TRIO: A Power Efficient TACM Architecture for Packet Classifiers Author: Tania Banerjee, Sartaj Sahni, Gunasekaran Seetharaman Publisher: IEEE Computer.
1 Bit Weaving: A Non-Prefix Approach to Compressing Packet Classifiers in TCAMs Author: Chad R. Meiners, Alex X. Liu, and Eric Torng Publisher: IEEE/ACM.
Cuckoo Filter: Practically Better Than Bloom Author: Bin Fan, David G. Andersen, Michael Kaminsky, Michael D. Mitzenmacher Publisher: ACM CoNEXT 2014 Presenter:
Packet Classification Using Dynamically Generated Decision Trees
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
Stochastic Pre-Classification for SDN Data Plane Matching Author : Luke McHale, C. Jasson Casey, Paul V. Gratz, Alex Sprintson Conference: 2014 IEEE 22nd.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
A DFA with Extended Character-Set for Fast Deep Packet Inspection
IP Routers – internal view
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
Statistical Optimal Hash-based Longest Prefix Match
2018/11/19 Source Routing with Protocol-oblivious Forwarding to Enable Efficient e-Health Data Transfer Author: Shengru Li, Daoyun Hu, Wenjian Fang and.
SigMatch Fast and Scalable Multi-Pattern Matching
Parallel Processing Priority Trie-based IP Lookup Approach
Scalable Memory-Less Architecture for String Matching With FPGAs
2018/12/29 A Novel Approach for Prefix Minimization using Ternary trie (PMTT) for Packet Classification Author: Sanchita Saha Ray, Abhishek Chatterjee,
Binary Prefix Search Author: Yeim-Kuan Chang
Memory-Efficient Regular Expression Search Using State Merging
Virtual TCAM for Data Center Switches
Packet Classification Using Coarse-Grained Tuple Spaces
A Small and Fast IP Forwarding Table Using Hashing
Scalable Multi-Match Packet Classification Using TCAM and SRAM
A New String Matching Algorithm Based on Logical Indexing
EMOMA- Exact Match in One Memory Access
High-performance router/switch architecture 高效能路由器/交換器的 架構與設計
Compact DFA Structure for Multiple Regular Expressions Matching
2019/5/3 A De-compositional Approach to Regular Expression Matching for Network Security Applications Author: Eric Norige Alex Liu Presenter: Yi-Hsien.
2019/5/8 BitCoding Network Traffic Classification Through Encoded Bit Level Signatures Author: Neminath Hubballi, Mayank Swarnkar Publisher/Conference:
Power-efficient range-match-based packet classification on FPGA
Large-scale Packet Classification on FPGA
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
A Hybrid IP Lookup Architecture with Fast Updates
An Improved Wu-Manber Multiple Patterns Matching Algorithm
Worst-Case TCAM Rule Expansion
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
2019/10/19 Efficient Software Packet Processing on Heterogeneous and Asymmetric Hardware Architectures Author: Eva Papadogiannaki, Lazaros Koromilas, Giorgos.
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Towards TCAM-based Scalable Virtual Routers
Presentation transcript:

Packet Classification Using Binary Content Addressable Memory 2019/11/2 Packet Classification Using Binary Content Addressable Memory Presenter: Wei-Li,Wang IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 24, NO. 3, JUNE 2016 Author: Alex X. Liu, Chad R. Meiners, and Eric Torng Date: 2016/11/23 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. CSIE CIAL Lab 1

2019/11/2 Introduction - TCAM NOR-type TCAM cell : four comparison transistors and two SRAM cells that have a total twelve transistors. NAND-type TCAM cell : four comparison transistors and two SRAM cells that have a total twelve transistors. TCAM power consumption is proportional to the number of bits searched. A TCAM chip consists of many TCAM core cells and other supporting circuits and hardware. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Introduction - TCAM Expensive Limited Capacity Large Power Consumption 2019/11/2 Introduction - TCAM Expensive Limited Capacity Large Power Consumption The largest available TCAM chip has a capacity of 72Mb, while 2Mb and 1Mb chips are the most popular. Src dst port range 展開存入tcam很花空間 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Introduction - BCAM Every bit has only two possible states: 0 or 1. 2019/11/2 Introduction - BCAM Every bit has only two possible states: 0 or 1. NOR-type BCAM cell : four comparison transistors and an SRAM cell. NAND-type BCAM cell : three comparison transistors and an SRAM cell. Power Consumption lower than TCAM. This implies a TCAM chip consumes roughly twice as much power and roughly twice as much board space as an equivalent BCAM chip. Considering the number of transistors and the associated circuits, the circuitry of a TCAM chip is about two times denser than that of a BCAM chip. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS One-dimensional packet classification using BCAM. 2019/11/2 B-CLASS One-dimensional packet classification using BCAM. BCAM can only store binary bits(0, 1). Convert the ternary matching problem into a binary string exact matching problem. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS - Prefix Membership Verification 2019/11/2 B-CLASS - Prefix Membership Verification National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS - Prefix Membership Verification prefix numericalization First replace every * by 0. Second, we append bits whose value is equal to k. National Cheng Kung University CSIE Computer & Internet Architecture Lab

B-CLASS - Prefix Membership Verification 2019/11/2 B-CLASS - Prefix Membership Verification We use N(PF(B)) to denote the resulting set of binary numbers after numericalizing every prefix in PF(B). For example, N(PF(0101)) = {0101100, 0100011, 0100010, 0000001, 0000000}. 0101, 010*, 01**, 0***, **** National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS Our 1-dimensional scheme B-CLASS is composed of two algorithms. The first algorithm describes how to preprocess a classifier so that it can be stored in BCAM. The second algorithm classifies a packet. National Cheng Kung University CSIE Computer & Internet Architecture Lab

B-CLASS - Classifier preprocessing 2019/11/2 B-CLASS - Classifier preprocessing First convert classifier to an equivalent minimum prefix classifier C’. Second, for each prefix P in C, we convert P to a binary number using the prefix numericalization described above. The preprocessing result N(C) is stored in BCAM. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS - Classify packets 2019/11/2 B-CLASS - Classify packets First, generate the prefixes in PF(B) in the decreasing order, We use OPF(B) to denote this ordered prefix family. Second, numericalize every prefix in OPF(B) and get N(OPF(B)). National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/11/2 B-CLASS National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/11/2 B-CLASS - Search The search process starts by testing whether the first element of N(OPF(B)) (i.e., N(b1b2 · · · bw)) is in the BCAM. If yes, then return the corresponding decision; otherwise, continue to test whether the second element of N(OPF(B)) is in the BCAM. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/11/2 B-CLASS National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS Optimization – Skip List 2019/11/2 B-CLASS Optimization – Skip List Given a 1-dimensional minimum prefix classifier C, we first sort all rules in C in the decreasing order of their prefix length to get Cs. Second, we build a skip list for Cs, which is an ordered list of all the distinct lengths of the prefixes in Cs in decreasing order. Reduce the number of BCAM lookups For example, the skip list for the sorted minimum prefix classifier Cs in Figure 1 is 3, 2, 0. Given a packet B, we only need to search N(OPF(B))[w −i] starting from the largest number i in the skip list of Cs until a match is found. Consider the example in Figure 1, we start the search from N(OPF(B))[3] = 1100011 rather than from N(OPF(B))[4] = 1111100. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS Optimization – Free Expansion 2019/11/2 B-CLASS Optimization – Free Expansion Replace the rule P 11∗∗→a by two rules 110∗ → a and 111∗ → a, for all packets that match P, the number of BCAM lookups is reduced from i + 1 to i. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

MULTI-DIMENSIONAL PACKET CLASSIFICATION 2019/11/2 MULTI-DIMENSIONAL PACKET CLASSIFICATION Decomposing a d-dimensional packet classifier into d one dimensional classifiers. We create the decision tree structure by first converting the given classifier to an equivalent reduced firewall decision diagram (FDD). acyclic and directed graph National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

MULTI-DIMENSIONAL PACKET CLASSIFICATION 2019/11/2 MULTI-DIMENSIONAL PACKET CLASSIFICATION National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

MULTI-DIMENSIONAL PACKET CLASSIFICATION 2019/11/2 MULTI-DIMENSIONAL PACKET CLASSIFICATION National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

B-CLASS-d First, we numericalize every entry in the table. 2019/11/2 B-CLASS-d First, we numericalize every entry in the table. Second, for every entry in the table, we store the index of the corresponding skip list of the one-dimensional table that the entry belongs to.(Stored in the SRAM associated with the BCAM) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

MULTI-DIMENSIONAL PACKET CLASSIFICATION Search - a packet (0011, 0010), the first search key is 000011, which returns 01. The second search key is 010010, which returns d (i.e., discard) as the decision for the packet. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Lookup time For example, the lookup time for packet (0011, 0010) on the multi-lookup table in Figure 2(c) is 5 because the first field 0011 needs 2 BCAM lookups on table 00 in 2(b) and the second field 0010 needs 3 BCAM lookups on table 10 in 2(b). National Cheng Kung University CSIE Computer & Internet Architecture Lab

Algorithm for Minimizing Maximum Packet Lookup Time 2019/11/2 Algorithm for Minimizing Maximum Packet Lookup Time Find the correct prefixes to expand such that the maximum lookup time can be reduced. For example, the FDD in Figure 2(b) has 3 lookup paths with maximum lookup time of 6: (∗∗∗∗/00, ∗∗∗∗/01), (∗∗∗∗/00, ∗∗∗∗/10), (∗∗∗∗/00, ∗∗∗∗/11). expanding ∗∗∗∗/00 => reduce the lookup time of all three paths. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Algorithm for Minimizing Maximum Packet Lookup Time If we want to reduce the lookup time of the packets whose first matching prefix is ∗ ∗ ∗∗, we can either expand ∗ ∗ ∗∗ to four prefixes 00 ∗ ∗, 01 ∗ ∗, 10 ∗ ∗, and 11 ∗ ∗, or we can expand 00 ∗ ∗ to four prefixes 0000, 0001, 0010, and 0011. National Cheng Kung University CSIE Computer & Internet Architecture Lab

Algorithm for Minimizing Average Packet Lookup Time 2019/11/2 Algorithm for Minimizing Average Packet Lookup Time Expanding any prefix has the benefit of reducing the lookup time for some packets. The number of packets whose lookup time will be reduced by one / the cost of expanding all prefixes of length(BCAM entry required) Repeats until the average lookup time reduces very slowly expanding any prefix has the benefit of reducing the lookup time for some packets and at the same time has a certain cost in terms of addition BCAM entries required. We predefine a small threshold ε. When |AVGt−AVGt−1| AVGt−1 < ε, we terminate the process after round t. In our experiments, we chose ε = 10−2. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

Lookup Short Circuiting 2019/11/2 Lookup Short Circuiting Some paths may omit unnecessary fields when a node in the path contains only one outgoing edge. In this case, the node along with singleton outgoing edge can be pruned. This optimization allows some specific decision paths to be performed with a reduced number of lookups National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/11/2 EXPERIMENTAL RESULTS combination of skip lists, free expansion, and short circuiting techniques “light optimization” We use max-optimization to denote the technique of minimizing the maximum lookup time in addition to light optimization, avg-optimization to denote the technique of minimizing the average lookup time in addition to light optimization 25種CLASSIFIER Note that without any optimizations, B-CLASS-d requires 109 lookups for every packet. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/11/2 EXPERIMENTAL RESULTS TCAM scheme (with short circuiting) National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab

2019/11/2 EXPERIMENTAL RESULTS S. Dharmapurikar, P. Krishnamurthy, and D. E. Taylor, “Longest prefix matching using bloom filters,” in Proc. ACM SIGCOMM, 2003, pp. 201–212. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab