Priority Tries for IP Address Lookup

High-speed IP address lookup is essential to achieve wire speed packet forwarding in Internet routers. The longest prefix matching for IP address lookup is more complex than exact matching because it involves dual dimensions: length and value. This paper presents a new formulation for IP address lookup problem using range representation of prefixes and proposes an efficient binary trie structure named a priority trie. In this range representation, prefixes are represented as ranges on a number line between 0 and 1 without expanding to the maximum length. The best match to a given input address is the smallest range that includes the input. The priority trie is based on the trie structure, with empty internal nodes in the trie replaced by the priority prefix which is the longest among those in the subtrie rooted by the empty nodes. The search ends when an input matches a priority prefix, which significantly improves the search performance. Performance evaluation using real routing data shows that the proposed priority trie is very good in performance metrics such as lookup speed, memory size, update performance, and scalability.

[1]  Hung-Hsiang Jonathan Chao,et al.  Next generation routers , 2002, Proc. IEEE.

[2]  Hyesook Lim,et al.  High speed IP address lookup architecture using hashing , 2003, IEEE Communications Letters.

[3]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

[4]  Yiqiang Q. Zhao,et al.  An on-chip IP address lookup algorithm , 2005, IEEE Transactions on Computers.

[5]  Sartaj Sahni,et al.  O(log n) Dynamic Router-Tables for Prefixes and Ranges , 2004, IEEE Trans. Computers.

[6]  Haibin Lu,et al.  O(log n) dynamic router-tables for prefixes and ranges , 2004, IEEE Transactions on Computers.

[7]  Hyesook Lim,et al.  IP address lookup for internet routers using balanced binary search with prefix vector , 2009, IEEE Transactions on Communications.

[8]  Raj Jain,et al.  A comparison of hashing schemes for address lookup in computer networks , 1992, IEEE Trans. Commun..

[9]  Andrei Z. Broder,et al.  Using multiple hash functions to improve IP lookups , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[10]  Hyesook Lim,et al.  Binary Searches on Multiple Small Trees for , 2005 .

[11]  Hyesook Lim,et al.  Binary search in a balanced tree for IP address lookup , 2005, HPSR. 2005 Workshop on High Performance Switching and Routing, 2005..

[12]  Sartaj Sahni,et al.  Handbook of Data Structures and Applications , 2004 .

[13]  Butler W. Lampson,et al.  IP lookups using multiway and multicolumn search , 1999, TNET.

[14]  Binary searches on multiple small trees for IP address lookup , 2005, IEEE Communications Letters.

[15]  George Varghese,et al.  Network Algorithmics-An Interdisciplinary Approach to Designing Fast Networked Devices , 2004 .

[16]  Svante Carlsson,et al.  Small forwarding tables for fast routing lookups , 1997, SIGCOMM '97.

[17]  Sartaj Sahni,et al.  Efficient construction of multibit tries for IP lookup , 2003, TNET.

[18]  Sarang Dharmapurikar,et al.  Longest prefix matching using bloom filters , 2006, IEEE/ACM Transactions on Networking.

[19]  N. Yazdani,et al.  Fast and scalable schemes for the IP address lookup problem , 2000, ATM 2000. Proceedings of the IEEE Conference on High Performance Switching and Routing (Cat. No.00TH8485).

[20]  Hyesook Lim,et al.  Efficient binary search for IP address lookup , 2005, IEEE Commun. Lett..

[21]  Walid Dabbous,et al.  Survey and taxonomy of IP address lookup algorithms , 2001, IEEE Netw..

[22]  Haoyu Song,et al.  Shape shifting tries for faster IP route lookup , 2005, 13TH IEEE International Conference on Network Protocols (ICNP'05).

[23]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[24]  Hyesook Lim,et al.  Binary search on levels using a Bloom filter for IPv6 address lookup , 2009, ANCS '09.

[25]  Sartaj Sahni,et al.  Handbook Of Data Structures And Applications (Chapman & Hall/Crc Computer and Information Science Series.) , 2004 .

[26]  Hyesook Lim,et al.  NXG06-1: An Efficient IP Address Lookup Algorithm Using a Priority Trie , 2006, IEEE Globecom 2006.

[27]  Hyesook Lim,et al.  Binary Search in a Balanced Tree for , 2005 .

[28]  Hyesook Lim,et al.  A parallel multiple hashing architecture for IP address lookup , 2004, 2004 Workshop on High Performance Switching and Routing, 2004. HPSR..

[29]  Laxmi N. Bhuyan,et al.  EaseCAM: an energy and storage efficient TCAM-based router architecture for IP lookup , 2005, IEEE Transactions on Computers.

[30]  Sartaj Sahni,et al.  An O(logn) dynamic router-table design , 2004, IEEE Transactions on Computers.