Subscribe
Issue No.04 - April (2010 vol.59)
pp: 492-506
Yeim-Kuan Chang , National Cheng Kung University, Tainan
Yung-Chieh Lin , National Cheng Kung University, Tainan
Cheng-Chien Su , National Cheng Kung University, Tainan
ABSTRACT
A dynamic multiway segment tree (DMST) is proposed for IP lookups in this paper. DMST is designed for dynamic routing tables that can dynamically insert and delete prefixes. DMST is implemented as a B-tree that has all distinct end points of ranges as its keys. The complexities of search, insertion, deletion, and memory requirement are the same as the existing multiway range tree (MRT) and prefix in B-tree (PIBT) for prefixes. In addition, a pipelined DMST search engine is proposed to further speed up the search operations. The proposed pipelined DMST search engine uses off-chip SRAMs instead of on-chip SRAMs because the capacity of the latter is too small to hold large routing tables and the cost of the latter is too expensive. By utilizing current FPGA and off-chip SRAM technologies, our proposed five-stage pipelined search engine can achieve the worst case throughputs of 33.3 and 41.7 million packets per second (Mpps) with 144-bit and 288-bit wide SRAM blocks, respectively. Furthermore, a straightforward extension of the pipelined search engine with multiple independent off-chip SRAMs can achieve the throughput of 200 Mpps which is equivalent to 102 Gbps for minimal Ethernet packets of size 64 bytes.
INDEX TERMS
Segment tree, elementary interval, B-tree, pipeline, FPGA.
CITATION
Yeim-Kuan Chang, Yung-Chieh Lin, Cheng-Chien Su, "Dynamic Multiway Segment Tree for IP Lookups and the Fast Pipelined Search Engine", IEEE Transactions on Computers, vol.59, no. 4, pp. 492-506, April 2010, doi:10.1109/TC.2009.153
REFERENCES
 [1] Avnet Electronics Marketing—Electronic Components Distributor Services, http:/avnetexpress.avnet.com/, 2009. [2] F. Baker, "Requirements for IP Version 4 Routers" RFC 1812, June 1995. [3] M.D. Berg, M.V. Kreveld, M. Overmars, and O. Schwarzkopf, Computational Geometry: Algorithms and Applications, second ed. Springer Verlag, 2000. [4] BGP Routing Table Analysis Reports, http:/bgp.potaroo.net/, 2009. [5] Y.-K. Chang and Y.-C. Lin, "Dynamic Segment Trees for Ranges and Prefixes," IEEE Trans. Computers, vol. 56, no. 6, pp. 769-784, June 2007. [6] H. Chao, "Next Generation Routers," Proc. IEEE, vol. 90, no. 9, pp. 1518-1558, Sept. 2002. [7] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, second ed. The MIT Press, Sept. 2001. [8] Cypress Semiconductor Corp., "CY7C1347G, 4-Mbit (128K x 36) Pipelined Sync SRAM," Document #: 38-05516 Rev. ∗F, Revised, Jan. 2009. [9] M. Degermark, A. Brodnik, S. Carlsson, and S. Pink, "Small Forwarding Tables for Fast Routing Lookups," Proc. ACM SIGCOMM, pp. 3-14, Oct. 1997. [10] DigiKey Corp.—Electronic Components Distributor, http:/www.digikey.com/, 2009. [11] A. Feldman and S. Muthukrishnan, "Tradeoffs for Packet Classification," Proc. IEEE INFOCOM, vol. 3, pp. 1193-1202, Mar. 2000. [12] P. Gupta, S. Lin, and N. McKeown, "Routing Lookups in Hardware at Memory Access Speeds," Proc. IEEE INFOCOM, vol. 3, pp. 1240-1247, Apr. 1998. [13] P. Gupta, B. Prabhakar, and S. Boyd, "Near-Optimal Routing Lookups with Bounded Worst Case Performance," Proc. IEEE INFOCOM, vol. 3, pp. 1184-1192, Mar. 2000. [14] I. Ioannidis, A. Grama, and M. Atallah, "Adaptive Data Structures for IP Lookups," Proc. IEEE INFOCOM, vol. 1, pp. 75-84, 2003. [15] C. Labovitz, G. Malan, and F. Jahabnian, "Internet Routing Instability," Proc. ACM SIGCOMM, vol. 6, no. 5, pp. 515-528, Oct. 1998. [16] B. Lampson, V. Srinivasan, and G. Varghese, "IP Lookups Using Multiway and Multicolumn Search," IEEE/ACM Trans. Networking, vol. 7, no. 3, pp. 324-334, June 1999. [17] H. Lu, K. Kim, and S. Sahni, "Prefix and Interval-Partitioned Dynamic IP Router-Tables," IEEE Trans. Computers, vol. 54, no. 5, pp. 545-557, May 2005. [18] H. Lu and S. Sahni, "$O(logn)$ Dynamic Router-Tables for Prefixes and Ranges," IEEE Trans. Computers, vol. 53, no. 10, pp. 1217-1230, Oct. 2004. [19] H. Lu and S. Sahni, "Enhanced Interval Trees for Dynamic IP Router-Tables," IEEE Trans. Computers, vol. 53, no. 12, pp. 1615-1628, Dec. 2004. [20] H. Lu and S. Sahni, "A B-Tree Dynamic Router-Table Design," IEEE Trans. Computers, vol. 54, no. 7, pp. 813-824, July 2005. [21] E. McCreight, "Priority Search Trees," SIAM J. on Computing, vol. 14, no. 2, pp. 257-276, 1985. [22] S. Nilsson and G. Karlsson, "IP-Address Lookup Using LC-Tries," IEEE J. on Selected Areas in Comm., vol. 17, no. 6, pp. 1083-1092, June 1999. [23] M. Ruiz-Sanchez, E. Biersack, and W. Dabbous, "Survey and Taxonomy of IP Address Lookup Algorithms," IEEE Network, vol. 15, no. 2, pp. 8-23, Mar./Apr. 2001. [24] S. Sahni and K. Kim, "An $O(logn)$ Dynamic Router-Table Design," IEEE Trans. Computers, vol. 53, no. 3, pp. 351-363, Mar. 2004. [25] R. Sangireddy, N. Futamura, S. Aluru, and A.K. Somani, "Scalable, Memory Efficient, High-Speed IP Lookup Algorithms," IEEE/ACM Trans. Networking, vol. 13, no. 4, pp. 802-812, Aug. 2005. [26] X. Sun and Y.Q. Zhao, "An On-Chip IP Address Lookup Algorithm," IEEE Trans. Computers, vol. 54, no. 7, pp. 873-885, July 2005. [27] University of Oregon Route Views Archive Project, http:/archive.routeviews.org/, 2009. [28] M. Waldvogel, G. Varghese, J. Turner, and B. Plattner, "Scalable High Speed IP Routing Lookups," Proc. ACM SIGCOMM, pp. 25-36, Oct. 1997. [29] P. Warkhede, S. Suri, and G. Varghese, "Multiway Range Trees: Scalable IP Lookup with Fast Updates," Computer Networks, vol. 44, no. 3, pp. 289-303, Feb. 2004. [30] Xilinx, "Virtex-5 Family Overview," Product Specification, DS100 (v5.0), Feb. 2009.