A Fast and Memory Efficient Dynamic IP Lookup Algorithm Based on B-Tree

This paper deals with the traditional IP address lookup problem with fast updates. We propose a B-tree data structure, called MMSPT (Multiway Most Specific Prefix Tree), which is constructed by using the most specific prefixes in routing tables. MMSPT arranges the most specific prefixes as the keys in B-tree. Unlike the previous schemes, every prefixes in routing tables is stored exactly once in our MMSPT. For a routing table of  n prefixes, MMSPT requires  O(n) memory, and the time for search, insertion and deletion operations are O(logmn), O(mlogmn), and O(mlogmn), respectively (m is the order of the B-tree). Our experimental results conducted by using five real IPv4 routing tables show that MMSPT outperforms two existing B-tree data structures, PIBT (Prefix In B-Tree) and MRT (Multiway Range Tree), in all aspects. Moreover, since the complexities of MMSPT is not subject to the length of IP addresses, the proposed MMSPT can be easily extended to fit the IPv6.

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

[2]  Sartaj Sahni,et al.  An O(logn) dynamic router-table design , 2004, IEEE Transactions on Computers.

[3]  Nen-Fu Huang,et al.  A fast IP routing lookup scheme for gigabit switching routers , 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).

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

[5]  F G4HIKJL,et al.  A B-Tree Dynamic Router-Table Design , 2005 .

[6]  Sartaj Sahni,et al.  Prefix and interval-partitioned dynamic IP router-tables , 2005, IEEE Transactions on Computers.

[7]  Sartaj Sahni,et al.  Enhanced interval trees for dynamic IP router-tables , 2004, IEEE Transactions on Computers.

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

[9]  Sartaj Sahni,et al.  Data structures for one-dimensional packet classification using most-specific-rule matching , 2002, Proceedings International Symposium on Parallel Architectures, Algorithms and Networks. I-SPAN'02.

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

[11]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2004, Comput. Networks.

[12]  Keith Sklower,et al.  A Tree-Based Packet Routing Table for Berkeley Unix , 1991, USENIX Winter.

[13]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[14]  Anja Feldmann,et al.  Tradeoffs for packet classification , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

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

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

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

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

[19]  Haibin Lu,et al.  O(log n) dynamic router-tables for prefixes and ranges , 2004, IEEE Transactions on Computers.