Ofir Luzon 037237468 Supervisor: Prof. Michael Segal Longest Prefix Match For IP Lookup.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Internet Routers
Introduction to Computer Science 2 Lecture 7: Extended binary trees
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.
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.
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.
Chapter 4: Trees Part II - AVL Tree
CS4432: Database Systems II Hash Indexing 1. Hash-Based Indexes Adaptation of main memory hash tables Support equality searches No range searches 2.
Hashing as a Dictionary Implementation
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.
Data Compressor---Huffman Encoding and Decoding. Huffman Encoding Compression Typically, in files and messages, Each character requires 1 byte or 8 bits.
Tries Standard Tries Compressed Tries Suffix Tries.
Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings.  Fixed length – 0110, 0010, 1010,  Variable.
1 Author: Ioannis Sourdis, Sri Harsha Katamaneni Publisher: IEEE ASAP,2011 Presenter: Jia-Wei Yo Date: 2011/11/16 Longest prefix Match and Updates in Range.
A supernetwork.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
Higher Order Tries Key = Social Security Number.   9 decimal digits. 10-way trie (order 10 trie) Height
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
Chapter 4: Trees Radix Search Trees Lydia Sinapova, Simpson College Mark Allen Weiss: Data Structures and Algorithm Analysis in Java.
Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings.  Fixed length – 0110, 0010, 1010,  Variable.
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
More on protocol implementation Packet parsing Memory management Data structures for lookup.
Parallel-Search Trie-based Scheme for Fast IP Lookup
Searching with Structured Keys Objectives
Study of IP address lookup Schemes
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
1 HEXA: Compact Data Structures or Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP.
1 Performing packet content inspection by longest prefix matching technology Authors: Nen-Fu Huang, Yen-Ming Chu, Yen-Min Wu and Chia- Wen Ho Publisher:
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 Routing with a clue Anat Bremler-Barr Joint work with Yehuda Afek & Sariel Har-Peled Tel-Aviv University.
IP Address Lookup Masoud Sabaei Assistant professor
A Summary of XISS and Index Fabric Ho Wai Shing. Contents Definition of Terms XISS (Li and Moon, VLDB2001) Numbering Scheme Indices Stored Join Algorithms.
Data : The Small Forwarding Table(SFT), In general, The small forwarding table is the compressed version of a trie. Since SFT organizes.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
CAMP: Fast and Efficient IP Lookup Architecture Sailesh Kumar, Michela Becchi, Patrick Crowley, Jonathan Turner Washington University in St. Louis.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Lecture 12 : Trie Data Structure Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Delivery, Forwarding, and Routing of IP Packets
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
Higher Order Tries Key = Social Security Number.   9 decimal digits. 10-way trie (order 10 trie) Height
1 Tries When searching for the name “Smith” in a phone book, we first locate the group of names starting with “S”, then within those we search for “m”,
1 Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates Author: Yeim-Kuan Chang Publisher: ICOIN 2005 Presenter: Po Ting Huang Date:
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.
PARALLEL-SEARCH TRIE- BASED SCHEME FOR FAST IP LOOKUP Author: Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai Nirwan Ansari Publisher: IEEE GLOBECOM.
Sets of Digital Data CSCI 2720 Fall 2005 Kraemer.
COSC 2007 Data Structures II Chapter 13 Advanced Implementation of Tables IV.
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:
IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo a, Jose G. Delgado-Frias Publisher: Journal of Systems.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
Author : Masanori Bando and H. Jonathan Chao Publisher : INFOCOM, 2010 Presenter : Jo-Ning Yu Date : 2011/02/16.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Generic Trees—Trie, Compressed Trie, Suffix Trie (with Analysi
IP Routers – internal view
Mark Redekopp David Kempe
Digital Search Trees & Binary Tries
Statistical Optimal Hash-based Longest Prefix Match
Digital Search Trees & Binary Tries
Packet Classification Using Coarse-Grained Tuple Spaces
Database Design and Programming
Static Routing 2nd semester
Presentation transcript:

Ofir Luzon Supervisor: Prof. Michael Segal Longest Prefix Match For IP Lookup

LPM – L ONGEST P REFIX M ATCH Definition

LPM For IP Lookup A router holds a routing table which contains prefix entries of variable length, and destination port. When a router receives a packet, it searches for the longest prefix of the destination IP address in its routing table. A long delay could eventually cause packet lose as the incoming queues can get overflow.

LPM Motivation For the class based addressing there is no need for longest prefix as only one entry can match a given IP address: Class LeadingNumberAddresses Start address End address Bitsof Networksper Network Class A0128 (2 7 )16,777,216 (2 24 ) Class B1016,384 (2 14 )65,536 (2 16 ) Class C1102,097,152 (2 21 )256 (2 8 ) Class D (multicast)1110not defined Class E (reserved)1111not defined

LPM Motivation CIDR addressing (Classless Inter Domain Routing) o Any prefix length o Reduces size of tables o Aggregation of several prefixes o More then one entry can match a given IP address o The correct entry is always the longest match

S IZE AND O PERATIONS Data Structure Requirements

Active BGP entries (FIB) Summary of total route table size, a listing of possibly bogus routes seen and summary information on ASes. Roughly 325K entries. Routing table can not be stored in fast memory components alone like Flash and DRAM, and slower components like HDD must also be used. Therefore, amount of I/O operations has to be kept as low as possible.

Table Updates Per Week Histogram showing number of deletion and insertion updates for a week, divided by prefix length. Two important observations can be made: amount of updates is significantly lower then amount of lookups. updates do occur at regular bases. About 5000 updates a week or 750 a day.

B INARY T RIE P ATRICIA T RIE K S TRIDE M ULTI -B IT T RIE Solutions Being Used Today

Trie A trie is an ordered tree data structure that is used to store an associative array where the keys are usually strings. Unlike a tree, no node in the trie stores the key associated with that node; instead, its position in the tree shows what key it is associated with. All the descendants of a node have a common prefix of the string associated with that node. The term trie comes from “retrieval”.

Binary Trie Each node marked with a letter is a prefix node. Leaves are always prefix nodes. Search Algorithm Traverse the tree according to destination address bit by bit. The last recent marked node is the longest prefix.

Compressed Binary Trie – Patricia trie Patricia - Practical Algorithm To Retrieve Information Coded In Alphanumeric Compress all one child branches. Requires to store additional information with nodes, the bit number field is added to each node. A comparison of full prefix is made at every node. Prefix string must be stored at every node.

K stride multi- bit Trie Kbit are inspected at each step. Each Node has potentially child nodes. The result is a faster lookup, as each step more then one bit is inspected. Some prefix nodes will be multiplied. Example of 2 stride trie.

Complexity of the Lookup N – Number of prefixes L – Query length (32 for IP address) Data StructureLookupUpdate Memory consumption Binary TrieO(L) O(NL) Patricia TrieO(L) O(NL) K Stride multi-bit TrieO(L/K)O(L/K+2 K )O(2 K NL/K)

G OAL A ND C ONCEPTS My Research

Research Goal Develop an efficient data structure, which support search insertion and deletion operations. Primary concern will be the search operation, since the amount of searches is considerably larger then update operations. The data structure will be planned and optimized for IP addresses and not for a general type of strings.

Main Concepts The research is based on two main ideas: Unite similar partial data from different prefixes, and by doing so, significantly reduce memory consumption of a routing table. Build a data structure that will give different weight of importance to different length of prefixes, as the lengths are not uniformly distributed.

Compress table size by unite similar partial data Divide entry into small segments. For each segment hold an array of forwarding ports (size of array is the number of ports in the router). The array for each segment tells which ports are associated with that segment. A search algorithm will compare some combinations of segments arrays. False positive. Prefix Table Partial prefixes Table

False Positive A false positive is when the algorithm finds an entry that was not inserted False positive can create multiple options if there is an entry with one port, and false positive with another port.

F UTURE R ESEARCH My Research

My Future Research Additional data must be stored to overcome the false positive matches. Generalize the algorithm to find any prefix length.  Shorter lengths are “easy”, all options can be easily mapped. There is one more interesting data structure that I came across, which I will research and try to convert it to fit LPM; BDD – Binary Decision Diagram.

BDD BDD is a data structure that can be considered as a compressed representation of sets or relations. Unlike other compressed representations, operations are performed directly on the compressed representation. BDD is a rooted DAG (Directed Acyclic Graph) used to represent a binary function. Each node represent a literal of the function, and has two directed edges (0,1). Different orders of the nodes in the graph will result in different running time. Finding the optimal order in NP-Hard.

Bad Order Good Order BDD Order

Questions?