Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.

Slides:



Advertisements
Similar presentations
An Array-Based Algorithm for Simultaneous Multidimensional Aggregates By Yihong Zhao, Prasad M. Desphande and Jeffrey F. Naughton Presented by Kia Hall.
Advertisements

Fast Firewall Implementation for Software and Hardware-based Routers Lili Qiu, Microsoft Research George Varghese, UCSD Subhash Suri, UCSB 9 th International.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Part C Part A:  Index Definition in SQL  Ordered Indices  Index Sequential.
Chapter 11 Indexing and Hashing (2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
HybridCuts: A Scheme Combining Decomposition and Cutting for Packet Classification Author: Wenjun Li, Xianfeng Li Publisher: 2013 IEEE 21 st Annual Symposium.
Outline Introduction Related work on packet classification Grouper Performance Empirical Evaluation Conclusions.
A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
BTrees & Bitmap Indexes
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Improved TCAM-based Pre-Filtering for Network Intrusion Detection Systems Department of Computer Science and Information Engineering National Cheng Kung.
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
1 Partition Filter Set for Power- Efficient Packet Classification Authors: Haibin Lu, MianPan Publisher: IEEE GLOBECOM 2006 Present: Chen-Yu Lin Date:
Parallel-Search Trie-based Scheme for Fast IP Lookup
Performance Evaluation of IPv6 Packet Classification with Caching Author: Kai-Yuan Ho, Yaw-Chung Chen Publisher: ChinaCom 2008 Presenter: Chen-Yu Chaug.
1 DRES:Dynamic Range Encoding Scheme for TCAM Coprocessors Authors: Hao Che, Zhijun Wang, Kai Zheng and Bin Liu Publisher: IEEE Transactions on Computers,
1 Performance Improvement of Two-Dimensional Packet Classification by Filter Rephrasing Department of Computer Science and Information Engineering National.
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
1 Indexing Structures for Files. 2 Basic Concepts  Indexing mechanisms used to speed up access to desired data without having to scan entire.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Existing Range Encoding Schemes Presenter: Kai-Yang, Liu Date: 2011/11/23.
Chapter 61 Chapter 6 Index Structures for Files. Chapter 62 Indexes Indexes are additional auxiliary access structures with typically provide either faster.
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
1 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
Packet Classification Using Multi-Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: COMPSACW, 2013 IEEE 37th Annual (Computer.
A Summary of XISS and Index Fabric Ho Wai Shing. Contents Definition of Terms XISS (Li and Moon, VLDB2001) Numbering Scheme Indices Stored Join Algorithms.
Relational Operator Evaluation. Overview Index Nested Loops Join If there is an index on the join column of one relation (say S), can make it the inner.
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.
Packet Classification using Tuple Space Search
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
An Efficient Regular Expressions Compression Algorithm From A New Perspective  Author: Tingwen Liu, Yifu Yang, Yanbing Liu, Yong Sun, Li Guo  Publisher:
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
1 Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates Author: Yeim-Kuan Chang Publisher: ICOIN 2005 Presenter: Po Ting Huang Date:
1 Packet Classification تنظیم : محمدعلی عظیمی. Classifier Example 2.
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
Marwan Al-Namari Hassan Al-Mathami. Indexing What is Indexing? Indexing is a mechanisms. Why we need to use Indexing? We used indexing to speed up access.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Cross-Product Packet Classification in GNIFS based on Non-overlapping Areas and Equivalence Class Author: Mohua Zhang, Ge Li Publisher: AISS 2012 Presenter:
Indexing Database Management Systems. Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files File Organization 2.
Packet classification on Multiple Fields Authors: Pankaj Gupta and Nick McKcown Publisher: ACM 1999 Presenter: 楊皓中 Date: 2013/12/11.
Binary-tree-based high speed packet classification system on FPGA Author: Jingjiao Li*, Yong Chen*, Cholman HO**, Zhenlin Lu* Publisher: 2013 ICOIN Presenter:
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.
Packet Classification Using Dynamically Generated Decision Trees
A Fast and Scalable IPv6 Packet Classification Author: Xiaoju Zhou, Xiaohong Huang, Qiong Sun, Wei Yang, Yan Ma Publisher: Network Infrastructure and Digital.
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
Author: Weirong Jiang, Viktor K. Prasanna Publisher: th IEEE International Conference on Application-specific Systems, Architectures and Processors.
Data Structures and Algorithms Instructor: Tesfaye Guta [M.Sc.] Haramaya University.
Optimizing Packet Lookup in Time and Space on FPGA Author: Thilan Ganegedara, Viktor Prasanna Publisher: FPL 2012 Presenter: Chun-Sheng Hsueh Date: 2012/11/28.
DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors 2008 YU-ANTL Lab Seminar June 11, 2008 JeongKi Park Advanced Networking Technology Lab. (YU-ANTL)
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
Indexing and hashing.
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
Indexing and Hashing Basic Concepts Ordered Indices
Packet Classification Using Coarse-Grained Tuple Spaces
Scalable Multi-Match Packet Classification Using TCAM and SRAM
Publisher : TRANSACTIONS ON NETWORKING Author : Haoyu Song, Jonathan S
CS4433 Database Systems Indexing.
Large-scale Packet Classification on FPGA
Chapter 11: Indexing and Hashing
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Packet Classification Using Binary Content Addressable Memory
Presentation transcript:

Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software and Applications Conference Workshops Presenter: Chun-Sheng Hsueh Date: 2013/12/11 1

INTRODUCTION Recursive Flow Classification (RFC) is a notable high-speed scheme for packet classification. However, it may incur high memory consumption in generating the pre-computed cross-product tables. In this paper, the author propose a new scheme to reduce the memory consumption by partitioning a rule database into several subsets. The performance of a packet classification algorithm is measured by its memory consumption and number of memory accesses to accomplish a classification. 2

INTRODUCTION Currently, packet classification algorithms have different tradeoffs between storage and speed performance. ◦ The algorithms based on hash tables have superior space performance, but their speed performance cannot be guaranteed. ◦ Decision-tree-based algorithms use a decision tree to divide rules into multiple linear-search groups. The speed and the storage performance would vary according to the characteristics of rule databases. ◦ TCAMs have been widely used to lookup rules. However, TCAMs cannot store ranges; thus, range-to-prefix transformation is required to degrade storage efficiency. 3

PROPOSED SCHEME This paper aim at improving the storage efficiency of RFC by employing multiple RFC instances. First, the author partition a rule database into several subsets. The rules of each subset are stored in an independent RFC data structure. Each subset is then represented by an index rule and each index rule points to the corresponding RFC data structure. 4

PROPOSED SCHEME If we partition the database into k subsets, then k index rules are created. These index rules are stored in another RFC data structure (index RFC). With the index RFC, we can determine which subsets an incoming packet matches. Next, the corresponding RFC data structures are accessed to determine the matching rules. 5

PROPOSED SCHEME The author describe the reasoning for partitioning a rule database by using an example. 6

PROPOSED SCHEME An effective partitioning algorithm should meet several requirements. ◦ The rules which are geometrically close to each other should be categorized in the same subset. This requirement can avoid the search procedure to access all subsets. ◦ Each rule should reside in exact one subset. A less efficient partitioning technique may incur replicated rules to result in extra storage. ◦ The number of rule subsets should be adjustable to accommodate different rule databases. 7

PROPOSED SCHEME In the following, we investigate the current techniques for partitioning a rule database. ◦ The idea of tuple space divides a rule database into tuples based on the number of bits specified in each field and the resulting set of tuples is called tuple space. ◦ The decision-tree algorithms can divide a database into subsets by using field attributes of a rule. When the attribute used for partitioning a database is the field values, decision tree provides a geometrical approach that the rules in the same subset are close to each other. 8

PROPOSED SCHEME As compared with tuple-based partitioning approaches, rule replication is only one problem to overcome for using decision tree to partition a rule database. Our approach first generates a balanced binary decision tree where each internal node divides the associated rules into two subsets. In the procedure of constructing a decision tree, any replicated rules are moved to the second decision tree. After generating all decision trees, the rules in a leaf node are inserted into an RFC data structure. Thus, the number of RFC data structures is equal to the total number of leaf nodes in all decision trees. 9

PROPOSED SCHEME 10

11

PROPOSED SCHEME For each RFC data structure, five filter fields are split into seven chunks, including six 16-bit chunks and one 8-bit chunk in the first phase. For each chunk, a 2W-entry index array is constructed for accessing the equivalence class ID (eqID) corresponding to the value of a packet header field. Each eqID is associated with a class bitmap to indicate the rules matching the chunk equivalence set. 12

PROPOSED SCHEME Two or three chunks are combined to generate a chunk in the next phase by crossproducting their eqIDs. The class bitmap of a new chunk is equal to the intersection of the class bitmaps of the merged eqIDs. Each distinct class bitmap represents an equivalence set in the new phase. The new eqIDs are stored in an index array whose size is equal to the multiplication of the number of merged eqIDs. The procedure proceeds until all chunks are merged. 13

PROPOSED SCHEME For an incoming packet, the search procedure in an RFC data structure starts by splitting the packet header into seven chunks. The value of each chunk is used to access the eqID in the index array. If there is any subsequent phase, then the search procedure uses the combination of the fetched eqID to generate the index of the next phase. As the procedure traverses to the last phase and fetches the eqID, the class bitmap corresponding to the eqID is accessed to determine the matching rules. 14

PROPOSED SCHEME For an incoming packet, the complete search procedure starts by traversing the index RFC data structure to find the matching index rules. Then, the search procedure proceeds to search the subsets of the matching index rules by accessing the corresponding RFC data structures. The framework of our algorithm consists of six RFC data structures, five for the resulted subsets and one for the index rules. 15

PROPOSED SCHEME Table IV shows the crossproducting table entries in each phase for the original RFC and our algorithm. In this example, this paper reduce 63% entries of the original RFC. 16

REFINEMENTS Merging Small Subsets: ◦ While partitioning a rule database, small subsets could be generated. ◦ These small subsets would result in less efficient RFC data structure. Extra memory accesses to these data structures are also incurred. 17

REFINEMENTS Merging the First Phases of Different RFCs: ◦ As mentioned above, we need k+1 RFC data structures for a database partitioned into k groups. Since each of RFC data structure is traversed independently, we need 7*(k+1) memory accesses to retrieve eqIDs in the index arrays of the first phase. ◦ To reduce the number of memory accesses, we merge the index arrays of the same chunk from different RFC data structures, where each entry in the new array has k+1 fields. ◦ The number of memory accesses is thus reduced from 7*(k+1) to seven for the first phase of all RFCs. 18

REFINEMENTS Merging the First Phases of Different RFCs: ◦ The lookup table of each 16-bit chunk is a 2^16-entry index array and that for the 8-bit chunk is a 2^8-entry index array. If we partition a database into k subsets, we will need 6*2^16*(k+1)+2^8*(k+1) array entries in the first phase. ◦ In order to reduce the memory consumption, we replace the index array with a binary-search array for the first-phase eqIDs. ◦ For each index array, the eqIDs stored in contiguous entries could be the same. We can merge them into an interval, which starts from the first entry to the last entry with the same eqID. 19

EXPERIMENTAL RESULTS 20

EXPERIMENTAL RESULTS 21

EXPERIMENTAL RESULTS 22

EXPERIMENTAL RESULTS 23

EXPERIMENTAL RESULTS 24

EXPERIMENTAL RESULTS 25

EXPERIMENTAL RESULTS 26