High-Performance Pipelined Architecture for Tree-Based IP Lookup Engine on FPGA

IP lookup problem involves searching the input IP address for a matching IP prefix in the routing table. Hardware-accelerated IP lookup engines based on various data structures such as balanced tree structures have been proposed over the years. In tree-based approaches, as the size of the tree increases, large off-chip memory has to be used. In addition, the linear growth of wire length with respect to the number of nodes at a level adversely affects the throughput. We present a tree-based IP lookup engine on FPGA which optimizes the pipeline with respect to scalability and throughput. Our solution has the following novel features: (1) We present a 2-dimensional fine-grained layout for the Processing Elements (PEs) using distributed RAM to reduce the maximum wire length. (2) We employ "split-tree" architecture for BRAM-based PEs at each tree level to improve the clock rate. (3) We use a realistic model of off-chip memory access and guarantee high throughput for the lookup process. Post place-and-route results show that, our tree-based IP lookup engine can achieve a throughput of 400MLPS (million lookups per second) for any routing table containing 256~512K IPv6 prefixes, while using 59% of the logic resources and 19% of the BRAM available on a state-of-the-art FPGA device.

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

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

[3]  Gaogang Xie,et al.  Offset addressing approach to memory-efficient IP address lookup , 2011, 2011 Proceedings IEEE INFOCOM.

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

[5]  H. Jonathan Chao,et al.  FlashTrie: Hash-based Prefix-Compressed Trie for IP Route Lookup Beyond 100Gbps , 2010, 2010 Proceedings IEEE INFOCOM.

[6]  Bin Liu,et al.  A TCAM-based distributed parallel IP lookup scheme and performance analysis , 2006, IEEE/ACM Transactions on Networking.

[7]  Viktor K. Prasanna,et al.  High throughput and large capacity pipelined dynamic search tree on FPGA , 2010, FPGA '10.

[8]  Tor M. Aamodt,et al.  A Hybrid Analytical DRAM Performance Model , 2011 .

[9]  Francis Zane,et al.  Coolcams: power-efficient TCAMs for forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[10]  Fang Hao,et al.  Scalable IP lookups using shape graphs , 2009, 2009 17th IEEE International Conference on Network Protocols.

[11]  Nian-Feng Tzeng,et al.  Concise Lookup Tables for IPv4 and IPv6 Longest Prefix Matching in Scalable Routers , 2012, IEEE/ACM Transactions on Networking.

[12]  Viktor K. Prasanna,et al.  Scalable high-throughput SRAM-based architecture for IP-lookup using FPGA , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[13]  Viktor K. Prasanna,et al.  Scalable Tree-Based Architectures for IPv4/v6 Lookup Using Prefix Partitioning , 2012, IEEE Transactions on Computers.

[14]  Masoud Sabaei,et al.  A novel reconfigurable hardware architecture for IP address lookup , 2005, 2005 Symposium on Architectures for Networking and Communications Systems (ANCS).

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

[16]  M. AdelsonVelskii,et al.  AN ALGORITHM FOR THE ORGANIZATION OF INFORMATION , 1963 .

[17]  Srinivas Aluru,et al.  Scalable, memory efficient, high-speed IP lookup algorithms , 2005, IEEE/ACM Transactions on Networking.

[18]  Rami G. Melhem,et al.  A Novel Scalable IPv6 Lookup Scheme Using Compressed Pipelined Tries , 2011, Networking.

[19]  Ioannis Sourdis,et al.  Longest Prefix Match and updates in Range Tries , 2011, ASAP 2011 - 22nd IEEE International Conference on Application-specific Systems, Architectures and Processors.

[20]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[21]  Timothy Sherwood,et al.  Modeling TCAM power for next generation network devices , 2006, 2006 IEEE International Symposium on Performance Analysis of Systems and Software.

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

[23]  Frank Vahid,et al.  Don't forget memories: a case study redesigning a pattern counting ASIC circuit for FPGAs , 2008, CODES+ISSS '08.

[24]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[25]  Pingfeng Zhong An IPv6 address lookup algorithm based on recursive balanced multi-way range trees with efficient search and update , 2011, 2011 International Conference on Computer Science and Service System (CSSS).