Improving and Analyzing LC-Trie Performance for IP-Address Lookup

IP-address lookup is a key processing function of Internet routers. The lookup is challenging because it needs to perform a longest prefix match. In this paper, we present our modifications to an efficient lookup algorithm, the LC-trie, based on a technique called prefix transformation. Thereafter, the LC-trie’s performance is analyzed for both the original and our modified algorithm using real and synthetically generated traces. The performance study includes trie search depth, prefix vector access behavior, cache behavior and packet lookup time. The study is based both on experiments and a model for packet lookup time. The results show that the modified algorithm requires only 30% of the lookup time of the original algorithm. In particular, the modified algorithm is capable of performing 60 million packet lookups per second on a Pentium 4, 2.8 GHz, computer for a real traffic trace. Further, the results show that the performance is about five times better on the real trace compared to a synthetically generated network trace. This illustrates that the choice of traces may have a large influence on the results when evaluating lookup algorithms.

[1]  Arne Andersson,et al.  Faster Searching in Tries and Quadtrees - An Analysis of Level Compression , 1994, ESA.

[2]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2004, Comput. Networks.

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

[4]  Francis Zane,et al.  Coolcams: power-efficient TCAMs for forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[5]  Nick McKeown,et al.  Routing lookups in hardware at memory access speeds , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[6]  Edward Fredkin,et al.  Trie memory , 1960, Commun. ACM.

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

[8]  Jonathan S. Turner,et al.  Packet classification using extended TCAMs , 2003, 11th IEEE International Conference on Network Protocols, 2003. Proceedings..

[9]  Anja Feldmann,et al.  Tradeoffs for packet classification , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[10]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[11]  Andreas Moestedt,et al.  Lookup in Hardware for High-Speed Routing , 1998 .

[12]  T. N. Vijaykumar,et al.  Dynamic pipelining: making IP-lookup truly scalable , 2005, SIGCOMM '05.

[13]  Paul Francis,et al.  Fast routing table lookup using CAMs , 1993, IEEE INFOCOM '93 The Conference on Computer Communications, Proceedings.

[14]  Francis Zane,et al.  Performance modeling for fast IP lookups , 2001, SIGMETRICS '01.

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

[16]  Masayuki Murata,et al.  Performance prediction method for IP lookup algorithms , 2002, Workshop on High Performance Switching and Routing, Merging Optical and IP Technologie.

[17]  V. Srinivasan,et al.  Fast address lookups using controlled prefix expansion , 1999, TOCS.

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