An on-chip IP address lookup algorithm

This paper proposes a new data compression algorithm to store the routing table in a tree structure using very little memory. This data structure is tailored to a hardware design reference model presented in this paper. By exploiting the low memory access latency and high bandwidth of on-chip memory, high-speed packet forwarding can be achieved using this data structure. With the addition of pipeline in the hardware, IP address lookup can only be limited by the memory access speed. The algorithm is also flexible for different implementation. Experimental analysis shows that, given the memory width of 144 bits, our algorithm needs only 400kb memory for storing a 20k entries IPv4 routing table and five memory accesses for a search. For a 1M entries IPv4 routing table, 9Mb memory and seven memory accesses are needed. With memory width of 1,068 bits, we estimate that we need 100Mb memory and six memory accesses for a routing table with 1M IPv6 prefixes.

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

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

[3]  Yakov Rekhter,et al.  An Architecture for IP Address Allocation with CIDR , 1993, RFC.

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

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

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

[7]  Jon Postel,et al.  Internet Protocol , 1981, RFC.

[8]  Rudolf Bayer,et al.  Organization and maintenance of large ordered indexes , 1972, Acta Informatica.

[9]  Sartaj Sahni,et al.  (log n) dynamic router-tables for ranges , 2003, Proceedings of the Eighth IEEE Symposium on Computers and Communications. ISCC 2003.

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

[11]  Stephen E. Deering,et al.  Internet Protocol Version 6 (IPv6) Addressing Architecture , 2003, RFC.

[12]  Sartaj Sahni,et al.  Data structures for one-dimensional packet classification using most-specific-rule matching , 2002, Proceedings International Symposium on Parallel Architectures, Algorithms and Networks. I-SPAN'02.

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

[14]  Peter van Emde Boas,et al.  Design and implementation of an efficient priority queue , 1976, Mathematical systems theory.

[15]  Stephen E. Deering,et al.  Internet Protocol, Version 6 (IPv6) Specification , 1995, RFC.

[16]  Nen-Fu Huang,et al.  A novel IP-routing lookup scheme and hardware architecture for multigigabit switching routers , 1999, IEEE J. Sel. Areas Commun..

[17]  Kari Seppänen Novel IP address lookup algorithm for inexpensive hardware implementation , 2002 .