Efficient construction of variable-stride multibit tries for IP lookup

Srinivasan and Varghese (1999) have proposed the use of multibit tries to represent routing tables used for Internet (IP) address lookups. They propose an O(n /sub */W/sup 2//sub */ k) dynamic programming algorithm to determine the strides for an optimal variable-stride trie that has at most k levels. Here, n is the number of prefixes in the routing table and W is the length of the longest prefix. We improve on this algorithm by providing an alternative dynamic programming formulation. The complexity of our algorithm is O(n/sub */W/sub */k), on real router data sets. This is an improvement by a factor of W over the corresponding algorithm of Srinivasan. Experiments conducted by us indicate that our variable-stride algorithm is between 2 and 17 times as fast for IPv4 routing table data.

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

[2]  Sartaj Sahni,et al.  Efficient construction of fixed-stride multibit tries for IP lookup , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.

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

[4]  Paul Francis,et al.  Fast routing table lookup using CAMs , 1993, IEEE INFOCOM '93 The Conference on Computer Communications, Proceedings.

[5]  Steven McCanne,et al.  Optimal routing table design for IP address lookups under memory constraints , 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).

[6]  Dejan S. Milojicic,et al.  Trend Wars - Internet technology , 2000, IEEE Concurr..

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

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

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

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

[11]  Barry M. Leiner,et al.  Internet technology , 1994, CACM.

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

[13]  Ellis Horowitz,et al.  Fundamentals of data structures in C , 1976 .

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

[15]  V. Srinivasan,et al.  Fast address lookups using controlled prefix expansion , 1999, TOCS.

[16]  Sartaj Sahni,et al.  Data Structures, Algorithms and Applications in Java , 1998 .

[17]  Sariel Har-Peled,et al.  Routing with a clue , 1999, SIGCOMM '99.