This Article 
 Bibliographic References 
 Add to: 
A B-Tree Dynamic Router-Table Design
July 2005 (vol. 54 no. 7)
pp. 813-824
Haibin Lu, IEEE
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 MRT (Multiway Range Trees) is that, in our data structure, each prefix is stored in O(1) B-tree nodes per B-tree level, whereas, in MRT, each prefix is stored in O(m) nodes per level (m is the order of the B-tree). As a result of this difference, the measured average insert and delete times using our structure are about 30 percent less than when MRT is used. Further, an update operation of MRT 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 and 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. For the case of nonintersecting ranges, our data structure requires O(n\log_mn) memory and O(\log_m n) nodes are accessed during an operation (finding the highest-priority matching range, insert and delete a range).

[1] M. Degermark, A. Brodnik, S. Carlsson, and S. Pink, “Small Forwarding Tables for Fast Routing Lookups,” Proc. ACM SIGCOMM, pp. 3-14, 1997.
[2] W. Doeringer, G. Karjoth, and M. Nassehi, “Routing on Longest-Matching Prefixes,” IEEE/ACM Trans. Networking, vol. 4, no. 1, pp. 86-97, 1996.
[3] F. Ergun, S. Mittra, S. Sahinalp, J. Sharp, and R. Sinha, “A Dynamic Lookup Scheme for Bursty Access Patterns,” Proc. IEEE INFOCOM 2001.
[4] P. Gupta and N. McKeown, “Dynamic Algorithms with Worst-Case Performance for Packet Classification,” Proc. IFIP Networking, 2000.
[5] E. Horowitz, S. Sahni, and D. Mehta, Fundamentals of Data Structures in C++. New York: W.H. Freeman, 1995.
[6] Merit, Ipma statistics, http://nic.merit.eduipma, 2001.
[7] B. Lampson, V. Srinivasan, and G. Varghese, “IP Lookup Using Multi-Way and Multicolumn Search,” Proc. IEEE INFOCOM '98, 1998.
[8] H. Lu and S. Sahni, “$O(log n)$ Dynamic Router-Tables for Prefixes and Ranges,” IEEE Trans. Computers, vol. 53, no. 10, pp. 1217-1230, Oct. 2004.
[9] H. Lu and S. Sahni, “Dynamic IP Router-Tables Using Highest-Priority Matching,” Proc. IEEE Symp. Computers and Comm., 2004.
[10] S. Nilsson and G. Karlsson, “Fast Address Look-Up for Internet Routers,” IEEE Broadband Comm., 1998.
[11] M. Ruiz-Sanchez, E. Biersack, and W. Dabbous, “Survey and Taxonomy of IP Address Lookup Algorithms,” IEEE Network, pp. 8-23, 2001.
[12] S. Sahni and K. Kim, “Efficient Construction of Fixed-Stride Multibit Tries for IP Lookup,” Proc. Eighth IEEE Workshop Future Trends of Distributed Computing Systems, 2001.
[13] S. Sahni and K. Kim, “Efficient Construction of Variable-Stride Multibit Tries for IP Lookup,” Proc. IEEE Symp. Applications and the Internet (SAINT), pp. 220-227, 2002.
[14] S. Sahni and K. Kim, “$O(\log n)$ Dynamic Packet Routing,” Proc. IEEE Symp. Computers and Comm., 2002.
[15] S. Sahni and K. Kim, “Efficient Dynamic Lookup for Bursty Access Patterns,” Int'l J. Foundations of Computer Science, vol. 15, no. 4, pp. 567-592, 2004.
[16] S. Sahni, Data Structures, Algorithms, and Applications in Java, second ed. Silicon Press, 2005.
[17] S. Sahni, K. Kim, and H. Lu, “Data Structures for One-Dimensional Packet Classification Using Most-Specific-Rule Matching,” Int'l J. Foundations of Computer Science, vol. 14, no. 3, pp. 337-358, 2003.
[18] K. Sklower, “A Tree-Based Routing Table for Berkeley Unix,” Technical Report, Univ. of California, Berkeley, 1993.
[19] V. Srinivasan and G. Varghese, “Faster IP Lookups Using Controlled Prefix Expansion,” ACM Trans. Computer Systems, pp. 1-40, Feb. 1999.
[20] P.R. Warkhede, S. Suri, and G. Varghese, “Multiway Range Trees: Scalable IP Lookup with Fast Updates,” Computer Networks, vol. 44, no. 3, pp. 289-303, 2004.
[21] M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, “Scalable High Speed IP Routing Lookups,” Proc. ACM SIGCOMM, pp. 25-36, 1997.

Index Terms:
Index Terms- Packet routing, dynamic router-tables, longest-prefix matching, highest-priority-range matching, nonintersecting ranges, B-trees.
Haibin Lu, Sartaj Sahni, "A B-Tree Dynamic Router-Table Design," IEEE Transactions on Computers, vol. 54, no. 7, pp. 813-824, July 2005, doi:10.1109/TC.2005.104
Usage of this product signifies your acceptance of the Terms of Use.