Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp. 588-605, February.

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

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
Fast Updating Algorithms for TCAMs Devavrat Shah Pankaj Gupta IEEE MICRO, Jan.-Feb
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
An On-Chip IP Address Lookup Algorithm Author: Xuehong Sun and Yiqiang Q. Zhao Publisher: IEEE TRANSACTIONS ON COMPUTERS, 2005 Presenter: Yu Hao, Tseng.
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.
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.
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.
Hybrid Data Structure for IP Lookup in Virtual Routers Using FPGAs Authors: Oĝuzhan Erdem, Hoang Le, Viktor K. Prasanna, Cüneyt F. Bazlamaçcı Publisher:
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.
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.
Fast Filter Updates for Packet Classification using TCAM Authors: Haoyu Song, Jonathan Turner. Publisher: GLOBECOM 2006, IEEE Present: Chen-Yu Lin Date:
The CPBT: A Method for Searching the Prefixes Using Coded Prefixes in B-Tree Author: Mohammad Behdadfar and Hossein Saidi Publisher: LNCS 2008 Presenter:
1 A Tree Based Router Search Engine Architecture With Single Port Memories Author: Baboescu, F.Baboescu, F. Tullsen, D.M. Rosu, G. Singh, S. Tullsen, D.M.Rosu,
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:
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
Parallel-Search Trie-based Scheme for Fast IP Lookup
張 燕 光 資訊工程學系 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.
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
Basic Data Structures for IP lookups and Packet Classification
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:
A Fast Algorithm for Multi-Pattern Searching Sun Wu, Udi Manber May 1994.
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 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
IP Address Lookup Masoud Sabaei Assistant professor
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
1 Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates Author: Yeim-Kuan Chang Publisher: ICOIN 2005 Presenter: Po Ting Huang Date:
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
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.
A Dynamic Longest Prefix Matching Content Addressable Memory for IP Routing Author: Satendra Kumar Maurya, Lawrence T. Clark Publisher: IEEE TRANSACTIONS.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
AUTHOR: NIZAR BEN NEJI, ADEL BOUHOULA PUBLISHER: IEEE INTERNATIONAL CONFERENCE,2011 PRESENTER: KAI-YANG LIU DATE:2011/08/31 1 NAF Conversion: An Efficient.
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.
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo a, Jose G. Delgado-Frias Publisher: Journal of Systems.
A NOVEL LEVEL-BASED IPV6 ROUTING LOOKUP ALGORITHM Author: Xiaohong Huang, Xiaoyu Zhao, Guofeng Zhao, Wenjian Jiang, Dongqu Zheng, Qiong Sun and Yan Ma.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
1 Basic Data Structures for IP lookups and Packet Classification.
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
DESIGN AND IMPLEMENTATION OF DYNAMIC ROUTING TABLES Author: Yeim-Kuan Chang and Dung-Jiun Lin Publisher/Conf.: The graduation paper of CIAL master student,
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari.
IP Addressing. A 32-bit logical naming convention A dotted-decimal notation is used: – –Each number represents 8 bits. Number is Part.
IP Address Lookup Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology.
Author : Tzi-Cker Chiueh, Prashant Pradhan Publisher : High-Performance Computer Architecture, Presenter : Jo-Ning Yu Date : 2010/11/03.
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
IP Routers – internal view
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
Multiway range trees: scalable IP lookup with fast updates
Statistical Optimal Hash-based Longest Prefix Match
Binary Prefix Search Author: Yeim-Kuan Chang
A Small and Fast IP Forwarding Table Using Hashing
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
Towards TCAM-based Scalable Virtual Routers
Presentation transcript:

Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February (SCI) Presenter: Chen-Yu Chang Date: 2008/10/29

Outline Introduction Proposed data structure The prefix representation m-Way search tree using cache lines Performance

Introduction This paper proposed a new IP lookup algorithms called binary prefix search based on a new mechanism to sort the prefixes in the forwarding table. The goal is to store the prefixes in a linear array, and thus a faster search speed and a smaller memory requirement can be achieved.

