Multiway range trees: scalable IP lookup with fast updates

Slides:



Advertisements
Similar presentations
Interval Heaps Complete binary tree. Each node (except possibly last one) has 2 elements. Last node has 1 or 2 elements. Let a and b be the elements in.
Advertisements

August 17, 2000 Hot Interconnects 8 Devavrat Shah and Pankaj Gupta
Spring 2006CS 685 Network Algorithmics1 Longest Prefix Matching Trie-based Techniques CS 685 Network Algorithmics Spring 2006.
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Scalable Content-Addressable Network Lintao Liu
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.
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.
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 Structures, Search and Sort Algorithms Kar-Hai Chu
An Efficient IP Address Lookup Algorithm Using a Priority Trie Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Mar. 11, 2008.
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.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
B+-tree and Hashing.
The CPBT: A Method for Searching the Prefixes Using Coded Prefixes in B-Tree Author: Mohammad Behdadfar and Hossein Saidi Publisher: LNCS 2008 Presenter:
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
Parallel-Search Trie-based Scheme for Fast IP Lookup
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.
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
Self-Balancing Search Trees Chapter 11. Chapter 11: Self-Balancing Search Trees2 Chapter Objectives To understand the impact that balance has on the performance.
Basic Data Structures for IP lookups and Packet Classification
Self-Balancing Search Trees Chapter 11. Chapter Objectives  To understand the impact that balance has on the performance of binary search trees  To.
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
A longest prefix first search tree for IP lookup Authors: Lih-Chyau Wuu, Tzong-Jye Liu, Kuo-Ming Chen Presenter: Chen-Yu Chung Date: 2008/09/24 Publisher/Conf.:
Address Lookup in IP Routers. 2 Routing Table Lookup Routing Decision Forwarding Decision Forwarding Decision Routing Table Routing Table Routing Table.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
IP Address Lookup Masoud Sabaei Assistant professor
INTRODUCTION TO MULTIWAY TREES P INTRO - Binary Trees are useful for quick retrieval of items stored in the tree (using linked list) - often,
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
IP Address Lookup Masoud Sabaei Assistant professor
Lecture 11COMPSCI.220.FS.T Balancing an AVLTree Two mirror-symmetric pairs of cases to rebalance the tree if after the insertion of a new key to.
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
Segment Trees Basic data structure in computational geometry. Computational geometry.  Computations with geometric objects.  Points in 1-, 2-, 3-, d-space.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
1Computer Sciences. 2 HEAP SORT TUTORIAL 4 Objective O(n lg n) worst case like merge sort. Sorts in place like insertion sort. A heap can be stored as.
A Fast and Scalable IPv6 Packet Classification Author: Xiaoju Zhou, Xiaohong Huang, Qiong Sun, Wei Yang, Yan Ma Publisher: Network Infrastructure and Digital.
DESIGN AND IMPLEMENTATION OF DYNAMIC ROUTING TABLES Author: Yeim-Kuan Chang and Dung-Jiun Lin Publisher/Conf.: The graduation paper of CIAL master student,
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari.
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
Algorithms Design Fall 2016 Week 6 Hash Collusion Algorithms and Binary Search Trees.
Multiway Search Trees Data may not fit into main memory
IP Routers – internal view
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
Chapter 10 Search Trees 10.1 Binary Search Trees Search Trees
B+ Tree.
Tree data structure.
Chapter Trees and B-Trees
Chapter Trees and B-Trees
CMPS 3130/6130 Computational Geometry Spring 2017
Binary Trees, Binary Search Trees
Interval Heaps Complete binary tree.
Lecture 26 Multiway Search Trees Chapter 11 of textbook
Statistical Optimal Hash-based Longest Prefix Match
Tree data structure.
(2,4) Trees /26/2018 3:48 PM (2,4) Trees (2,4) Trees
Indexing and Hashing Basic Concepts Ordered Indices
Random inserting into a B+ Tree
Digital Search Trees & Binary Tries
(2,4) Trees 2/15/2019 (2,4) Trees (2,4) Trees.
(2,4) Trees /24/2019 7:30 PM (2,4) Trees (2,4) Trees
2018, Spring Pusan National University Ki-Joune Li
A Small and Fast IP Forwarding Table Using Hashing
CPS216: Advanced Database Systems
(2,4) Trees /6/ :26 AM (2,4) Trees (2,4) Trees
CS210- Lecture 20 July 19, 2005 Agenda Multiway Search Trees 2-4 Trees
Presentation transcript:

