Efficient hardware architecture for fast IP address lookup

A multi-gigabit internet protocol (IP) router may receive several million packets per second from each input link. For each packet, the router needs to find the longest matching prefix in the forwarding table in order to determine the packet's next-hop. An efficient hardware solution for the IP address lookup problem is presented. The problem is modelled as a searching problem on a binary-trie. The binary-trie is partitioned into fixed size non-overlapping subtrees. Each subtree is represented using a bit-vector and can be searched in parallel for the best matching prefix in a few nanoseconds. The address lookup is implemented using a hardware pipeline with a throughput of one lookup per memory access. A distinguishing feature of the design is that forwarding table entries are not replicated in the data structure. Hence, table updates can be done in constant time with only a few memory accesses. The approach can be extended to IPv6. By applying path compression, the amount of memory required is upper bounded by O(N) where N is the number of prefixes in the routing table.

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

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

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

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

[5]  Stephen A. Thomas,et al.  IPng and the TCP/IP Protocols: Implementing the Next Generation Internet , 1996 .

[6]  Günter Karjoth,et al.  Routing on longest-matching prefixes , 1996, TNET.

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

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

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

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

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

[12]  Marcel Waldvogel,et al.  Multi-dimensional prefix matching using line search , 2000, Proceedings 25th Annual IEEE Conference on Local Computer Networks. LCN 2000.

[13]  George Varghese,et al.  Memory-efficient state lookups with fast updates , 2000, SIGCOMM 2000.