Outline Introduction Proposed data structure The prefix representation m-Way search tree using cache lines Performance

Proposed data structure It is known that the binary search works only for the sorted lists. Therefore, we must have a mechanism to compare prefixes. We first introduce the definition of comparing two prefixes in order to sort a list of prefixes of various lengths based on the ternary format.

Proposed data structure Definition 1 (Prefix comparison): The inequality 0 < * < 1 is used to compare two prefixes in the ternary format.

Proposed data structure Let us study an example to see why performing a binary search on the list of sorted prefixes may encounter a failure. Dst=

Proposed data structure We did not try to revise the binary search operation. What we did was to generate some auxiliary prefixes that inherit the routing information of the original LPM (e.g., F) and put them where the binary search operations can find them. ex. auxiliary prefix Therefore, it is feasible to split prefix F into two parts such that both sides of prefix O are covered. A simple solution is to remove all the enclosures by making the binary trie a full tree.

Proposed data structure The full tree expansion. The full tree expansion splits the enclosure prefixes into many longer ones and disjoints all the resulting prefixes. Auxiliary prefix merges Many auxiliary prefixes may inherit the same routing information of a common enclosure prefix. These prefixes can be merged into one. The merge operation is defined as follows.

Proposed data structure Definition 2 (Prefix merge): The prefix obtained by merging a set of consecutive prefixes is the longest common ancestor of these consecutive prefixes in the binary trie.

Proposed data structure The full tree expansion

Proposed data structure The full tree after the merge operations

Outline Introduction Proposed data structure The prefix representation m-Way search tree using cache lines Performance

The prefix representation There are two commonly used binary representations for the prefixes of different lengths in IPv4, namely, the mask format and the length format. Matching can be done easily by the following steps. The IP part of the prefix is first XORed with the target IP address. Then the result is ANDed with the netmask (or right shifted 32 – length bits) if the mask (or length) format is used. If the final result is zero, then the match is found.

The prefix representation Ex: prefix = /16( ) IP = ( ) XOR → ( ) mask ( ) AND → ( ) Match

The prefix representation Comparing two prefixes case1: P1:m1.m2.m3.m4/mask1 ( / ) P2:n1.n2.n3.n4/mask2 ( / ) mask1 <= mask2 m1.m2.m3.m4&mask1 → ( ) n1.n2.n3.n4&mask1 → ( ) P2<P1

The prefix representation Comparing two prefixes case2: P1:m1.m2.m3.m4/mask1 ( / ) P2:n1.n2.n3.n4/mask2 ( / ) mask1 <= mask2 m1.m2.m3.m4&mask1 → ( ) n1.n2.n3.n4&mask1 → ( ) Equal Checking if the(31-len1)th bit of n1.n2.n3.n4 is 0 or 1. 0 → P2<P1 1 → P1<P2

The prefix representation We define the binary representation of a prefix in an n-bit address space as follows. Definition 3 (Definition of (n + 1)-bit prefix representation in the n-bit address space). For a prefix of length i, b n-1... B n-i *, where b j = 0 or 1 for n-1 ≧ j ≧ n-i, its binary representation is b n-1... B n-i with n i trailing zeros. ex: (8-bit address space) 01* → *→

The prefix representation However, for the 32-bit address space, It needs two 32- bit binary comparison operations in the worst case since only 32-bit arithmetic and logic operations are available in current 32-bit processors. It also means that two 32-bit memory reads are needed if the size of registers is 32 bits. In addition, two 32-bit words are needed to store a prefix using 33-bit representation. To solve the above problems, an optimized 32- bit representation is proposed.

The prefix representation However, by investigating the routing tables of current routers available on the Internet, there is a small number of prefixes whose lengths are 31 or 32. Therefore, unless the prefixes of lengths 31 and 32 are filtered out, distinguishing two prefixes by using only 32 bits is the main problem to be solved.

