Scalable, Memory Efficient, High-Speed

One of the central issues in router performance is IP address lookup based on longest prefix matching. IP address lookup algorithms can be evaluated on a number of metrics—lookup time, update time, memory usage, and to a less important extent, the time to construct the data structure used to support lookups and updates. Many of the existing methods are geared toward optimizing a specific metric, and do not scale well with the ever expanding routing tables and the forthcoming IPv6 where the IP addresses are 128 bits long. In contrast, our effort is directed at simultaneously optimizing multiple metrics and provide solutions that scale to IPv6, with its longer ad- dresses and much larger routing tables. In this paper, we present two IP address lookup schemes—Elevator-Stairs algorithm and logW-Elevators algorithm. For a routing table with prefixes, The Elevator-Stairs algorithm uses optimal memory, and achieves better lookup and update times than other methods with similar memory requirements. The logW-Elevators algorithm gives lookup time, where is the length of an IP address, while improving upon update time and memory usage. Experimental results using the MAE-West router with 29 487 prefixes show that the Elevator-Stairs algorithm gives an average throughput of 15.7 Million lookups per second (Mlps) using 459 KB of memory, and the logW-Elevators algorithm gives an av- erage throughput of 21.41 Mlps with a memory usage of 1259 KB. Index Terms—Address lookups, IP packet forwarding, longest prefix matching, routing tables, scalability.

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

[2]  John W. Lockwood,et al.  Scalable IP lookup for programmable routers , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[3]  Tzi-cker Chiueh,et al.  High-performance IP routing table lookup using CPU caching , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

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

[5]  Vinod K. Agarwal,et al.  An Efficient Unsorted VLSI Dictionary Machine , 1985, IEEE Transactions on Computers.

[6]  R. Wilder,et al.  Wide-area Internet traffic patterns and characteristics , 1997, IEEE Netw..

[7]  Chia-Tai Chan,et al.  A fast IP routing lookup scheme , 2001, IEEE Communications Letters.

[8]  Hung-Hsiang Jonathan Chao,et al.  Fast IP lookups using a two-trie data structure , 1999, Seamless Interconnection for Universal Services. Global Telecommunications Conference. GLOBECOM'99. (Cat. No.99CH37042).

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

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

[11]  Kwan Lawrence Yeung,et al.  Efficient hardware architecture for fast IP address lookup , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[12]  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).

[13]  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.

[14]  Butler W. Lampson,et al.  IP lookups using multiway and multicolumn search , 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.

[15]  Austin Donnelly,et al.  IP route lookups as string matching , 2000, Proceedings 25th Annual IEEE Conference on Local Computer Networks. LCN 2000.

[16]  Henry H.-Y. Tzeng,et al.  On fast address-lookup algorithms , 1999, IEEE J. Sel. Areas Commun..

[17]  Donald R. Morrison,et al.  PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric , 1968, J. ACM.

[18]  Arun K. Somani,et al.  Binary decision diagrams for efficient hardware implementation of fast IP routing lookups , 2001, Proceedings Tenth International Conference on Computer Communications and Networks (Cat. No.01EX495).

[19]  Keith Sklower,et al.  A Tree-Based Packet Routing Table for Berkeley Unix , 1991, USENIX Winter.

[20]  Peter Newman,et al.  IP switching and gigabit routers , 1997, IEEE Commun. Mag..