Cs6390 summer 2000 Tradeoffs for Packet Classification 1 Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong.

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

Planar point location -- example
August 17, 2000 Hot Interconnects 8 Devavrat Shah and Pankaj Gupta
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
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Fast Firewall Implementation for Software and Hardware-based Routers Lili Qiu, Microsoft Research George Varghese, UCSD Subhash Suri, UCSB 9 th International.
Fast Algorithms For Hierarchical Range Histogram Constructions
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Dynamic Planar Convex Hull Operations in Near- Logarithmic Amortized Time TIMOTHY M. CHAN.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
Types of Algorithms.
A Fast and Memory Efficient Dynamic IP Lookup Algorithm Based on B-Tree Author:Yeim-Kuan Chang and Yung-Chieh Lin Publisher: 2009 International Conference.
IP Routing Lookups Scalable High Speed IP Routing Lookups.
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.
Binary Trees, Binary Search Trees CMPS 2133 Spring 2008.
Tries Standard Tries Compressed Tries Suffix Tries.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
Packet Classification on Multiple Fields Pankaj Gupta and Nick McKeown Stanford University {pankaj, September 2, 1999.
CS 268: Lectures 13/14 (Route Lookup and Packet Classification) Ion Stoica April 1/3, 2002.
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
CS 268: Route Lookup and Packet Classification Ion Stoica March 11, 2003.
1 Geometric Solutions for the IP-Lookup and Packet Classification Problem (Lecture 12: The IP-LookUp & Packet Classification Problem, Part II) Advanced.
張 燕 光 資訊工程學系 Dept. of Computer Science & Information Engineering,
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
CS 268: Route Lookup and Packet Classification
Orthogonal Range Searching I Range Trees. Range Searching S = set of geometric objects Q = query object Report/Count objects in S that intersect Q Query.
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 SD-Rtree: A Scalable Distributed Rtree Witold Litwin & Cédric du Mouza & Philippe Rigaux.
Chapter 19: Binary Trees. Objectives In this chapter, you will: – Learn about binary trees – Explore various binary tree traversal algorithms – Organize.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
Binary Trees, Binary Search Trees RIZWAN REHMAN CENTRE FOR COMPUTER STUDIES DIBRUGARH UNIVERSITY.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
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.
Mehdi Mohammadi March Western Michigan University Department of Computer Science CS Advanced Data Structure.
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,
Layer 3: Internet Protocol.  Content IP Address within the IP Header. IP Address Classes. Subnetting and Creating a Subnet. Network Layer and Path Determination.
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
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.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
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:
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.
Packet Classification Using Multidimensional Cutting Sumeet Singh (UCSD) Florin Baboescu (UCSD) George Varghese (UCSD) Jia Wang (AT&T Labs-Research) Reviewed.
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.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
A Classification for Access Control List To Speed Up Packet-Filtering Firewall CHEN FAN, LONG TAN, RAWAD FELIMBAN and ABDELSHAKOUR ABUZNEID Department.
UNC Chapel Hill M. C. Lin Geometric Data Structures Reading: Chapter 10 of the Textbook Driving Applications –Windowing Queries Related Application –Query.
IP Routers – internal view
DATA STRUCTURES AND OBJECT ORIENTED PROGRAMMING IN C++
B+ Tree.
Indexing and Hashing Basic Concepts Ordered Indices
Packet Classification Using Coarse-Grained Tuple Spaces
Scalable Multi-Match Packet Classification Using TCAM and SRAM
CMPS 3130/6130 Computational Geometry Spring 2017
Dynamic rectangular intersection with priorities
Dynamic rectangular intersection with priorities
Presentation transcript:

cs6390 summer 2000 Tradeoffs for Packet Classification 1 Tradeoffs for Packet Classification Members: Jinxiao Song & Yan Tong

cs6390 summer 2000 Tradeoffs for Packet Classification 2 Objectives To present an algorithm for solving the packet classification(PC) problem that allows various access time vs. memory tradeoffs concentrate on software solution for flow control: algorithm, data structure…etc

cs6390 summer 2000 Tradeoffs for Packet Classification 3 What’s the packet classification problem? Identifies the flow a packet belongs to, based on one or more fields in the packet header

cs6390 summer 2000 Tradeoffs for Packet Classification 4 How to classify the packets? packet header fields (dimensions) –destination and source IP addresses –protocol type –source and destination port numbers rules for classification –valid ranges for any of the header fields

cs6390 summer 2000 Tradeoffs for Packet Classification 5 Approaches to the problem multi-dimensional PC problem one-dimensional PC problem reduce dynamic PC problem static PC problem reduce

cs6390 summer 2000 Tradeoffs for Packet Classification 6 Requirements for packet classification Since this algorithm can be engineering to particular applications, so let find what is problem requirement from software engineering –Resource limitations tradeoff time to perform the classification per packet vs.memory used –Number of rules to be supported expect to scale up –Number of fields( dimensions ) used –Nature of rules some current routers use one field destination IP address

cs6390 summer 2000 Tradeoffs for Packet Classification 7 requirements (cont.) –Updating the set of rules the number of change to the rules either due to a route or policy change solutions must adapt gracefully and quickly to such updates without hurting access performance –Worse case vs.Average case –focus on worst case rather than average case

cs6390 summer 2000 Tradeoffs for Packet Classification 8 Problem specification given –a rule set R={ r 1,…,r n } of rules over d fields –each rule consists of ranges r i =[F i 1,..,F i d ] F i j is a range of values the field j may take –each rule with a cost –each query is a packet p={f 1,…,f d } where f i is a single value find –The least cost rule applies to the packet

cs6390 summer 2000 Tradeoffs for Packet Classification 9 What’s the key of authors’ algorithm? reduces the multi-dimensional packet classification problem to solving a few instances of the one-dimensional IP look up problem rules have a natural geometric interpretation in d-dimensions.

cs6390 summer 2000 Tradeoffs for Packet Classification 10 1-D 2-D 3D

cs6390 summer 2000 Tradeoffs for Packet Classification 11 What’s the one-dimensional PC problem? Given: –a set of n rules possibly overlapping intervals from [1…U] U-----the range of IP addresses –each rule with a cost

cs6390 summer 2000 Tradeoffs for Packet Classification 12 cont. find: –look up queries for point q  [ 1..U ] by identifying the smallest cost rule that contains q One dimensional PC problem has two special cases, they are bases for solving general one dimensional PC problem

cs6390 summer 2000 Tradeoffs for Packet Classification 13 Two special cases The IP Lookup(IPL) problem The Range Location(RL) problem

cs6390 summer 2000 Tradeoffs for Packet Classification 14 IP Look up problem( IPL ) classify packet based on the destination IP addresses each range is a prefix of an IP address goal:determine the least cost rule that is a prefix of q each query q is an IP address Basically, the IPL problem is giving a set of prefixes and address d(packet address), we want to find the longest matching prefix of d in routing table

cs6390 summer 2000 Tradeoffs for Packet Classification 15 Range Location problem( RL ) ranges are non-overlapping(elementary interval) completely cover the specified series of left end points of the intervals in the sorted order each query is an integer goal:determine the interval that contains q

cs6390 summer 2000 Tradeoffs for Packet Classification 16 Example: elementary intervals Elementary Intervals Ranges for rule

cs6390 summer 2000 Tradeoffs for Packet Classification 17 How to solve the RL? Reduce the RL to IPL based on a theorem: –Consider any instance I of the RL problem with N point in the range 1..U.We can derive an instance I’ of IPL with at most 2N prefixes,each a string of length at most a =  logU .Each query I for the PL problem can be transformed into an IP address of length at most a for the IPL problem on set I’

cs6390 summer 2000 Tradeoffs for Packet Classification 18 Example:reduction of RL to IPL RL problem: {0000, 0010, 1000, 1110, 1111}

cs6390 summer 2000 Tradeoffs for Packet Classification 19 RL  IPL cont. converted IPL problem with prefixes: {000x, 001x, 0xxx, 1xxx, 10xx, 11xx, 1110, 1111) routing table: prefixnext hop 0xxxR1 1xxxR4 10xxR5 11xxR8 000xR2 001xR3 1110R7 1111R6

cs6390 summer 2000 Tradeoffs for Packet Classification 20 Benefit of solution from RL to IPL used in the reduction: one-dimensional PC with arbitrary range rules  PC with only prefix while increasing the number of rules by at most a factor of two using the best known solutions for IPL to solve RL

cs6390 summer 2000 Tradeoffs for Packet Classification 21 Two - dimensional classification

cs6390 summer 2000 Tradeoffs for Packet Classification 22 What’s the two-dimensional PC problem? Given: a two-dimensional grid point q find : the smallest cost rectangle in R

cs6390 summer 2000 Tradeoffs for Packet Classification 23 1-D 2-D 3D

cs6390 summer 2000 Tradeoffs for Packet Classification 24 Data structure: FIS tree ( fat, inverted, segment tree ) data structure to support tradeoffs between access time and memory space S - a set of m segments t-ary tree l -level

cs6390 summer 2000 Tradeoffs for Packet Classification 25 FIS (cont.) balanced, inverted t-ary tree with l level leaves correspond to the elementary intervals in order larger interval is the union of the elementary intervals canonical set: the set of segments stored with a node

cs6390 summer 2000 Tradeoffs for Packet Classification 26 Properties of FIS the depth is log(m)/log(t) = l each segment is stored in at most 2t-1 nodes per level the collection of segments containing any point p is the union of l sets,the canonical subsets of the nodes on the search path of p in T; these sets are disjoint.

cs6390 summer 2000 Tradeoffs for Packet Classification 27 Preprocessing: according to 2-D PC problem construct: x-FIS tree y-set How to build the FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification 28 Example:construct of an x-FIS tree Elementary Intervals x-FIS tree (3,4) (2,8,1) (9,10) 3-ary

cs6390 summer 2000 Tradeoffs for Packet Classification 29 Example:construct of the y-FIS tree of one node v node v :canonical set (2,8,1) 5 x y

cs6390 summer 2000 Tradeoffs for Packet Classification 30 Query Processing: With 2-dimensional query point q = (q x, q y ) Reduce it to single instance of RL problem take advantage of the FIS tree Increase search speed

cs6390 summer 2000 Tradeoffs for Packet Classification 31 Steps for query processing Solve the RL problem on the x-set with query q x, get the leaf L x in the FIS tree representing the elementary interval containing q x Consider all successive parent of L x Search the y-sets associated with each parent of L x by solving the RL problem with q y for each nod. This determines the set of elementary interval that contain q from all y-sets. The smallest cost rectangle associated with these elementary intervals is returns as the solution.??? This can be thought of as solving the one-dimensional problem on the y-sets of the parents of L x, using FIS trees of only one level.

cs6390 summer 2000 Tradeoffs for Packet Classification 32 Theoretical results from query processing l-level x-FIS tree, n is the number of rules Memory space: O(ln 1+1/l ) Access time: (l+1)RL t (2n, U) The larger l is, the smaller the memory use and the larger the number of memory accesses

cs6390 summer 2000 Tradeoffs for Packet Classification 33 Multi-Dimensional classification construct a FIS tree on the first dimension and recursively construct our data structure on the remaining dimensions for each of the canonical sets in this FIS tree. The FIS TREE for the last dimension will be of level one just as in the two - dimensional case.

cs6390 summer 2000 Tradeoffs for Packet Classification 34 Dynamic PC problem: dynamic RL problem: at most twice the number of memory access as the solution to the static RL problem. (the penalty can be avoided by using a cacheline twice as wide). incremental classification: relax the degree of the FIS tree, dynamic classification: relax the delta canonical set of node and the degree of the FIS tree dynamic PCdynamic RL insert (incremental classification)split delete(dynamic classification)merge

cs6390 summer 2000 Tradeoffs for Packet Classification 35 Example:construct of an x-FIS tree Elementary Intervals x-FIS tree (3,4) (2,8,1) (9,10) 3-ary

cs6390 summer 2000 Tradeoffs for Packet Classification 36 Principle for solving dynamic PC : Make data structure(FIS tree) flexible but not destroy its global stability: dynamic PC  dynamic RL  static RL relax the degree of the FIS tree:the cost of lookup remains essential unchanged while increase the use of memory maintain the current data structure so that delta canonical sets are small incremental classification: incremental FIS tree

cs6390 summer 2000 Tradeoffs for Packet Classification 37 Various Tradeoffs in classification: static PC problem: the larger l (levels of FIS tree) is, the small the memory use and the larger the number of memory access will be choose appropriate solutions for the subproblems the order in which the dimensions must be considered

cs6390 summer 2000 Tradeoffs for Packet Classification 38 Additional considerations for dynamic PC problem: choice of the branching factor. multiplex the updating of the tree with performing the lookups, although this requires careful implementation. batch updates and perform them more efficiently than doing each individual update separately.

cs6390 summer 2000 Tradeoffs for Packet Classification 39 Experimental study: algorithms tested performance metrics:measuring the memory accesses, measuring the memory usage For small rulesets (up to a few K rules), one level FIS tree suffices. The space used is a few 100k bytes and the number of memory accesses is less than 10. For few 10 K rules, 2 level FIS tree, space is a few Mbytes, memory access is about 15. For very large dataset(10^6 rules), 2-3 level FIS tree, space 100 Mbytes, memory access is up to 18

cs6390 summer 2000 Tradeoffs for Packet Classification 40 Related work: Many research in this area Motivation is to explore if software based solutions can perform lookups at high linespeed.

cs6390 summer 2000 Tradeoffs for Packet Classification 41 Conclusions: 1.Using a “fat” hierarchy of canonical sets to decrease the number of sets to be searched per query 2.Locating the canonical sets to be searched by processing up from the leaves using the inverted edges of FIS tree 3.Locating the leaves in FIS trees using the standard IPL problem, thereby leveraging off best known hardware and software solutions for it 4.Using FIS tree nodes with flexible degree to allow moderate number of updates without degrading the lookup performance significantly 5.Reducing the universe size using IPL problem before applying our solutions thereby reducing the memory accesses for each consequent IPL solution