The prefix representation Problem of removing the least significant bit ex: P1= /Port1 → P2=01001*/Port2 → The first 8 bits cannot distinguish P1 from P2. In general, when two prefixes have the same first 8 bits, one of them must be of length 8, and the other may be of any length except 8. We call one of these two prefixes as the buddy prefix of the other.

The prefix representation Every time a prefix is matched against the target IP, we need to do prefix a further check if its buddy also exists on its left or right side. This additional check significantly slows down the search process. We solve this problem by means of the following rule: Only the prefix of length n-1 is allowed to have a buddy prefix of length n coexisting in n-bit address space.

The prefix representation Definition 4 (Definition of prefix conversion in the n-bit address space). (a) shows that when A=b n-1... b 1 0/n/p1 exists, it is first converted to b n-1... b 1 0/n-1/p1. If prefix b n-1... b 1 0/n- 1/p2 already exists, it will be converted to B = b n-1... b 1 1/n/p2. Otherwise, prefix B = b n-1...b 1 1/ n/p2 will be created, where p2 is the port number of the longest prefix that covers B.

The prefix representation (b) shows that when A = b n-1... b 1 1/n/p1 exists, prefix B = b n-1... b 1 0/n-1/p2 is created when B does not exist, and p2 is the port number of the longest prefix that covers B.

The prefix representation (c) shows that if only A=b n-1...b 1 0/n-1/p1 exists, no conversion is needed.

The prefix representation If both b n-1... b 1 0/n -1/p1 and b n-1... b 1 1/n/p2 exist after conversion, the latter is stored as /p2.

The prefix representation How to match? 1. Computing the position of the least significant set bit. If the LSB is on bit 0, the length of the prefix is n-1, and thus we need to check if its buddy prefix of length n also exit. 2.Let i be the position of LSB, we compute (P XOR IP)>>(i+1). If it is zero, then prefix P matches IP.

The prefix representation Ex: (E XOR ) >> >> 4 → Match (F XOR ) >> >> 3 → Not Match

Outline Introduction Proposed data structure The prefix representation m-Way search tree using cache lines Performance

m-Way search tree using cache lines The entry format in the segmentation table. Format field Number field Index field/Prefix field Port field The basic element in the sequential list.

m-Way search tree using cache lines Format 0 (k=0 or 1) (k=0) If there is no prefix of length longer than 16 in the segment, the lookup operation should return the default port number. (k=1) If there is only one prefix of length longer than 16 in the segment, the proposed 16-bit representation for the prefix and the corresponding port number are stored in the entry of the 16-bit segmentation table.

m-Way search tree using cache lines Format 1 (2 ≦ k ≦ 10)

m-Way search tree using cache lines Format 2 (11 ≦ k ≦ 32)

m-Way search tree using cache lines Format 3 (33 ≦ k ≦ 120)

m-Way search tree using cache lines Format 4 (121 ≦ k ≦ 186)

m-Way search tree using cache lines The numbers of prefix in different segment formats

Outline Introduction Proposed data structure The prefix representation m-Way search tree using cache lines Performance

The numbers of endpoints and prefixes needed in the range search and proposed prefix search for the Oix- 120k routing table.

Performance the worst-case numbers of memory accesses, the search time, the update time, and the amount of memory required for various schemes using the Oix- 120k table.

Performance Average lookup times in ls and amount of memory in KB required for the range searches and the proposed prefix searches with a 16-bit segmentation table.

Performance Normalized average lookup times in ls and amount of memory in KB for the binary prefix searches (BPS) over the binary range searches (BRS) using IPv6 tables

Performance Integrated performance analysis Ns: the maximum number of lookups that a lookup scheme can sustain in 1s. Nu: update packets to be processed in the same 1s. Ts: Search time in microsecond. Tu: Update time in microsecond.

Performance Ts x Ns + Tu x Nu = 1,000,000 (Assume Nu=α x Ns) → Ns = 1,000,000 / (Ts + α x Tu) Ratio = Ns / Mem