Packet Classification # 3 Ozgur Ozturk CSE 581: Internet Technology Winter 2002 Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur.

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.
Internet Routers
Fast Updating Algorithms for TCAMs Devavrat Shah Pankaj Gupta IEEE MICRO, Jan.-Feb
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
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.
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.
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.
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.
BTrees & Bitmap Indexes
CSIE NCKU High-performance router architecture 高效能路由器的架構與設計.
Packet Classification on Multiple Fields Pankaj Gupta and Nick McKeown Stanford University {pankaj, September 2, 1999.
15-744: Computer Networking L-4 Routers. L -4; © Srinivasan Seshan, Routing How do routers process IP packets Forwarding lookup algorithms.
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.
CS 268: Route Lookup and Packet Classification Ion Stoica March 11, 2003.
Performance Evaluation of IPv6 Packet Classification with Caching Author: Kai-Yuan Ho, Yaw-Chung Chen Publisher: ChinaCom 2008 Presenter: Chen-Yu Chaug.
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:
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.
March 1, Packet Classification and Filtering for Network Processors JC Ho.
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:
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
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.
Applied Research Laboratory Edward W. Spitznagel 7 October Packet Classification for Core Routers: Is there an alternative to CAMs? Paper by: Florin.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Wire Speed Packet Classification Without TCAMs ACM SIGMETRICS 2007 Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison)
Packet Classification on Multiple Fields 참고 논문 : Pankaj Gupta and Nick McKeown SigComm 1999.
Applied Research Laboratory Edward W. Spitznagel 24 October Packet Classification using Extended TCAMs Edward W. Spitznagel, Jonathan S. Turner,
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
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,
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
A Small IP Forwarding Table Using Hashing Yeim-Kuan Chang and Wen-Hsin Cheng Dept. of Computer Science and Information Engineering National Cheng Kung.
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.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
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.
Packet classification on Multiple Fields Authors: Pankaj Gupta and Nick McKcown Publisher: ACM 1999 Presenter: 楊皓中 Date: 2013/12/11.
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
Dynamic Pipelining: Making IP-Lookup Truly Scalable Jahangir Hasan T. N. Vijaykumar Presented by Sailesh Kumar.
Packet Classification Using Multidimensional Cutting Sumeet Singh (UCSD) Florin Baboescu (UCSD) George Varghese (UCSD) Jia Wang (AT&T Labs-Research) Reviewed.
Dynamic Algorithms with Worst-case Performance for Packet Classification Pankaj Gupta and Nick McKeown Stanford University {pankaj,
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
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.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
IP Routers – internal view
Transport Layer Systems Packet Classification
Packet Classification Using Coarse-Grained Tuple Spaces
Scalable Multi-Match Packet Classification Using TCAM and SRAM
Network Layer: Control/data plane, addressing, routers
High-performance router/switch architecture 高效能路由器/交換器的 架構與設計
Presentation transcript:

Packet Classification # 3 Ozgur Ozturk CSE 581: Internet Technology Winter 2002 Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

2 Introduction Importance Identify the context of packets  Apply necessary actions Differentiated services Memory and Time Efficiency Must handle Ks of rules Must be at wire-speed (No queuing) Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

3 Packet Classification # 3 Paper List T. Lakshman, D. Stiliadis, "High-Speed Policy-based Packet Forwarding Using Efficient Multi-dimensional Range Matching” [Bit-Parallelism] F. Baboescu, G. Varghese, "Scalable Packet Classification” [ABV: Agregated Bit Vector] M. Buddhikot, S. Suri, M. Waldvogel, "Space Decomposition Techniques for Fast Layer-4 Switching“ [Space Decomposition] V. Srinivasan, G. Varghese, S. Suri, M. Waldvogel, "Fast and Scalable Layer Four Switching“ [Paper4] Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

4 Bit-Parallelism Paper-Intro. Presents packet classification schemes traffic-independent and worst-case performance metric a few K rules, at rates of M packets per second using range matches on more than 4 packet header fields Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

5 Bit-Parallelism Paper Requirement for Real-Time Operation Traditional router architectures flow-cache architectures to classify packets identified flows are expected to arrive in near future Current backbone routers  active flows extremely high OC-3 links, 256K flows  Cashes implemented as hash tables scales well to that size Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

6 Bit-Parallelism Paper Requirement for Real-Time Operation 2 - Hash-Table Prob.s Good hash function is non-trivial 100 to 200 bits of header to be randomly distributed to no more than 20 to 24 bits of hash index header value distribution is unknown Performance of cache-based schemes is heavily traffic dependent Malicious Users limitations of hashing algo. & cashing techniques Packet queuing delays acceptable after classification Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

7 Bit-Parallelism Paper Packet Classification Constraints Scale to large routers with Gigabit links. Process at wire-speed 75% of packets < typical TCP packet size (552 bytes) Nearly half are 40 to 44 bytes (TCP Ack) Rules on several fields, specifying ranges, exact matches and prefixes Two prefix fields in some cases Allow arbitrary priorities for policies to allow distinction for multiple matches Optimize for lookups, sacrifice update performance lookup rate/update rate  Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

8 Memory access time; dominant factor in worst-case lookup execution time Amenable to hardware implementation Time vs. Space Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Packet Classification Constraints-2

9 Decomposable search to perform multi- dimensional search for packet filtering k-dimensional query  a set of 1-dimensional queries on 1-dimensional intervals Exploit parallelism where possible Seek poly-logarithmic solution Packet header fields  k-dimensions Filters  overlapping regions in the k- dimensional space Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper General Packet Classification

10 1st Algorithm Memory: k*n 2 O(n) bits per dimension Time:  log(2n)  +1 Memory access:  n/w  2nd Algorithm Memory reduce to O(n log n) bits Time increase constant Can be optimized for time and memory budget Exploit on-chip memory in traffic-independent manner, to speed up worst case. Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Efficiency of Proposed Algorithms

11 Notation Rule r m in k dimentions r m = (e 1,m, e2,m,…. e k,m ) e range Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

12 Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Algorithm demo on 2-D/Preprocessing 1

13 Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Algorithm demo on 2-D/Preprocessing 2 Max 2n+1 intervals for n rules

14 Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Algorithm demo on 2-D/Preprocessing 3 Sets of rules formed corresponding to each region

15 P1 (x*,y*) to be classified find intervals x* and y* belongs to  binary search   log(2n+1)  +1 comparisons/dimension Create Intersection of all sets  conjunction of corresponding bit vectors Highest Priority entry in the resultant bit vector Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Algorithm demo on 2-D/Online 1

16 Max Set Cardinality = O(n) Intersection step examines all rules at least ones  Time complexity = O(n) With bit-level parallelism The bitmaps representing sets stored in a (2n+1)*n array B j [i,1..n] (Ri,j set stored for each dimension)  k*n/w  memory accesses Different processing elements for each dimension in hardware implementation Prototype Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02 Bit-Parallelism Paper Algorithm demo on 2-D/Online 2

17 Different processing elements for each dimension in hardware implementation Prototype Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

18 Bit-Parallelism Paper- Algorithm 2 Packet Class. based on Inc. Reads Algorithm utilizes incremental reads to reduce required memory Allows time-space optimization and increases localization for off-chip SDRAM and wide on-chip memory implementations Consider a specific dimension j Assume maximum 2n+1 non-overlapping intervals Corresponding to intervals in an n-bit bitmap with the positions of the 1s indicating the filter rules that overlap this interval Adjacent intervals’ corresponding bitmaps differ in only one bit A single bitmap and 2n pointers of size log n to the differing bits can be used to reconstruct any bitmap Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

19 Bit-Parallelism Paper- Algorithm 2 Packet Class. based on Inc. Reads 2 Reduces space requirement to O(n log n) from O(n 2 ) Further Generalize (2n+1)/l bitmaps instead of 1  (2n+1)/2l  pointers needed Choose l by need  2n+1  memory reduce to O(n log n) Memory access increase  n/w  2n log n /w  Trade off decision according to on-chip/off- chip memory ratio. Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

20 Bit-Parallelism Paper- Algorithm 2 Special Case: 2-D Classification Necessary for best-effort traffic aggregation in Internet backbone Determine next hop and resource allocations based on destination and source addresses only Longest prefix match lookups  Restrict source prefix ranges to powers of 2 in order to reduce space  space requirement O(n) with trie implementation Virtual intervals  Map intervals of prefix lengths to both dimensions, sorted by length  “Virtual Intervals” allow worst-case lookup time of O(ls+log n) where ls is the number of possible prefix lengths Multicast group identification requires only two additional memory accesses Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

21 Bit-Parallelism Paper- Algorithm 2 Conclusions Packet classification, or filtering, is a useful primitive in connectionless networks to provide differentiated service and policy-based routing More recently, security and active processing Two multi-dimensional range matching algorithms allow millions of packets per second to be processed on a set of thousands of filter rules Robust and predictable worst-case performance Efficient 2-D algorithm for backbone routers with hundreds of thousands of routing entries Algorithms demonstrate that there may be no need to restrict filtering to edge routers Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

22 Paper4 Layer Four Switching Traditional router performs looking-up based on destination address Layer four switching provides increased flexibility: it gives a router the capability to distinguish and deal with traffics differently: Block traffic from dangerous site Provide QoS service for certain traffics Give preferential treatment to certain traffic (say, database flow). Difficulties: need layer four header information, which may not always available any modification of layer four header may cause problems Do not how to get header info when encrypted Some variants of L4S: Firewall Reservation protocols such as RSVP Routing based on traffic type, say web traffic

23 A packet P has k distinct header fields for lookup: H[1], …, H[k] The filter database of a Layer 4 Router consists of a finite set of filters: F 1, F 2, …, F N, each filter F i has an associated directive act i Match: each field of P matches the corresponding field of F Cost: used to determine an unambiguous match (say order of filters) An address range can always be transferred into a sequence of prefixes so we can use prefix match Paper4 The Best Matching Filter Problem Dest M T1 * Net * Src * S * T0 Net * DP * SP * 123 * SP * UDP * UDP * TCP-ACK * A filter database A packet example: (M, S, UDP, 53, 125)

24 Paper4 Set Pruning Trees (1) Build a trie on the destination prefixes in the database Each valid prefix in the destination trie points to a trie containing some source prefixes. A single filter may be fit into multiple destination prefixes, thus has multiple source trie copies. Memory space: O(N 2 ) Time complexity: O(N)

25 Set Pruning Trees (2) Dest-Trie Src-Trie F1 F7F2F5F7F2F7 F6 F3 F4 E.g.: Looking for: (001, 001)

26 Avoid the Memory Blowup (1) Avoid the copying by having each destination prefix D point to a source trie that stores the filters whose destination field is exactly D When searching, may need go back to the destination trie for multiple times Time complexity: O(W 2 ) Space complexity: O(NW)

27 Avoid the Memory Blowup (2) Dest-Trie Src-Trie F1F5F2F7 F6 F3 F4 E.g.: Looking for: (001, 001) Memory requirement=O(NW) Lookup Worst Case= O(W 2 )

28 Improving Search Time: Basic Grid-of-Tries (1) Basic idea: Use pre-computation and switch pointers (in the lower lever tries) to speed up search in a later source trie base on the search in an earlier source trie. (Remember the previous searching result) Role of switch pointer Allow us to increase the length of the matching source prefix, without having to restart at the root of the next ancestor source trie. Stored Filter: node (D,S) stores the least cost filter whose dest field is a prefix of D and src field is a prefix of S Time complexity: 2W Space complexity: O(NW)

29 Improving Search Time: Basic Grid-of-Tries (2) Dest-Trie Src-Trie F1F5F2F7 F6 F3 F x y E.g.: Looking for: (001, 001)

30 Further Improvement & Extension Use some faster scheme for destination address matching Time complexity O(W)  O(log W) Use multi-bit tries for source address matching Time complexity O(W)  O(W/k) Extend Grid-of-tries to handle protocol and port fields 3 GOT copies for TCP, UDP and OTHER respectively, 4 hash tables for 4 port combinations:  both unspecified, destination only, source only, both specified

31 How-to Slice filter database into column, the i-th column storing all distinct prefixes in field i. Make a cross-product table of all k columns Pre-compute the least cost filter that matches each cross-product entry When packet comes in, do best prefix matching for each field respectively With matching results, find out the corresponding entry in the cross-product table Discussion Very fast (for matching) Problem: memory explosion: N^k Solution: On Demand Cross-Producting Cross-Producting (1)

32 Cross-Producting (2) Dest Prefix Src Prefix DestPort Prefix SrcPort Prefix Flags Prefixes M T1 Net Default S T0 Net Default Default 123 Default UDP TCP- ACK Default NumCrossProductMatching Filter … M, S, 25, 123, UDP M, S, 25, 123, TCP-ACK M, S, 25, 123, default M, S, 25, default, UDP M, S, 25, default, TCP-ACK M, S, 25, default, default … default,default,default,default,TCP-ACK default,default,default,default,default F1 … F8 E.g. Looking for: (M,S,UDP,25,57) Dest M T1 * Net * Src * S * T0 Net * DP * SP * 123 * SP * UDP * UDP * TCP-ACK *

33 Conclusions GOT solution scalable (linear) storage & fast lookups for D-S filters. More general filters  high lookup cost Cross-Producting solution, higher variance, but faster on average (for lookup) because of cashing need. Hybrid scheme combines flexibility with efficiency. Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

34 ABV: "Scalable Packet Classification” F. Baboescu, G. Varghese, GOAL Packet classification  scalable (in rules, upto 100,000)  wire speed Past Work Linear time search Linear amount of TCAMS Lucent scheme  worst case doesn't scale Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

35 SOLUTION Aggregated Bit Vector improvement on Lucent bit vector rule aggregation rule rearrangement Rule Aggregation bit vectors are sparse  i.e., few rules match Some compression scheme Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

36 SOLUTION continued Rule Rearrangement overlap is rare place rules w/ common values together sort out rule ordering later Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

37 Comparing ABV w/ BV of Lucent Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

38 Results At least an order magnitude faster than BV Scales well for memory access Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

39 Paper # 3 “Space Decomposition Techniques for Fast Layer-4 Switching" M. Buddhikot, S. Suri, M. Waldvogel new scheme, based on space decomposition, whose search time is comparable to the best existing schemes, but which also offers fast worst-case filter update time. three key ideas innovative data-structure based on quadtrees for a hierarchical representation of the recursively decomposed search space fractional cascading and precomputation to improve packet classification time prefix partitioning to improve update time Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02

40 Space Decomposition Evaluation Depending on the actual requirements of the system this algorithm is deployed in, a single parameter  can be used to tradeoff search time for update time. Amenable to fast software and hardware implementation. For N two-dimensional filters specified using prefixes of up to W bits in length, Area-based Quadtrees (AQT) data structure requires O(N) space, O(  W) search time, and O(  (N) 1/  ) Both the average and worst-case search times and memory consumption are comparable or better than other schemes known in the literature. Packet Classification # 3CSE 581: Internet Technology (Winter 2002)Ozgur Ozturk02/11/02