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.
Supplemental Material
Available for Download
This is a zipped tar file containing code describe in the paper
- Andersson, A. and Nilsson, S. 1994. Faster searching in tries and quadtrees: An analysis of level compression. In Proceedings of ESA '94.]] Google ScholarDigital Library
- Bremler-Barr, A., Afek, Y., and Har-Peled, S. 1999. Routing with a clue. In Proceedings of SIGCOMM '99.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- Cheung, G. and McCanne, S. 1999. Optimal routing table design for IP address lookups under memory constraints. In Proceedings of INFOCOM '99.]]Google ScholarCross Ref
- 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 ScholarDigital Library
- Crescenzi, P., Dardini, L., and Grossi, R. 1999. IP address lookup made fast and simple. In Proceedings of ESA '99.]] Google ScholarDigital Library
- Degermark, M., Brodnik, A., Carlsson, S., and Pink, S. 1997. Small forwarding tables for fast routing lookups. In Proceedings of SIGCOMM '97.]] Google ScholarDigital Library
- Gupta, P., Lin, S., and McKeown, N. 1998. Routing lookups in hardware at memory access speeds. In Proceedings of INFOCOM '98.]]Google ScholarCross Ref
- Labovitz, C., Malan, G., and Jahanian, F. 1997. Internet routing instability. In Proceedings of SIGCOMM '97.]] Google ScholarDigital Library
- Lampson, B., Srinivasan, V., and Varghese, G. 1998. IP lookups using multiway and multicolumn search. In Proceedings of INFOCOM '98.]]Google Scholar
- Martello, S. and Toth, P. 1990. Knapsack Problems. Wiley, New York.]]Google Scholar
- 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 Scholar
- Narlikar, G. and Zane, F. 1991. Performance modeling for fast IP lookups. In Proceedings of SIGMETRICS '91.]] Google ScholarDigital Library
- Newman, P., Minshall, G., and Huston, L. 1997. IP switching and gigabit routers. IEEE Communications Magazine 35, 1 (Jan.), 64--69.]] Google ScholarDigital Library
- Nilsson, S. and Karlsson, G. 1998. Fast address lookup for internet routers. In IFIP International Conference of Broadband Communications Conference Proceedings.]] Google ScholarDigital Library
- Parulkar, G., Schmidt, D., and Turner, J. 1995. IP/ATM: A strategy for integrating IP with ATM. In Proceedings of SIGCOMM '95.]] Google ScholarDigital Library
- Rekhter, Y., Davie, B., Katz, D., Rosen, E., Swallow, G., and Farinacci, D. n.d. Tag switching architecture overview. Internet Draft.]] Google ScholarDigital Library
- Sikka, S. and Varghese, G. 2000. Memory-efficient state lookups with fast updates. In Proceedings of SIGCOMM '00.]] Google ScholarDigital Library
- Sklower, K. 1991. A tree-based routing table for Berkeley Unix. In Proceedings of the 1991 Winter Usenix Conference.]]Google Scholar
- Srinivasan, V. and Varghese, G. 1998. Faster IP lookups using controlled prefix expansion. In Proceedings of SIGMETRICS '98/Performance '98.]] Google ScholarDigital Library
- Waldvogel, M., Varghese, G., Turner, J., and Plattner, B. 1997. Scalable high-speed IP routing lookups. In Proceedings of SIGCOMM '97.]] Google ScholarDigital Library
Index Terms
- Adaptive data structures for IP lookups
Recommendations
Simple and fast IP lookups using binomial spanning trees
High performance Internet routers require an efficient IP lookup algorithm to forward millions of packets per second. Various binary trie data structures are normally used in software-based routers. Binary trie based lookup algorithms are simple not ...
A hybrid hardware architecture for high-speed IP lookups and fast route updates
As network link rates are being pushed beyond 40 Gb/s, IP lookup in high-speed routers is moving to hardware. The ternary content addressable memory (TCAM)-based IP lookup engine and the static random access memory (SRAM)-based IP lookup pipeline are ...
Comments