CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.

Slides:



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

A Search Memory Substrate for High Throughput and Low Power Packet Processing Sangyeun Cho, Michel Hanna and Rami Melhem Dept. of Computer Science University.
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.
Internet Routers
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.
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.
© 2009 Cisco Systems, Inc. All rights reserved. SWITCH v1.0—4-1 Implementing Inter-VLAN Routing Deploying Multilayer Switching with Cisco Express Forwarding.
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.
A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings.  Fixed length – 0110, 0010, 1010,  Variable.
Router Architecture : Building high-performance routers Ian Pratt
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
15-744: Computer Networking L-3 Addressing/Forwarding.
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings.  Fixed length – 0110, 0010, 1010,  Variable.
Big, Fast Routers Dave Andersen CMU CS
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.
CS 268: Route Lookup and Packet Classification Ion Stoica March 11, 2003.
Parallel-Search Trie-based Scheme for Fast IP Lookup
1 Energy Efficient Packet Classification Hardware Accelerator Alan Kennedy, Xiaojun Wang HDL Lab, School of Electronic Engineering, Dublin City University.
張 燕 光 資訊工程學系 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.
Basic Data Structures for IP lookups and Packet Classification
CS 268: Route Lookup and Packet Classification
CS 268: Computer Networking L-8 Routers. 2 Forwarding and Routers Forwarding IP lookup High-speed router architecture Readings [McK97] A Fast Switched.
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
15-744: Computer Networking
Chapter 9 Classification And Forwarding. Outline.
15-744: Computer Networking L-8 Routers. 2 Forwarding and Routers Forwarding IP lookup High-speed router architecture Readings [McK97] A Fast Switched.
Address Lookup in IP Routers. 2 Routing Table Lookup Routing Decision Forwarding Decision Forwarding Decision Routing Table Routing Table Routing Table.
CS 6401 Efficient Addressing Outline Addressing Subnetting Supernetting.
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
Sarang Dharmapurikar With contributions from : Praveen Krishnamurthy,
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
1 Routing with a clue Anat Bremler-Barr Joint work with Yehuda Afek & Sariel Har-Peled Tel-Aviv University.
Courtesy: Nick McKeown, Stanford More on IP and Packet Forwarding Tahir Azim.
IP Address Lookup Masoud Sabaei Assistant professor
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Data : The Small Forwarding Table(SFT), In general, The small forwarding table is the compressed version of a trie. Since SFT organizes.
Advance Computer Networking L-8 Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan.
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,
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
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.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
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.
On-Chip Logic Minimization Roman Lysecky & Frank Vahid* Department of Computer Science and Engineering University of California, Riverside *Also with the.
IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo a, 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
Forwarding and Routing IP Packets
Digital Search Trees & Binary Tries
15-744: Computer Networking
Advance Computer Networking
Transport Layer Systems Packet Classification
Digital Search Trees & Binary Tries
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
Presentation transcript:

CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007

Example of a Trie 01 Root P5P4 01 P1 0 0 P6 P7 P P P3 P1 = 10* P2 = 111* P3 = 11001* P4 = 1* P5 = 0* P6 = 1000* P7 = * P8 = * Sample DatabaseTrie 1

How To Do Variable Prefix Match 128.2/ / / /24 default 0/0 0 Traditional method – Patricia Tree Arrange route entries into a series of bit tests Worst case = 32 bit tests Problem: memory speed is a bottleneck Bit to test – 0 = left child,1 = right child

Speeding up Prefix Match (D+97) Cut prefix tree at 16 bit depth –64K bit mask –Bit = 1 if tree continues below cut (root head) –Bit = 1 if leaf at depth 16 or less (genuine head) –Bit = 0 if part of range covered by leaf

Prefix Tree Port 1Port 5Port 7 Port 3 Port 9 Port 5

Prefix Tree Subtree 1Subtree 2 Subtree 3

Speeding up Prefix Match (D+97) Each 1 corresponds to either a route or a subtree –Keep array of routes/pointers to subtree –Need index into array – how to count # of 1s –Keep running count to 16bit word in base index + code word (6 bits) –Need to count 1s in last 16bit word Clever tricks Subtrees are handled separately

Speeding up Prefix Match (D+97) Scaling issues –How would it handle IPv6 Update issues Other possibilities –Why were the cuts done at 16/24/32 bits? –Improve data structure by shuffling bits

Speeding up Prefix Match - Alternatives Route caches –Temporal locality –Many packets to same destination Other algorithms –WVTP97 Binary search on prefixes Works well for larger addresses –Bremler-Barr – Sigcomm 99 Clue = prefix length matched at previous hop Why is this useful?

Speeding up Prefix Match - Alternatives Content addressable memory (CAM) –Hardware based route lookup –Input = tag, output = value associated with tag –Requires exact match with tag Multiple cycles (1 per prefix searched) with single CAM Multiple CAMs (1 per prefix) searched in parallel –Ternary CAM 0,1,don’t care values in tag match Priority (I.e. longest prefix) by order of entries in CAM

Packet Classification Typical uses –Identify flows for QoS –Firewall filtering Requirements –Match on multiple fields –Strict priority among rules E.g 1. no traffic from * 2. ok traffic on port 80

Bit Vectors RuleField1Field2 000* 1 01* 210*11* 3 10* Field 1

Bit Vectors RuleField1Field2 000* 1 01* 210*11* 3 10* Field 2

Aggregating Rules [BV01] Common case: very few 1’s in bit vector  aggregate bits OR together A bits at a time  N/A bit-long vector –A typically chosen to match word-size –Can be done hierarchically  aggregate the aggregates AND of aggregate bits indicates which groups of A rules have a possible match –Hopefully only a few 1’s in AND’ed vector –AND of aggregated bit vectors may have false positives Fetch and AND just bit vectors associated with positive entries

Rearranging Rules [BV01] Problem: false positives may be common Solution: reorder rules to minimize false positives –What about the priority order of rules? How to rearrange? –Heuristic  sort rules based on single field’s values First sort by prefix length then by value Moves similar rules close together  reduces false positives