Parallel-Search Trie-based Scheme for Fast IP Lookup

Slides:



Advertisements
Similar presentations
An On-Chip IP Address Lookup Algorithm Author: Xuehong Sun and Yiqiang Q. Zhao Publisher: IEEE TRANSACTIONS ON COMPUTERS, 2005 Presenter: Yu Hao, Tseng.
Advertisements

1 Fast Routing Table Lookup Based on Deterministic Multi- hashing Zhuo Huang, David Lin, Jih-Kwon Peir, Shigang Chen, S. M. Iftekharul Alam Department.
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.
Exploiting Graphics Processors for High- performance IP Lookup in Software Routers Author: Jin Zhao, Xinya Zhang, Xin Wang, Yangdong Deng, Xiaoming Fu.
A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
Low Power TCAM Forwarding Engine for IP Packets Authors: Alireza Mahini, Reza Berangi, Seyedeh Fatemeh and Hamidreza Mahini Presenter: Yi-Sheng, Lin (
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.
1 MIPS Extension for a TCAM Based Parallel Architecture for Fast IP Lookup Author: Oğuzhan ERDEM Cüneyt F. BAZLAMAÇCI Publisher: ISCIS 2009 Presenter:
1 Searching Very Large Routing Tables in Wide Embedded Memory Author: Jan van Lunteren Publisher: GLOBECOM 2001 Presenter: Han-Chen Chen Date: 2010/01/06.
1 Greedy Prefix Cache for IP Routing Lookups Author: Zhuo Huang, Gang Liu, Jih-Kwon Peir Publisher: I-SPAN 2009 Presenter: Hsin-Mao Chen Date:2010/03/10.
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.
PC-DUOS: Fast TCAM Lookup and Update for Packet Classifiers Author: Tania Banerjee-Mishra, Sartaj Sahni,Gunasekaran Seetharaman Publisher: IEEE Symposium.
1 An innovative low-cost Classification Scheme for combined multi-Gigabit IP and Ethernet Networks Department of Computer Science and Information Engineering.
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:
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
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:
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Low Power TCAMs For Very Large Forwarding Tables Authors: Wencheng Lu and Sartaj Sahni Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: May. 13, 2008 Publisher/Conf.
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
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.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
IP Address Lookup Masoud Sabaei Assistant professor
LayeredTrees: Most Specific Prefix based Pipelined Design for On-Chip IP Address Lookups Author: Yeim-Kuau Chang, Fang-Chen Kuo, Han-Jhen Guo and Cheng-Chien.
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.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
High-Speed Packet Classification Using Binary Search on Length Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Jan. 14, 2008.
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
On Adding Bloom Filters to Longest Prefix Matching Algorithms
Compact Trie Forest: Scalable architecture for IP Lookup on FPGAs Author: O˘guzhan Erdem, Aydin Carus and Hoang Le Publisher: ReConFig 2012 Presenter:
IP Address Lookup Masoud Sabaei Assistant professor
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.
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.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
Evaluating and Optimizing IP Lookup on Many Core Processors Author: Peng He, Hongtao Guan, Gaogang Xie and Kav´e Salamatian Publisher: International Conference.
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 Space-Efficient TCAM-based Classification Using Gray Coding Authors: Anat Bremler-Barr and Danny Hendler Publisher: IEEE INFOCOM 2007 Present: Chen-Yu.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, 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.
Ofir Luzon Supervisor: Prof. Michael Segal Longest Prefix Match For IP Lookup.
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.
IP Address Lookup Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology.
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
Exploiting Graphics Processors for High-performance IP Lookup in Software Routers Jin Zhao, Xinya Zhang, Xin Wang, Yangdong Deng, Xiaoming Fu IEEE INFOCOM.
IP Routers – internal view
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
Statistical Optimal Hash-based Longest Prefix Match
Scalable Memory-Less Architecture for String Matching With FPGAs
Packet Classification Using Coarse-Grained Tuple Spaces
A Small and Fast IP Forwarding Table Using Hashing
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
A Hybrid IP Lookup Architecture with Fast Updates
Worst-Case TCAM Rule Expansion
Presentation transcript:

Parallel-Search Trie-based Scheme for Fast IP Lookup Authors: Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai, and Nirwan Ansari Publisher: IEEE Globecom 2007 Present: 林呈俞 Date: April, 29, 2008

Outline Introduction Parallel Search Trie Based Scheme Data structures at target levels Implementation Search procedure

Introduction An efficient IP lookup algorithm: Performs a small number of memory accesses, if not one, for a single lookup. Uses a feasible amount of memory to store the prefix information. We consider that reducing the number of memory-accesses times is critical in keeping up with the ever-increasing data link rates. Fast IP lookup solutions: TCAM Use RAM that stores a forwarding table in a trie form Worst case time takes up to 32 memory accesses.

Introduction (cont.) In this paper, we propose a trie based IP lookup scheme, which performs parallel search of the matching longest prefix. To reduce the search complexity, the proposed scheme uses controlled prefix expansion [5]. Our scheme uses independent memories for allowing parallel access, and find the longest prefix match in two memory access with a feasible amount of memory or three accesses with a reduced amount of memory.

Parallel Search Trie Based Scheme This scheme is based on performing parallel access to independent memory blocks. Each block stores the entries existing for each group of a given prefix length. Level 1 5 8

Parallel Search Trie Based Scheme (cont.) Each level can be provisioned independently of existence of a prefix node, each level can be searched parallel. This would require a large amount of memory. To decrease the memory amount, the number of levels is minimized, into a small number of target levels. Use controlled prefix expansion. Once the levels are selected, the existing prefixes in the removed levels are expanded to the immediate-longer target level.

Parallel Search Trie Based Scheme (cont.) Target level : 2, 5 and 8

Parallel Search Trie Based Scheme (cont.) How to select the target levels in this scheme ? We looked into actual routing tables in [6] and observed that a large number of the prefixes are found between levels 16 and 24. Considering that population, we selected levels 8, 16, 24, 32 as the target levels in our scheme.

Data structures at target levels The set of all possible nodes at each level are represented with bitmaps. The bitmaps of level 8 and 16 are called bit vector. The bitmaps of level 24 and 32 are called bit segments as only partial bit vectors containing one or more prefixes are used.

Data structures at target levels (cont.) Level - 8 bit vector It includes all the prefixes between level 1 and 7, which are expanded to level 8. Denoted as prefixVal8, has 256 bits. Each bit represents an 8-bit prefix at this level. The bit vector can be stored in a memory block together with the next hop information.

Data structures at target levels (cont.) Level - 16 bit vector It includes all node at level 16, each node indicates the existence of all the prefixes between 9 and 15, which are expanded to level 16. Denoted as prefixVal16, has 216 bit. There are two other bitmaps at this level: childVal24 Which indicates whether there is one or more prefixes of length between 17 and 24 that share each 16-bit combination indexed by prefixVal16 childVal32

Data structures at target levels (cont.) Level - 16 bit vector The level – 16bit vectors are physically divided into 32-bit chunk, for every chunk, there is an offset value. offsetVal16 for prefixVal16. offsetVal24 for childVal24. offsetVal32 for childVal32. The offset stores the total number of ones accumulated from all previous chunks.

Data structures at target levels (cont.) Level – 24 bit segment Carries 256-bit intervals of the level – 24 bitmap that correspond to the sub-trees rooted by prefix16, that have one or more stored prefixes located between level 17 and 24. Denoted as prefixVal24. The sum of offsetVal24 and the number of ones to the left of the childVal24 bit in the chunk is used to find the corresponding interval at level 24.

Data structures at target levels (cont.) Level – 24 bit segment To reduce the amount of memory to store the next hop information. portInterval24  indicate which nodes share port numbers. offsetPort24  indicate the number of prefixes that has next hop information in the previous segment. The memory location of the next hop information is calculated by adding the decimal value of offsetPort24 with the ones of portInterval24 at and the left of the matching bit.

Data structures at target levels (cont.) Level - 32 bit segment Carries 216 bit intervals at level 32. Denoted as prefixVal32. The 216 bit portInterval32 and 32-bit offsetPort32 fields are used to indicate the memory location of the next hop information for prefixes at level 32.

Data structures at target levels (cont.) Next - hop information For prefixes in each level is stored in several tables, one table per level, called tableNextY, where Y = {8, 16, 24, 32}. Two schemes to store the next hop information in memory: Associate every bit within a segment with a 15-bit information without considering whether the prefix exist. Store the information for the positions where the prefix exists. We use portIntervalY and offsetPortY , Y = 24 and 32, to find the location of the information.

Implementation To allow a parallel lookup process at the target levels, the implementation of our scheme uses separate memory blocks. The bit vectors and bit segments are stored in a memory block per level.

Search procedure Determining the Longest Prefix Matching The search start by looking at the bit indicated by X31,…,X16 in prefixVal16. The remaining search procedure follows according to the case number of Table III.

Search procedure (cont.) Case 1. Only the segment prefixVal8 in level 8 is matched. If bit I of prefixVal8 is 1, the location of the next hop in the tableNext8 is indexed by the sum of ones to the left of node I of level 8. Case 2. Search for a prefix in level 8 is performed as indicated in case 1. To find a match in level 32, where prefixVal32 is indicated by offsetVal32 + # ones in the childVal32 chunk found to the left of bit I. At the same time, X15,…,X0, whose binary equivalent is denoted as j, indicate the position of next hop location in tableNext32. The value of jth bit 1 : a match is found and the next hop for level 32 is used. 0 : there is a match found at 8th level.

Search procedure (cont.) Case 3. Similar to case 2. Case 4. The search in levels 8, 24, and 32 are performed as indicated in Case1, 2, and 3. Case 5. The match in level 16 is found and no possible match in levels 24 and 32. Remaining procedure is to find the next hop information.

Search procedure (cont.) Case 6. The search for level 32 is performed, if no match in achieved at that level, the prefix match in level 16. Case 7. Similar to case 6. Case 8. Level 24 and 32 are considered. The longest match in level 32, 24 and 16 is used.