Faster IP lookups using controlled prefix expansion

Internet (IP) address lookup is a major bottleneck in high performance routers. IP address lookup is challenging because it requires a longest matching prefix lookup. It is compounded by increasing routing table sizes, increased traffic, higher speed links, and the migration to 128 bit IPv6 addresses. We describe how IP lookups can be made faster using a new technique called controlled prefix expansion. Controlled prefix expansion, together with optimization techniques based on dynamic programming, can be used to improve the speed of the best known IP lookup algorithms by at least a factor of two. When applied to trie search, our techniques provide a range of algorithms whose performance can be tuned. For example, with 1 MB of L2 cache, trie search of the MaeEast database with 38,000 prefixes can be done in a worst case search time of 181 nsec, a worst case insert/delete time of 2.5 msec, and an average insert/delete time of 4 usec. Our actual experiments used 512 KB L2 cache to obtain a worst-case search time of 226 nsec, a worst-case worst case insert/delete time of 2.5 msec and an average insert/delete time of 4 usec. We also describe how our techniques can be used to improve the speed of binary search on prefix lengths to provide a scalable solution for IPv6. Our approach to algorithm design is based on measurements using the VTune tool on a Pentium to obtain dynamic clock cycle counts.

[1]  G. Varghese Eecient Fair Queuing Using Deecit round Robin , 1995 .

[2]  George Varghese,et al.  Trading packet headers for packet processing , 1996, TNET.

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

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

[5]  George Varghese,et al.  Trading packet headers for packet processing , 1995, SIGCOMM '95.

[6]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM 1989.

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

[8]  Dave Katz,et al.  Cisco Systems' Tag Switching Architecture Overview , 1997, RFC.

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

[10]  Gunnar Karlsson,et al.  Fast address look-up for internet routers , 1998, Broadband Communications.

[11]  Stephen Deering,et al.  Internet Protocol Version 6(IPv6) , 1998 .

[12]  G. Parulkar,et al.  Strategy for Integrating IP with ATM , 1995 .

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

[14]  Douglas C. Schmidt,et al.  aItPm: a strategy for integrating IP with ATM , 1995, SIGCOMM '95.

[15]  W.M. Seifert Bridges and routers , 1988, IEEE Network.

[16]  George Varghese,et al.  Efficient fair queueing using deficit round robin , 1995, SIGCOMM '95.

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

[18]  Radia Perlman Interconnections: Bridges and Routers , 1992 .