skip to main content
article

Adaptive data structures for IP lookups

Published:31 December 2005Publication History
Skip Abstract Section

Abstract

The problem of efficient data structures for IP lookups has been well studied in the literature. Techniques such as LC tries and extensible hashing are commonly used. In this paper, we address the problem of generalizing LC tries, based on traces of past lookups, to provide performance guarantees for memory suboptimal structures. As a specific example, if a memory-optimal (LC) trie takes 6 MB and the total memory at the router is 8 MB, how should the trie be modified to make best use of the 2 MB of excess memory? We present a greedy algorithm for this problem and prove that, if for the optimal data structure there are b fewer memory accesses on average for each lookup compared with the original trie, the solution produced by the greedy algorithm will have at least 9 × b/11 fewer memory accesses on average (compared to the original trie). An efficient implementation of this algorithm presents significant additional challenges. We describe an implementation with a time complexity of O(ξ(d)nlog n) and a space complexity of O(n), where n is the number of nodes of the trie and d its depth. The depth of a trie is fixed for a given version of the Internet protocol and is typically O(log n). In this case, ξ(d) = O(log2 n). We also demonstrate experimentally the performance and scalability of the algorithm on actual routing data.

Skip Supplemental Material Section

Supplemental Material

References

  1. Andersson, A. and Nilsson, S. 1994. Faster searching in tries and quadtrees: An analysis of level compression. In Proceedings of ESA '94.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bremler-Barr, A., Afek, Y., and Har-Peled, S. 1999. Routing with a clue. In Proceedings of SIGCOMM '99.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chandranmenon, G. V. G. and Varghese, G. 1996. Trading packet headers for packet processing. IEEE/ACM Transactions on Networking 4, 2 (Apr.), 141--152.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cheung, G. and McCanne, S. 1999. Optimal routing table design for IP address lookups under memory constraints. In Proceedings of INFOCOM '99.]]Google ScholarGoogle ScholarCross RefCross Ref
  5. Cheung, G., McCanne, S., and Papadimitriou, C. 1999. Software synthesis of variable-length code decoder using a mixture of programmed logic and table lookups. In Proceedings of DCC '99.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Crescenzi, P., Dardini, L., and Grossi, R. 1999. IP address lookup made fast and simple. In Proceedings of ESA '99.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Degermark, M., Brodnik, A., Carlsson, S., and Pink, S. 1997. Small forwarding tables for fast routing lookups. In Proceedings of SIGCOMM '97.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gupta, P., Lin, S., and McKeown, N. 1998. Routing lookups in hardware at memory access speeds. In Proceedings of INFOCOM '98.]]Google ScholarGoogle ScholarCross RefCross Ref
  9. Labovitz, C., Malan, G., and Jahanian, F. 1997. Internet routing instability. In Proceedings of SIGCOMM '97.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Lampson, B., Srinivasan, V., and Varghese, G. 1998. IP lookups using multiway and multicolumn search. In Proceedings of INFOCOM '98.]]Google ScholarGoogle Scholar
  11. Martello, S. and Toth, P. 1990. Knapsack Problems. Wiley, New York.]]Google ScholarGoogle Scholar
  12. McAuley, A., Tsuchiya, P., and Wilson, D. n.d. Fast multilevel hierarchical routing table using content-addressable memory. U.S. Patent serial number 034444.]]Google ScholarGoogle Scholar
  13. Narlikar, G. and Zane, F. 1991. Performance modeling for fast IP lookups. In Proceedings of SIGMETRICS '91.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Newman, P., Minshall, G., and Huston, L. 1997. IP switching and gigabit routers. IEEE Communications Magazine 35, 1 (Jan.), 64--69.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Nilsson, S. and Karlsson, G. 1998. Fast address lookup for internet routers. In IFIP International Conference of Broadband Communications Conference Proceedings.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Parulkar, G., Schmidt, D., and Turner, J. 1995. IP/ATM: A strategy for integrating IP with ATM. In Proceedings of SIGCOMM '95.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Rekhter, Y., Davie, B., Katz, D., Rosen, E., Swallow, G., and Farinacci, D. n.d. Tag switching architecture overview. Internet Draft.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sikka, S. and Varghese, G. 2000. Memory-efficient state lookups with fast updates. In Proceedings of SIGCOMM '00.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Sklower, K. 1991. A tree-based routing table for Berkeley Unix. In Proceedings of the 1991 Winter Usenix Conference.]]Google ScholarGoogle Scholar
  20. Srinivasan, V. and Varghese, G. 1998. Faster IP lookups using controlled prefix expansion. In Proceedings of SIGMETRICS '98/Performance '98.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Waldvogel, M., Varghese, G., Turner, J., and Plattner, B. 1997. Scalable high-speed IP routing lookups. In Proceedings of SIGCOMM '97.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Adaptive data structures for IP lookups

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Journal of Experimental Algorithmics
      ACM Journal of Experimental Algorithmics  Volume 10, Issue
      2005
      291 pages
      ISSN:1084-6654
      EISSN:1084-6654
      DOI:10.1145/1064546
      Issue’s Table of Contents

      Copyright © 2005 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 31 December 2005
      Published in jea Volume 10, Issue

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader