Applied Research Laboratory Edward W. Spitznagel 7 October 20151 Packet Classification for Core Routers: Is there an alternative to CAMs? Paper by: Florin.

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

Router/Classifier/Firewall Tables Set of rules—(F,A)  F is a filter Source and destination addresses. Port number and protocol. Time of day.  A is an.
Packet Classification using Hierarchical Intelligent Cuttings
Balajee Vamanan, Gwendolyn Voskuilen, and T. N. Vijaykumar School of Electrical & Computer Engineering SIGCOMM 2010.
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
Spring 2006CS 685 Network Algorithmics1 Principles in Practice CS 685 Network Algorithmics Spring 2006.
Network Algorithms, Lecture 4: Longest Matching Prefix Lookups George Varghese.
1 An Efficient, Hardware-based Multi-Hash Scheme for High Speed IP Lookup Hot Interconnects 2008 Socrates Demetriades, Michel Hanna, Sangyeun Cho and Rami.
Fast Firewall Implementation for Software and Hardware-based Routers Lili Qiu, Microsoft Research George Varghese, UCSD Subhash Suri, UCSB 9 th International.
Bio Michel Hanna M.S. in E.E., Cairo University, Egypt B.S. in E.E., Cairo University at Fayoum, Egypt Currently is a Ph.D. Student in Computer Engineering.
Ultra-High Throughput Low-Power Packet Classification
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
Outline Introduction Related work on packet classification Grouper Performance Empirical Evaluation Conclusions.
Survey of Packet Classification Algorithms. Outline Background and problem definition Classification schemes – One dimensional classification – Two dimensional.
A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
On the Code Length of TCAM Coding Schemes Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) 1.
Efficient Multi-match Packet Classification with TCAM Fang Yu Randy H. Katz EECS Department, UC Berkeley {fyu,
Fast Filter Updates for Packet Classification using TCAM Authors: Haoyu Song, Jonathan Turner. Publisher: GLOBECOM 2006, IEEE Present: Chen-Yu Lin Date:
CSIE NCKU High-performance router architecture 高效能路由器的架構與設計.
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
1 Energy Efficient Multi-match Packet Classification with TCAM Fang Yu
CS 268: Lectures 13/14 (Route Lookup and Packet Classification) Ion Stoica April 1/3, 2002.
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
Performance Evaluation of IPv6 Packet Classification with Caching Author: Kai-Yuan Ho, Yaw-Chung Chen Publisher: ChinaCom 2008 Presenter: Chen-Yu Chaug.
Efficient Multi-Match Packet Classification with TCAM Fang Yu
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:
SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification Fang Yu 1 T. V. Lakshman 2 Martin Austin Motoyama 1 Randy H. Katz 1 1 EECS.
Packet Classification George Varghese. Original Motivation: Firewalls Firewalls use packet filtering to block say ssh and force access to web and mail.
CS 268: Route Lookup and Packet Classification
Algorithms for Advanced Packet Classification with TCAMs Karthik Lakshminarayanan UC Berkeley Joint work with Anand Rangarajan and Srinivasan Venkatachary.
Worst-Case TCAM Rule Expansion Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
Address Lookup in IP Routers. 2 Routing Table Lookup Routing Decision Forwarding Decision Forwarding Decision Routing Table Routing Table Routing Table.
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
IP Address Lookup Masoud Sabaei Assistant professor
Layered Interval Codes for TCAM-based Classification David Hay, Politecnico di Torino Joint work with Anat Bremler-Barr (IDC), Danny Hendler (BGU) and.
Timothy Whelan Supervisor: Mr Barry Irwin Security and Networks Research Group Department of Computer Science Rhodes University Hardware based packet filtering.
Wire Speed Packet Classification Without TCAMs ACM SIGMETRICS 2007 Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison)
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Packet Classification on Multiple Fields 참고 논문 : Pankaj Gupta and Nick McKeown SigComm 1999.
Packet Classifiers In Ternary CAMs Can Be Smaller Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison) Jia Wang.
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
Applied Research Laboratory Edward W. Spitznagel 24 October Packet Classification using Extended TCAMs Edward W. Spitznagel, Jonathan S. Turner,
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh 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,
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification Yadi Ma, Suman Banerjee University of Wisconsin-Madison.
TCAM –BASED REGULAR EXPRESSION MATCHING SOLUTION IN NETWORK Phase-I Review Supervised By, Presented By, MRS. SHARMILA,M.E., M.ARULMOZHI, AP/CSE.
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:
CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
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.
Packet Classification Using Multidimensional Cutting Sumeet Singh (UCSD) Florin Baboescu (UCSD) George Varghese (UCSD) Jia Wang (AT&T Labs-Research) Reviewed.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
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 :
Ofir Luzon Supervisor: Prof. Michael Segal Longest Prefix Match For IP Lookup.
IP Address Lookup Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology.
IP Routers – internal view
Toward Advocacy-Free Evaluation of Packet Classification Algorithms
Transport Layer Systems Packet Classification
Indexing and Hashing Basic Concepts Ordered Indices
Packet Classification Using Coarse-Grained Tuple Spaces
Presentation transcript:

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification for Core Routers: Is there an alternative to CAMs? Paper by: Florin Baboescu, Sumeet Singh, George Varghese Presentation by: Edward W. Spitznagel

Applied Research Laboratory Edward W. Spitznagel 7 October Outline Introduction Packet Classification Problem Extended Grid-of-Tries (EGT) –Grid-of-Tries –Extending Grid-of-Tries into EGT –Path Compression –Results Summary

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification Problem Suppose you are a firewall, or QoS router, or network monitor... You are given a list of rules (filters) to determine how to process incoming packets, based on the packet header fields Goal: when a packet arrives, find the least-cost rule that matches the packet’s header fields Source Address 11* 01* Destination Address 01* 0010 * 101* Filter a b c d Source Port * Destination Port * * Protocol TCP UDP * ICMP Action fwd 7 fwd 2 deny fwd 5 Cost

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification Problem Example: packet arrives with header (0101, 0010, 3, 5, UDP) –classification result: filter c –filter b also matches, but, c has lower cost Easy when we have only a few rules; very hard with 100,000 rules and packets arriving at 40 Gb/s Source Address 11* 01* Destination Address 01* 0010 * 101* Filter a b c d Source Port * Destination Port * * Protocol TCP UDP * ICMP Action fwd 7 fwd 2 deny fwd 5 Cost

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification - Metrics Metrics for evaluating classification algorithms: –Time complexity of classifying a packet  often expressed as the number of memory accesses required –Storage requirements of data structures –Number of fields that can be handled

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification in Core Routers Many core routers have “fairly large” (e.g rule) databases –Expected to grow; in fact, may be limited by current technology Classification in core routers must be done quickly –Emerging core routers operate at 40Gb/s. With 40- byte packets, that means one packet every 8 nsec Thus the general belief that brute-force hardware (TCAMs) will be necessary to support packet classification in core routers

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification - TCAM disadvantages Ternary CAMs (TCAM) have disadvantages –Density Scaling: transistors per bit of TCAM (vs. 4-6 transistors per bit of SRAM) –Power Scaling: due to performing all comparisons in parallel. –Time Scaling: 5-10 nsec for a TCAM operation –Extra Chips: requires TCAM chip(s) and bridge ASIC –Rule Multiplication for ranges: arbitrary ranges are represented by sets of prefixes; very inefficient. Thus, we consider an algorithmic solution...

Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification trends Packet classification in 2D: several good methods –Grid of Tries, Area-based QuadTrees, FIS-trees, Tuple- space search, range trees and fractional cascading Classification in k dimensions, where k>2, is hard –O(log K-1 N) time and linear space, or O(log N) time and O(NK) space, for N filters in K dimensions Modern algorithms: use heuristics to exploit the structure and properties that real-world filter databases tend to have. –Example: RFC and HiCuts algorithms

Applied Research Laboratory Edward W. Spitznagel 7 October Extended Grid of Tries (EGT) Observation: Core router tables studied have a low maximum filter depth in the 2D space defined by  in this case, “low” means 20 or less  i.e. no point in this 2D plot of filters is covered by more than 20 filters 0xFFFF 0 0 Source Address Dest.Address a b c d 0xFFFF

Applied Research Laboratory Edward W. Spitznagel 7 October Extended Grid of Tries (EGT) The Basic Idea: –Use an existing 2D scheme to classify with respect to Source IP and Dest. IP –Then, do linear search over a small list of possible matches (at most 20, but typically around 5) EGT: use Grid-of-Tries as the 2D scheme

Applied Research Laboratory Edward W. Spitznagel 7 October Grid of Tries - Intuition Imagine a search trie containing Dest. Address prefixes Now add a Source Address trie under each Dest. prefix –Filters are stored in these tries, perhaps multiple times

Applied Research Laboratory Edward W. Spitznagel 7 October Grid of Tries - Intuition Reduce storage by storing each filter only once –But we now need to backtrack to ancestors’ source tries during a search...

Applied Research Laboratory Edward W. Spitznagel 7 October Grid of Tries Use switch pointers to improve search efficiency –allows us to jump to the next source trie among ancestors, instead of backtracking

Applied Research Laboratory Edward W. Spitznagel 7 October Extended Grid of Tries EGT uses jump pointers instead of switch pointers –EGT requires the 2D search to return all filters matching in those dimensions –Thus, some of the nodes skipped by a switch pointer cannot be skipped in an EGT search So, search complexity is a bit higher than in ordinary Grid-of-Tries –worst case search takes W+(H+1)*W = (H+2)*W time, where W=time to find best prefix in a single trie, and H=max trie height (H=32 for IPv4) –but, the authors expect typically it takes L*W with L being a small value (reflecting the low maximum prefix containment seen in most filter databases)

Applied Research Laboratory Edward W. Spitznagel 7 October EGT with Path Compression (EGT-PC) EGT-PC adds Path Compression whereby single branching paths are removed –Improves search time and storage requirements, particularly for small filter sets

Applied Research Laboratory Edward W. Spitznagel 7 October EGT-PC: Results Storage requirements: impressively low (almost as low as TCAM!) –since we store each filter only once  Storage, in terms of number of 32-bit words Classification time is good, but not as impressive –also a result of storing each filter once: we therefore may need to traverse multiple Source tries  Memory accesses, in terms of 32-bit word accesses

Applied Research Laboratory Edward W. Spitznagel 7 October EGT-PC: Results Memory usage by component: Storage for list is proportional to number of filters Storage for trie is roughly proportional to number of filters Path compression reduces storage by a factor of 3, roughly

Applied Research Laboratory Edward W. Spitznagel 7 October EGT-PC: Results with larger databases Larger databases are generated using smaller ones as a core –randomly generated prefixes for Source Address and Destination Address, using the prefix length distributions from the original databases –Other fields are randomly derived from the distributions in the original databases Memory Accesses: still not bad, even for large databases Storage Requirements: still appear to be linear

Applied Research Laboratory Edward W. Spitznagel 7 October EGT-PC: Remarks May only work well with core routers Lookups: –faster than HiCuts; not as fast or as deterministic as RFC. –can easily be characterized by maximum 2D filter depth Storage requirements: quite good –using Grid-of-Tries for the 2D scheme is a wise choice (storage efficiency) Very nice to have results comparing several different algorithms (unlike nearly all previous papers) It is possible to apply the basic EGT idea, but with a different 2D scheme –Tuple Space, FIS-trees, RFC in 2D, and perhaps Area-based QuadTrees –The trick is that the 2D scheme must be modified to return all filters matching those 2 dimensions (rather than just the least-cost filter matching those 2 dimensions)

Applied Research Laboratory Edward W. Spitznagel 7 October Comparison of different algorithms BestWorst Lookup Speed Storage Requirements RFC Linear Search Linear Search EGT EGT-PC HiCuts-1TCAM EGT-PC HiCuts-4 BestWorst EGTHiCuts-1HiCuts-4

Applied Research Laboratory Edward W. Spitznagel 7 October Summary Packet Classification: Given packet P and list of filters F, find least cost filter in F that matches P –Important metrics: Lookup time, data structure size Extended Grid of Tries –Core routers have a low maximum filter depth in the 2D space defined by –Thus, we can perform a 2D search via Grid of Tries, and then  and we can add path compression to the trie –Lookup time is fairly good; storage requirements are very good.

Applied Research Laboratory Edward W. Spitznagel 7 October Thanks -- Questions? ?

Applied Research Laboratory Edward W. Spitznagel 7 October Backup slides to follow...

Applied Research Laboratory Edward W. Spitznagel 7 October Geometric Representation Filters with K fields can be represented geometrically in K dimensions Example: Source Address Source Port Source AddressSource PortFilter xxx2-3a bxx17c a b cccc

Applied Research Laboratory Edward W. Spitznagel 7 October Most popular practical approach to high-performance packet classification Hardware compares query word (packet header) to all stored words (filters) in parallel –each bit of a stored word can be 0, 1, or X (don’t care) Very fast, but not without drawbacks: –High power consumption limits scalability –inefficient representation of ranges Ternary CAMs

Applied Research Laboratory Edward W. Spitznagel 7 October Source Address Destination Address Filter 11xxxxxxa 0xxx01xxb xxxx0110c Query: Match! Doesn’t Match Match! (Now perform priority resolution...) Packet: Src. Addr.Dest. Addr. ContentsAddress 11xxxxxx0 0xxx01xx1 xxxx01102 TCAM Ternary CAM - Example

Applied Research Laboratory Edward W. Spitznagel 7 October Range Matching in TCAMs Convert ranges into sets of prefixes –1-4 becomes 001, 01*, and 100 –3-5 becomes 011 and 10* Source Port Destination Port F Source PortDestination PortFilter F

Applied Research Laboratory Edward W. Spitznagel 7 October Range Matching in TCAMs With two 16-bit range fields, a single rule could require up to 900 TCAM entries! Typical case: entire filter set expands by a factor of 2 to Source Port Destination Port bc ef a d Source PortDestination PortFilter 00110*a01*10*b10010*c001011d01*011e100011f