Multiway range trees: scalable IP lookup with fast updates Priyank Warkhede, Subhash Suri , George Varghese Computer Networks: The International Journal of Computer and Telecommunications Networking February 2004

Outline Introduction Ip lookup by binary or multiway search Multiway range tree Updates to the range tree Experimental Conclusion

Introduction In this paper, we introduce a new IP lookup scheme with worst-case search and update time of O(log n), where n is the number of prefixes in the forwarding table. Our scheme is based on a new data structure, a multiway range tree, which achieves the optimal lookup time of binary search, but can also be updated in logarithmic time when a prefix is added or deleted.

Ip lookup by binary or multiway search Binary search tree Each prefix r matches a contiguous interval [b,e] of address, for example r=128* begins at point 128.0.0.0 and the end at point 128.255.255.255 With each key pi, we store two prefixes, match=(pi) and match<(pi). match=(pi), is the longest prefix that begins or ends at pi. match<(pi), is the longest prefix whose interval includes the range (pi-1,pi), where pi-1 is the predecessor key of pi.

Ip lookup by binary or multiway search

Ip lookup by binary or multiway search Multiway search tree ( use B-tree )

Ip lookup by binary or multiway search Difficulty of updating search trees Maintaining the precomputed prefixes match=(p) and match<(p), worst-case require O(n)

Multiway range tree Our main idea is to store prefixes at all nodes of the search tree, such that the following two conditions are met: (1) every prefix matching a key is stored at some nodes along the root to leaf path for that key (2) no prefix is stored at more than O(logn) nodes.

Multiway range tree Address span key idea is to associate address spans with both the nodes and keys of the search tree Associating prefixes with nodes if for some node v of the tree, span(v) is contained in the range [br, er], then r is a matching prefix for any address in span(v.) We could store r at every node v whose span is contained in range [br, er]. the prefix α will be stored at keys b; c and nodes x; y; w.

Multiway range tree

Multiway range tree ( for updates ) For the purpose of updates, we partition the prefixes stored at each key into two list, call then equal list and the span list Except for the keys, all other nodes in the range tree have a single span list list of prefix, which are maintained in a heap, orderd by prefix length

Multiway range tree (search algorithm) Let Mv be the (narrowest) prefix stored at each internal node v in the search structure, where Mv is the root of the corresponding heap at node v in the update structure. Let Ek be the prefix stored with each leaf key in the search structure corresponding to the root of the equal list heap in the update structure; let Gk be the prefix stored with each leaf key in the search structure corresponding to the root of the span list heap.

updates the range tree Updating the keys and handling splits and merges Updating the address spans and prefix Inserting or deleting the new prefix

Experimental ( model ) Using pentium Cache line is 32 bytes Using C programming language on a UNIX machine

Experimental ( empirical results for IPv4 )

Experimental ( empirical results for IPv4 )

Experimental ( empirical results for IPv4 )

Experimental ( empirical results for IPv4 ) The worst-case update time for our scheme is calculated assuming node split/merge at each level of the tree. the average update performance of the scheme. first built the prefix database corresponding to the Mae-East database. We then generated 500 random prefixes, inserted them into the data structure,and then deleted them in random order.

Experimental ( comparison with other schemes)

Experimental ( comparison with other schemes)

Conclusion