Tree bitmap: hardware/software IP lookups with incremental updates

Even with the significant focus on IP address lookup in the published literature as well as focus on this market by commercial semiconductor vendors, there is still a challenge for router architects to find solutions that simultaneously meet 3 criteria: scaling in terms of lookup speeds as well as table sizes, the ability to perform high speed updates, and the ability to fit into the overall memory architecture of an Level 3 forwarding engine or packet processor with low systems cost overhead. In this paper, we describe a scheme that meets all three criteria. By contrast, published and commercial semiconductor solutions meet some but not all of these three criteria.For example, many approaches that provide dense tables have poor update times; others require large amounts of expensive high speed memory dedicated to this application. Many IP address lookup approaches do not take into account the flexibility of ASICs or the structure of modern high speed memory technologies such as RLDRAM[1] and FCRAM[2]. In this paper, we present a family of IP lookup schemes using a data structure that compactly encodes large prefix tables in order to address the criteria listed above. We also present a series of optimizations to the core algorithm that allows the memory access width of the algorithm to be reduced at the cost of memory references or allocated memory. Such flexibility in performance versus density is an important feature for the lookup engine of routers that may be deployed in different networks with varying requirements on address lookup length and table density (e.g. global IPv4 networks, global v6, VPN based v4 networks, MPLS, and IP tunneling encapsulation points).

[1]  Uyless D. Black,et al.  Sonet and T1: Architectures for Digital Transport Networks , 2001 .

[2]  Srinivasan Keshav,et al.  Issues and trends in router design , 1998, IEEE Commun. Mag..

[3]  Mischa Schwartz,et al.  ACM SIGCOMM computer communication review , 2001, CCRV.

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

[5]  Craig Partridge,et al.  A Fifty Gigabit Per Second IP Router , 2001 .

[6]  T. V. Lakshman,et al.  Beyond best effort: router architectures for the differentiated services of tomorrow's Internet , 1998, IEEE Commun. Mag..

[7]  David Waitzman,et al.  A 50-Gb/s IP router , 1998, TNET.

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

[9]  George Varghese,et al.  Faster IP lookups using controlled prefix expansion , 1998, SIGMETRICS '98/PERFORMANCE '98.

[10]  Roberto Grossi,et al.  IP Address Lookup Made Fast and Simple , 1999, ESA.

[11]  George Varghese,et al.  Fast and scalable layer four switching , 1998, SIGCOMM '98.

[12]  Farnam Jahanian,et al.  Internet routing instability , 1997, SIGCOMM '97.

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

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

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

[16]  Patrick Crowley,et al.  Network Processor Design: Issues and Practices , 2002 .

[17]  Donald F. Towsley,et al.  On routing table growth , 2002, CCRV.

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

[19]  Nick McKeown Fast Switched Backplane for a Gigabit Switched Router , 1997 .

[20]  J. Anderson,et al.  IP over SONET , 1998 .

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

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

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

[24]  Francis Zane,et al.  Coolcams: power-efficient TCAMs for forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

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

[26]  Donald F. Towsley,et al.  On characterizing BGP routing table growth , 2002, Global Telecommunications Conference, 2002. GLOBECOM '02. IEEE.