1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,

Slides:



Advertisements
Similar presentations
A Search Memory Substrate for High Throughput and Low Power Packet Processing Sangyeun Cho, Michel Hanna and Rami Melhem Dept. of Computer Science University.
Advertisements

A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
An On-Chip IP Address Lookup Algorithm Author: Xuehong Sun and Yiqiang Q. Zhao Publisher: IEEE TRANSACTIONS ON COMPUTERS, 2005 Presenter: Yu Hao, Tseng.
Fast Firewall Implementation for Software and Hardware-based Routers Lili Qiu, Microsoft Research George Varghese, UCSD Subhash Suri, UCSB 9 th International.
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
IP Routing Lookups Scalable High Speed IP Routing Lookups.
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.
A Memory-Efficient Reconfigurable Aho-Corasick FSM Implementation for Intrusion Detection Systems Authors: Seongwook Youn and Dennis McLeod Presenter:
An Efficient IP Address Lookup Algorithm Using a Priority Trie Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Mar. 11, 2008.
1 A Heuristic and Hybrid Hash- based Approach to Fast Lookup Author: Gianni Antichi, Andrea Di Pietro, Domenico Ficara, Stefano Giordano, Gregorio Procissi,
1 A Tree Based Router Search Engine Architecture With Single Port Memories Author: Baboescu, F.Baboescu, F. Tullsen, D.M. Rosu, G. Singh, S. Tullsen, D.M.Rosu,
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Scalable IPv6 Lookup/Update Design for High-Throughput Routers Authors: Chung-Ho Chen, Chao-Hsien Hsu, Chen -Chieh Wang Presenter: Yi-Sheng, Lin ( 林意勝.
CS 268: Lectures 13/14 (Route Lookup and Packet Classification) Ion Stoica April 1/3, 2002.
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 Performance Improvement of Two-Dimensional Packet Classification by Filter Rephrasing Department of Computer Science and Information Engineering National.
1 An innovative low-cost Classification Scheme for combined multi-Gigabit IP and Ethernet Networks Department of Computer Science and Information Engineering.
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
Two stage packet classification using most specific filter matching and transport level sharing Authors: M.E. Kounavis *,A. Kumar,R. Yavatkar,H. Vin Presenter:
1 Packet classification using diagonal-based tuple space search Department of Computer Science and Information Engineering National Cheng Kung University,
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
Chapter 9 Classification And Forwarding. Outline.
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
A prefix-based approach for managing hybrid specifications in complex packet filtering Author: Nizar Ben Neji, Adel Bouhoula Publisher: Computer Networks.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
IP Address Lookup Masoud Sabaei Assistant professor
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.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
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
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.
IP Address Lookup Masoud Sabaei Assistant professor
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
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:
2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi.
OpenFlow MPLS and the Open Source Label Switched Router 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.
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.
Boundary Cutting for Packet Classification Author: Hyesook Lim, Nara Lee, Geumdan Jin, Jungwon Lee, Youngju Choi, Changhoon Yim Publisher: Networking,
Range Enhanced Packet Classification Design on FPGA Author: Yeim-Kuan Chang, Chun-sheng Hsueh Publisher: IEEE Transactions on Emerging Topics in Computing.
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
Packet Classification Using Dynamically Generated Decision Trees
IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo a, Jose G. Delgado-Frias Publisher: Journal of Systems.
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 : Lynn Choi, Hyogon Kim, Sunil Kim, Moon Hae Kim Publisher/Conf : IEEE/ACM TRANSACTIONS ON NETWORKING Speaker : De yu Chen Data :
1 DESIGN AND EVALUATION OF A PIPELINED FORWARDING ENGINE Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari.
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:
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
Multiway range trees: scalable IP lookup with fast updates
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.
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 Hybrid IP Lookup Architecture with Fast Updates
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Packet Classification Using Binary Content Addressable Memory
Presentation transcript:

1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. Authors: Florin Baboescu, Priyank Warkhede, Subhash Suri, George Varghese Publisher: Computer Networks 50 (2006) 1831–1842 Present: Chi-Lu Yang ( 楊淇祿 ) Date: October, 18, 2007

2 Outline 1. Introduction 2. Problem statement 3. Tuple space approach and search Pre-computation and markers in tuple space Lower bound and impossibility of binary search 4. Binary search scheme 5. Algorithm and improvements 6. Experimental results 7. Conclusions 8. Appendix

3 Introduction The destination-based forwarding can be thought of as one- dimensional packet classification. Two-dimensional filters can be said as a combination of header fields. Such as IP source and destination pairs. we say that two filters conflict if they both match a packet header, but neither filter is contained in the other. Packet classification involves: 1.Selecting header fields from packets and storing them; such as: source and destination addresses, source and destination port numbers, protocol or even parts of URL; 2.Finding out the best packet classification rule (also called filtering rule or filter) to determine action to be taken on the packet.

4 Introduction (cont.) In this paper: 1.We consider fast lookup schemes for two-dimensional conflict-free filters. 2.We examine this lower bound more closely, and discover that the lower bound depends crucially on conflicts in the filter database. 3.Main contribution is to show that binary search can be used for packet classification in 2D filters if the filters are conflict-free. Packet classification applications include: Packet filtering in firewalls, Flow aggregation for MPLS (Multi-Potocol Label Switching) tunneling, QoS routing, Flow-preserving load balanced switching, and Bandwidth guarantees for VPNs.

5 Problem statement The 2-field conflict-free packet classification problem can be defined as follows. Given a conflict-free filter set F of 2-field filters, and a packet with header fields P[i], to determine the best matching filter F, where: P[i] denote the i th field from packet P. A filter set F is a set of k-field filters. F = {F 1, F 2,...,F n } Let F denote a filter, and let F[i], 1 <= i <= k, be the i th prefix is a selected field from packet header A filter rule is said to be a matching filter for packet P if it matches all fields of the packet header. F 1 and F 2 are Conflict filters:

6 Tuple Space Approach Rule (filter) F[1]F[2]Tuple F1F1 00* (2,2) F2F2 0*01*(1,2) F3F3 0* (1,1) F4F4 10* (2,2) F5F5 11*10*(2,2) F6F6 11* (2,2) F7F7 0*10*(1,2) F8F8 *11*(0,2) Tuple: H(T) (F[1], F[2]) Hash Table Entries (0,2)F8F8 (1,1)F3F3 (1,2)F 2, F 7 (2,2)F 1, F 4, F 5, F 6 #F[1] = 3, {0, 1, 2} #F[2] = 2, {1, 2} Totally, 3*2 = 6 tuples <= 8 Search: 1. design H(T) 2. find a best matching entries in H(T) To be parallelly implemented One kind of solutions for Packet classification on multiple fields.

7 Tuple Space Search Rectangle Search: always finds the best matching filters in a w * w tuple space. uses at most 2w-1 hashes in the worst case. builds on two keys ideas: Pre-computation and Markers. Pre-computation Consider a tuple (i, j), where 0 <= i, j <= w. A filter F in this tuple has i bits of source prefix and j bits of destination prefix. All filters mapped in the top-left quadrant of (i, j) are less specific. we can pre-compute and store with F the best matching filter from all the tuples in the top-left quadrant of (i, j). Advantage : we need not search the top-left quadrant of (i, j) An Example : F = (101*, 0110*) ==> tuple T (i, j) = T(3,4) See Fig. 2 (top-left quadrant)

8 Tuple Space Search (cont.) Markers Markers deals with the case when there is no match on a hash probe. Each filter in a tuple (i, j) leaves a marker in all the tuples in the top-left quadrant of (i, j). The marker of a filter F is obtained by taking prefixes of its two fields. An Example : the T(2, 1) marker of the filter F=(11001*, 0011*) is (11*, 0*). Tuple T 2 can leave markers. See Fig. 2 (bottom -right quadrant)

9 Tuple Space Search (cont.) Fig. 3 Time of Rectangle Search algorithm is O(2w-1) in tuple space. Fig. 2 Markers and pre-computation.

10 Tuple Space Search (cont.) Rectangle Search algorithm : (See Fig.3) Given a packet header P, we start by probing the tuple at the bottom-left of the tuple space. If we get a match, we move one column to the right; by pre-computation, any filter from a tuple above the current tuple has been stored with the marker or filter found by the match. If there is no match, we move one row up; by the marker rule, there cannot be any filter matching to the right of the current tuple - Otherwise, that filters marker in the current tuple will also have matched. Thus, each hash probe either eliminates a row or a column. After at most 2w-1 hashes steps (worst case), we find the best matching filter. Next, we examine this lower bound more closely, and observe that if the two-dimensional filters are conflict-free, then indeed binary search performance is possible.

11 Binary search scheme It’s an algorithm and Scheme for 2D conflict-free filters The time of worst case in per lookup is O(log 2 w). Assume that there are n two-dimensional conflict-free filters in a w * w tuple space W. In IPv4, source and destination fields are 32 bits, w=32 Assume that these n filters have been mapped into W tuple space uniquely in constant time. Markers of filters are generated. All filter and markers mapped to a tuple are organized into a hash table. Our search algorithm essentially performs a binary search over the columns of the tuple space, A column i in the tuple space is set of all tuples with exactly i bit source prefixes. Column i is the set of tuples (i, j), j <= w. Markers (See Fig. 4(a))

12 Binary search scheme (cont.) Each filter can create markers in the same row into tuples from columns to its left. Example (Fig. 4(a)): A Filter F in T(4,3) create markers in shaded tuples. For performing binary search on columns, one half of tuple space has to be eliminated per time. For every hash probe into a tuple, the tuple space can be divided into three regions. (in Fig. 4(b)) (1) If a matching filter or marker is found by the hash probe.( Lemma 1) (PS. top-left and bottom-left quadrants can be eliminated) (2) If no matching filter or marker is found in the tuple, then there cannot be any matching filters in right half of the row. (Lemma 2). (PS. right half of the row can be eliminated)

13 Binary search scheme (cont.)

14 Binary search scheme (cont.) Lemma 1. If there exists a filter or marker M matching packet P in tuple (i, j), all columns k < I (columns in the left half) can be eliminated from search space using pre-computation. Lemma 2. If there does not exist any marker (or filter) matching packet P in column i of tuple space, all columns k >= i (columns in the right half) can be eliminated from search space.

15 Binary search scheme(cont.) An Example: Filters F 1 = (1011*, 001*) and F 2 = (0110*, 11001*). F 1 maps to tuple (4, 3) and F 2 maps to tuple (4, 5). For finding any matching filter from column 4, we can take the 4 bits from field 1 and concatenate the prefix for field 2 from filters F 1 and F 2. In order to determine whether or not there exists a matching marker in column i, a best matching prefix lookup can be performed: Binary search algorithm Lemma 3. The Binary Search on Columns algorithm finds the best matching filter in O(log2w) hash probes.

16 Binary search scheme(cont.) For reducing memory requirement, a balanced binary search tree can be created on columns. height of the balanced binary tree is O(logw), number of markers is bounded by O(nlogw), total memory requirement by O(nlog2w). Rectangle Search algorithm : (See Fig.3) Given a packet header P, we start by probing the tuple at the bottom-left of the tuple space.

17 Binary search Algorithm construction of markers for binary search on columns

18 Binary search Algorithm (cont.) construction of secondary-markers

19 Binary search Algorithm (cont.) complete Binary Search on Columns algorithm for filter lookup

20 Binary search Algorithm (cont.) complete Binary Search on Columns algorithm for filter lookup

21 Experimental results

22 Experimental results (cont.)

23 Experimental results (cont.)

24 Conclusions have presented an algorithm that performs lookups in O(log2w) time on 2-field conflict-free filters. This is the fastest 2D filter lookup algorithm with small memory costs known to the authors. The average case performance of this algorithm significantly better than other algorithms in literature for two-dimensional conflict-free filter. The proposed algorithm also has very good space complexity of O(nlog2w). The proposed algorithm is scalable to large filter sets and can be implemented very easily in software.