A scalable IPv6 route lookup scheme via dynamic variable-stride bitmap compression and path compression

The significantly increased address length of IPv6 (128-bit) provides an endless pool of address space. However, it also poses a great challenge on wire-speed route lookup for high-end routing devices, because of the explosive growth of both lookup latency and storage requirement. As a result, even today's most efficient IPv4 route lookup schemes can hardly be competent for IPv6. In this paper, we develop a novel IPv6 lookup scheme based on a thorough study of the distributions of real-world route prefixes and associative RFC documents. The proposed scheme combines the bitmap compression with path compression, and employs a variable-stride mechanism to maximize the compress ratio and minimize average memory reference. A possible implementation using mixed CAM devices is also suggested to further reduce the memory consumption and lookup steps. The experimental results show that for an IPv6 route table containing over 130K prefixes, our scheme can perform 22 million lookups per second even in the worst case with only 440Kbytes SRAM and no more than 3Kbytes TCAM. This means that it can support 10Gbps wire-speed forwarding for back-to-back 40-byte packets using on-chip memories or caches. What's more, incremental updates and high scalability is also achieved.

[1]  Will Eatherton Hardware-based internet protocol prefix lookups , 1998 .

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

[3]  George Varghese,et al.  A pipelined memory architecture for high throughput network processors , 2003, ISCA '03.

[4]  Stephen E. Deering,et al.  An IPv6 Aggregatable Global Unicast Address Format , 1998, RFC.

[5]  Stephen E. Deering,et al.  IPv6 Global Unicast Address Format , 2003, RFC.

[6]  John W. Lockwood,et al.  Scalable IP lookup for Internet routers , 2003, IEEE J. Sel. Areas Commun..

[7]  Jan van Lunteren Searching very large routing tables in wide embedded memory , 2001, GLOBECOM.

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

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

[10]  George Varghese,et al.  Deterministic memory-efficient string matching algorithms for intrusion detection , 2004, IEEE INFOCOM 2004.

[11]  Arin Apnic,et al.  IPv6 Address Allocation and Assignment Policy , 2002 .

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

[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]  Internet Architecture Board,et al.  IAB/IESG Recommendations on IPv6 Address Allocations to Sites , 2001, RFC.

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

[16]  Stephen E. Deering,et al.  Initial IPv6 Sub-TLA ID Assignments , 2000, RFC.