A B-tree dynamic router-table design

We propose B-tree data structures for dynamic router-tables for the cases when the filters are prefixes as well as when they are nonintersecting ranges. A crucial difference between our data structure for prefix filters and the B-tree router-table data structure of Suri et al. (2001) is that in our data structure, each prefix is stored in O(1) B-tree nodes per B-tree level, whereas in the structure of Suri et al. (2001), each prefix is stored in O(m) nodes per level (m is the order of the B-tree). As a result of this difference, a prefix may be inserted or deleted from an n-filter router table accessing only O(log/sub m/ n) nodes of our data structure; these operations access O(m log/sub m/ n) nodes using the structure of Suri et al. (2001). Eventhough the asymptotic complexity of prefix insertion and deletion is the same in both B-tree structures, experiments conducted by us show that because of the reduced cache misses for our structure, the measured average insert and delete times using our structure are about 30% less than when the B-tree structure of Suri et al. (2001) is used. Further, an update operation using the B-tree structure of Suri et al. (2001) will, in the worst case, make 2.5 times as many cache misses as made when our structure is used. The asymptotic complexity to find the longest matching prefix is the same, O(m log/sub m/ n) in both B-tree structures, and in both structures, this operation accesses O(log/sub m/ n) nodes. The measured time for this operation also is nearly the same for both data structures. Both B-tree structures for prefix router-tables take O(n) memory. However, our structure Is more memory efficient by a constant factor.

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

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

[3]  Sartaj Sahni,et al.  Dynamic IP router-tables using highest-priority matching , 2004, Proceedings. ISCC 2004. Ninth International Symposium on Computers And Communications (IEEE Cat. No.04TH8769).

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

[5]  Girija J. Narlikar,et al.  Fast incremental updates for pipelined forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[6]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[7]  Sartaj Sahni,et al.  Efficient construction of variable-stride multibit tries for IP lookup , 2002, Proceedings 2002 Symposium on Applications and the Internet (SAINT 2002).

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

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

[10]  Sartaj Sahni,et al.  Efficient Dynamic Lookup For Bursty Access Patterns , 2004, Int. J. Found. Comput. Sci..

[11]  Funda Ergün,et al.  A dynamic lookup scheme for bursty access patterns , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

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

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

[14]  Nick McKeown,et al.  Dynamic Algorithms with Worst-Case Performance for Packet Classification , 2000, NETWORKING.

[15]  S. Sahni,et al.  O(log n) dynamic packet routing , 2002, Proceedings ISCC 2002 Seventh International Symposium on Computers and Communications.

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

[17]  Sartaj Sahni,et al.  Data structures for dynamic router table , 2003 .

[18]  Sartaj Sahni,et al.  (log n) dynamic router-tables for ranges , 2003, Proceedings of the Eighth IEEE Symposium on Computers and Communications. ISCC 2003.

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

[20]  Sartaj Sahni,et al.  O(log n) Dynamic Router-Tables for Prefixes and Ranges , 2004, IEEE Trans. Computers.

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

[22]  Sartaj Sahni,et al.  Data Structures for One-Dimensional Packet Classification Using Most-Specific-Rule Matching , 2003, Int. J. Found. Comput. Sci..

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