EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.

Slides:



Advertisements
Similar presentations
Scalable Packet Classification Using Hybrid and Dynamic Cuttings Authors : Wenjun Li,Xianfeng Li Publisher : Engineering Lab on Intelligent Perception.
Advertisements

A Memory-Efficient Reconfigurable Aho-Corasick FSM Implementation for Intrusion Detection Systems Authors: Seongwook Youn and Dennis McLeod Presenter:
1 Fast Packet Classification using Group Bit Vector Author: Tong Liu, Huawei Li, Xiaowei Li, Yinhe Han Publisher: IEEE GLOBECOM 2006 Presenter: Hsin-Mao.
1 An innovative low-cost Classification Scheme for combined multi-Gigabit IP and Ethernet Networks Department of Computer Science and Information Engineering.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
High-Performance Packet Classification on GPU Author: Shijie Zhou, Shreyas G. Singapura and Viktor K. Prasanna Publisher: HPEC 2014 Presenter: Gang Chi.
HybridCuts: A Scheme Combining Decomposition and Cutting for Packet Classification Authors : Wenjun Li, Xianfeng Li Publisher : 2013 IEEE 21st Annual Symposium.
Packet Classification using Rule Caching Author: Nitesh B. Guinde, Roberto Rojas-Cessa, Sotirios G. Ziavras Publisher: IISA, 2013 Fourth International.
Fast forwarding table lookup exploiting GPU memory architecture Author : Youngjun Lee,Minseon Jeong,Sanghwan Lee,Eun-Jin Im Publisher : Information and.
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:
A Regular Expression Matching Algorithm Using Transition Merging Department of Computer Science and Information Engineering National Cheng Kung University,
High-Speed Packet Classification Using Binary Search on Length Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Jan. 14, 2008.
A Hybrid IP Lookup Architecture with Fast Updates Author : Layong Luo, Gaogang Xie, Yingke Xie, Laurent Mathy, Kavé Salamatian Conference: IEEE INFOCOM,
Scalable Many-field Packet Classification on Multi-core Processors Authors : Yun R. Qu, Shijie Zhou, Viktor K. Prasanna Publisher : International Symposium.
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
Deterministic Finite Automaton for Scalable Traffic Identification: the Power of Compressing by Range Authors: Rafael Antonello, Stenio Fernandes, Djamel.
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
DBS A Bit-level Heuristic Packet Classification Algorithm for High Speed Network Author : Baohua Yang, Xiang Wang, Yibo Xue, Jun Li Publisher : th.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
SwinTop: Optimizing Memory Efficiency of Packet Classification in Network Author: Chen, Chang; Cai, Liangwei; Xiang, Yang; Li, Jun Conference: Communication.
Research on TCAM-based OpenFlow Switch Author: Fei Long, Zhigang Sun, Ziwen Zhang, Hui Chen, Longgen Liao Conference: 2012 International Conference on.
2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi.
Early Detection of DDoS Attacks against SDN Controllers
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
TFA: A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Yang Song and H. Jonathan Chao Publisher: ACM/IEEE.
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,
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
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.
Cuckoo Filter: Practically Better Than Bloom Author: Bin Fan, David G. Andersen, Michael Kaminsky, Michael D. Mitzenmacher Publisher: ACM CoNEXT 2014 Presenter:
Lossy Compression of Packet Classifiers Author: Ori Rottenstreich, J’anos Tapolcai Publisher: 2015 IEEE International Conference on Communications Presenter:
LaFA Lookahead Finite Automata Scalable Regular Expression Detection Authors : Masanori Bando, N. Sertac Artan, H. Jonathan Chao Masanori Bando N. Sertac.
Packet Classification Using Dynamically Generated Decision Trees
GFlow: Towards GPU-based High- Performance Table Matching in OpenFlow Switches Author : Kun Qiu, Zhe Chen, Yang Chen, Jin Zhao, Xin Wang Publisher : Information.
LOP_RE: Range Encoding for Low Power Packet Classification Author: Xin He, Jorgen Peddersen and Sri Parameswaran Conference : IEEE 34th Conference on Local.
Stochastic Pre-Classification for SDN Data Plane Matching Author : Luke McHale, C. Jasson Casey, Paul V. Gratz, Alex Sprintson Conference: 2014 IEEE 22nd.
SRD-DFA Achieving Sub-Rule Distinguishing with Extended DFA Structure Author: Gao Xia, Xiaofei Wang, Bin Liu Publisher: IEEE DASC (International Conference.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
Practical Multituple Packet Classification Using Dynamic Discrete Bit Selection Author: Baohua Yang, Fong J., Weirong Jiang, Yibo Xue, Jun Li Publisher:
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
LightFlow : Speeding Up GPU-based Flow Switching and Facilitating Maintenance of Flow Table Author : Nobutaka Matsumoto and Michiaki Hayashi Conference:
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
JA-trie: Entropy-Based Packet Classification Author: Gianni Antichi, Christian Callegari, Andrew W. Moore, Stefano Giordano, Enrico Anastasi Conference.
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
Reorganized and Compact DFA for Efficient Regular Expression Matching
A DFA with Extended Character-Set for Fast Deep Packet Inspection
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
Toward Advocacy-Free Evaluation of Packet Classification Algorithms
Statistical Optimal Hash-based Longest Prefix Match
SigMatch Fast and Scalable Multi-Pattern Matching
Parallel Processing Priority Trie-based IP Lookup Approach
2018/12/29 A Novel Approach for Prefix Minimization using Ternary trie (PMTT) for Packet Classification Author: Sanchita Saha Ray, Abhishek Chatterjee,
2019/1/3 Exscind: Fast Pattern Matching for Intrusion Detection Using Exclusion and Inclusion Filters Next Generation Web Services Practices (NWeSP) 2011.
Memory-Efficient Regular Expression Search Using State Merging
Virtual TCAM for Data Center Switches
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
Compact DFA Structure for Multiple Regular Expressions Matching
Large-scale Packet Classification on FPGA
A Hybrid IP Lookup Architecture with Fast Updates
An Improved Wu-Manber Multiple Patterns Matching Algorithm
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Towards TCAM-based Scalable Virtual Routers
Packet Classification Using Binary Content Addressable Memory
Presentation transcript:

EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference on Advances in Computing, Communications and Informatics (ICACCI) Presenter: Chih-Hsun Wang Date: 2014/4/8 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.

Introduction Packet classification is a well-researched field. However, none of the existing algorithms works well for very large rule-sets up to 128K rules. EQC16 uses 16 bit lookup to reduce memory accesses, min-max rule information to narrow down search scope, and combines two 8 bit fields for fast search. It has very high classification speed, reasonable memory requirement and small preprocessing time for large rule- sets and it supports real-time incremental updates. EQC16 can be termed as “Equivalence class with 16 bit” design. National Cheng Kung University CSIE Computer & Internet Architecture Lab 2

EQC16 Algorithm National Cheng Kung University CSIE Computer & Internet Architecture Lab 3 EQC16 borrows the initial idea from BV and ABV (Aggregated Bit-Vector) and optimizes it with multiple changes. The simplest data structure to describe BV with 8 bit lookup is a table with 256 rows and c columns where c is number of chunks.

EQC16 Algorithm National Cheng Kung University CSIE Computer & Internet Architecture Lab 4 With ABV algorithm, each table index stores N bit BV vector and ABV vector. BV vector is partitioned into k blocks, each of size A bits, where k = N/A where A is aggregation factor.

EQC16 Algorithm We noticed that many BV vectors at different row and column have eventually same bit vector data. However, there is no mechanism to find duplicate data in BV and ABV algorithms. Instead of having large BV vector at each table index, we can have one table which stores all unique bit vectors and use index value of this table entry to access that bit vector. Each unique entry is called an equivalence class and the table is called equivalence class table. National Cheng Kung University CSIE Computer & Internet Architecture Lab 5

EQC16 algorithm uses two primary tables as part of search database. Rule Index table: Rule index table contains indices to related EQC table entry. EQC table : This table stores all unique BV, ABV and miscellaneous data like number of set rules (set bits), reference count, minimum and maximum rule number in BV etc. Min and Max rule keep information about LSB and MSB bit set in BV. Reference count is used while adding/deleting an EQC entry. National Cheng Kung University CSIE Computer & Internet Architecture Lab 6 EQC16 Algorithm

National Cheng Kung University CSIE Computer & Internet Architecture Lab 7 EQC16 Algorithm

National Cheng Kung University CSIE Computer & Internet Architecture Lab 8 EQC16 Algorithm With this scheme, we allocate only 2432 bytes compared to 13K bytes required with min-max calculation

EQC16 Algorithm Preprocessing phase In preprocessing phase, rule-set file is read and search database is generated. We use one temporary table BT_TABLE with 1 column and rows and generate EQC classes chunk by chunk. After preprocessing phase, we can free this BT_TABLE memory as we have search database in EQC table and Rule index table. Entry at EQ ID 0 is called NULL rule entry. All bits in BV and ABV for that EQC entry are zero. All other field values are 0. National Cheng Kung University CSIE Computer & Internet Architecture Lab 9

EQC16 Algorithm National Cheng Kung University CSIE Computer & Internet Architecture Lab 10

EQC16 Algorithm Classification phase EQC16 uses Rule Index table to find all unique EQC entries referred by search key chunks. Once these unique EQC entries are found, min-max rule value is used and both ABV and BV vector intersection is done to get the matching rule(s). From all matching rule, highest priority rule is chosen as final matching rule. National Cheng Kung University CSIE Computer & Internet Architecture Lab 11

National Cheng Kung University CSIE Computer & Internet Architecture Lab 12

National Cheng Kung University CSIE Computer & Internet Architecture Lab 13

Optimization Combining 8 bit fields into single 16 bit chunk EQC16 algorithm takes advantage of 16 bit lookup by combining two 8 bit fields into one single chunk. No rule match optimization If any chunk value gives EQ ID with num_rules field as 0, we immediately confirm that there is no rule match and stop the search. Ignoring duplicate EQ IDs If multiple key chunks find same EQ ID, we ignore the duplicate EQ IDs and process only unique ID. Also, if an EQC entry has all rule bit set, it is ALL rule EQC entry. We do not need to intersect this EQC entry and thus ignore this EQC index. National Cheng Kung University CSIE Computer & Internet Architecture Lab 14

Optimization Min-Max rule checking Min rule and max rule of all unique EQC entries are used to check no match scenario and reduce the scope of further memory inspection. National Cheng Kung University CSIE Computer & Internet Architecture Lab 15

Test Setup and Results We coded EQC16, BV, ABV and RFC algorithm as C programs. Conducted our tests on Intel(R) Xeon(R) CPU E GHz with 3 GB memory. Two types of rule-sets: Standard rule-sets ACL, FW, IPC with around 16K rules, 13 bytes and 7 chunks and synthetic rule-sets with 128K rules, 21 bytes and 12 chunks. National Cheng Kung University CSIE Computer & Internet Architecture Lab 16

Test Setup and Results National Cheng Kung University CSIE Computer & Internet Architecture Lab 17

Test Setup and Results National Cheng Kung University CSIE Computer & Internet Architecture Lab 18

Test Setup and Results National Cheng Kung University CSIE Computer & Internet Architecture Lab 19

Test Setup and Results National Cheng Kung University CSIE Computer & Internet Architecture Lab 20

Test Setup and Results National Cheng Kung University CSIE Computer & Internet Architecture Lab 21

Test Setup and Results National Cheng Kung University CSIE Computer & Internet Architecture Lab 22