This Article 
 Bibliographic References 
 Add to: 
Priority Tries for IP Address Lookup
June 2010 (vol. 59 no. 6)
pp. 784-794
Hyesook Lim, Ewha Womans University, Seoul
Changhoon Yim, Konkuk University, Seoul
Earl E. Swartzlander Jr., University of Texas at Austin, Austin
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] H.J. Chao, "Next Generation Routers," Proc. IEEE, vol. 90, no. 9, pp. 1518-1558, Sept. 2002.
[2] M.A. Ruiz-Sanchex, E.W. Biersack, and W. Dabbous, "Survey and Taxonomy of IP Address Lookup Algorithms," IEEE Network, vol. 15, no. 2, pp. 8-23, Mar./Apr. 2001.
[3] G. Varghese, Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices. Morgan Kaufmann Publishers/Elsevier, Inc., 2005.
[4] V.C. Ravikumar, R.N. Mahapatra, and L.N. Bhuyan, "EaseCAM: An Energy and Storage Efficient TCAM-Based Router Architecture for IP Lookup," IEEE Trans. Computers, vol. 54, no. 5, pp. 521-533, May. 2005.
[5] D. Shah and P. Gupta, "Fast Updating Algorithms for TCAM," IEEE Micro, vol. 21, no. 1, pp. 36-47, Jan./Feb. 2001.
[6] D. Mehta and S. Sahni, Handbook of Data Structures and Applications. Chapman and HALL/CRC, 2005.
[7] H. Song, J. Turner, and J. Lockwood, "Shape Shifting Tries for Faster IP Route Lookup," Proc. IEEE Int'l Conf. Network Protocols (ICNP), 2005.
[8] W. Eatherton, "Fast IP Lookup Using Tree Bitmap," master's thesis, Washington Univ., 1999.
[9] B. Lampson, V. Srinivasan, and G. Varghese, "IP Lookups Using Multiway and Multicolumn Search," IEEE/ACM Trans. Networking, vol. 7, no. 3, pp. 324-334, June 1999.
[10] X. Sun and Y. Zhao, "An On-Chip IP Address Lookup Algorithm," IEEE Trans. Computers, vol. 54, no. 7, pp. 873-885, July 2005.
[11] H. Lu and S. Sahni, "O(log$n$ ) Dynamic Router-Tables for Prefixes and Ranges," IEEE Trans. Computers, vol. 53, no. 10, pp. 1217-1230, Oct. 2004.
[12] H. Lim and J. Mun, "An Efficient IP Address Lookup Algorithm Using a Priority-Trie," Proc. IEEE GLOBECOM, pp. 1-5, 2006.
[13] R. Jain, "A Comparison of Hashing Schemes for Address Lookups in Computer Networks," IEEE Trans. Comm., vol. 40, no. 10, pp. 1570-1573, Oct. 1992.
[14] A. Broder and M. Mitzenmacher, "Using Multiple Hash Functions to Improve IP Lookups," Proc. IEEE INFOCOM, pp. 1454-1463, 2001.
[15] M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, "Scalable High Speed IP Routing Lookups," Proc. ACM SIGCOMM, pp. 25-35, 1997.
[16] H. Lim and Y. Jung, "A Parallel Multiple Hashing Architecture for IP Address Lookup," Proc. IEEE Workshop High Performance Switching and Routing, pp. 91-98, 2004.
[17] H. Lim, J.-H. Seo, and Y.-J. Jung, "High Speed IP Address Lookup Architecture Using Hashing," IEEE Comm. Letters, vol. 7, no. 10, pp. 502-504, Oct. 2003.
[18] S. Dharmapurikar, P. Krishnamurthy, and D.E. Taylor, "Longest Prefix Matching Using Bloom Filters," IEEE/ACM Trans. Networking, vol. 14, no. 2, pp. 397-409, Apr. 2006.
[19] K. Lim, K. Park, and H. Lim, "Binary Search on Levels Using a Bloom Filter for IPv6 Address Lookup," Proc. ACM/IEEE Symp. Architectures for Networking and Comm. Systems (ANCS), pp. 185-186, 2009.
[20] S. Sahni and K.S. Kim, "Efficient Construction of Multibit Tries for IP Address Lookup," IEEE/ACM Trans. Networking, vol. 11, no. 4, pp. 650-662, Aug. 2003.
[21] S. Nilsson and G. Karlsson, "IP Address Lookup Using LC-Tries," IEEE J. Selected Areas in Comm., vol. 17, no. 6, pp. 1083-1092, June 1999.
[22] M. Degermark, A. Brodnik, S. Carlsson, and S. Pink, "Small Forwarding Tables for Fast Routing Lookups," Proc. ACM SIGCOMM, pp. 3-14, 1997.
[23] N. Yazdani and P.S. Min, "Fast and Scalable Schemes for the IP Address Lookup Problem," Proc. IEEE Workshop High Performance Switching and Routing, pp. 83-92, 2000.
[24] C. Yim, B. Lee, and H. Lim, "Efficient Binary Search for IP Address Lookup," IEEE Comm. Letters, vol. 9, no. 7, pp. 652-654, July 2005.
[25] H. Lim, B. Lee, and W.-J. Kim, "Binary Searches on Multiple Small Trees for IP Address Lookup," IEEE Comm. Letters, vol. 9, no. 1, pp. 75-77, Jan. 2005.
[26] H. Lim, W. Kim, and B. Lee, "Binary Search in a Balanced Tree for IP Address Lookup," Proc. IEEE Workshop High Performance Switching and Routing, pp. 490-494, 2005.
[27] H. Lim, H. Kim, and C. Yim, "IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector," IEEE Trans. Comm., vol. 57, no. 3, pp. 618-621, Mar. 2009.
[28] S. Sahni and K.S. Kim, "An O(log$n$ ) Dynamic Router-Table Design," IEEE Trans. Computers, vol. 53, no. 3, pp. 351-363, Mar. 2004.
[29] http:/, 2010.

Index Terms:
Internet, router, IP address lookup, binary trie, priority trie, range representation.
Hyesook Lim, Changhoon Yim, Earl E. Swartzlander Jr., "Priority Tries for IP Address Lookup," IEEE Transactions on Computers, vol. 59, no. 6, pp. 784-794, June 2010, doi:10.1109/TC.2010.38
Usage of this product signifies your acceptance of the Terms of Use.