Scalable high-throughput SRAM-based architecture for IP-lookup using FPGA

Most high-speed Internet Protocol (IP) lookup implementations use tree traversal and pipelining. However, this approach results in inefficient memory utilization. Due to available on-chip memory and pin limitations of FPGAs, state-of-the-art designs on FPGAs cannot support large routing tables arising in backbone routers. Therefore, ternary content addressable memory (TCAM) is widely used. We propose a novel SRAM-based linear pipeline architecture, named DuPI. Using a single Virtex-4, DuPI can support a routing table of up to 228 K prefixes, which is 3times the state-of-the-art. Our architecture can also be easily partitioned, so as to use external SRAM to handle even larger routing tables (up to 2 M prefixes), while maintaining a 324 MLPS throughput. The use of SRAM (instead of TCAM) leads to orders of magnitude of reduction in power dissipation. Employing caching to exploit Internet traffic locality, we can achieve a throughput of 1.3 GLPS (billion lookups per second). Our design also maintains packet input order, and supports in-place non-blocking route updates.

[1]  Wladek Olesinski,et al.  Backlog Aware Low Complexity Schedulers for Input Queued Packet Switches , 2007 .

[2]  J AkhbarizadehMohammad,et al.  A nonredundant ternary CAM circuit for network search engines , 2006 .

[3]  Girija J. Narlikar,et al.  Fast incremental updates for pipelined forwarding engines , 2005, IEEE/ACM Transactions on Networking.

[4]  Mateo Valero,et al.  Architectural impact of stateful networking applications , 2005, 2005 Symposium on Architectures for Networking and Communications Systems (ANCS).

[5]  Mehrdad Nourani,et al.  A nonredundant ternary CAM circuit for network search engines , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

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

[7]  Florin Baboescu DesignCon 2005 Hardware Implementation of a Tree Based IP Lookup Algorithm for OC-768 and beyond , 2005 .

[8]  Viktor K. Prasanna,et al.  A SRAM-based Architecture for Trie-based IP Lookup Using FPGA , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[9]  Haoyu Song,et al.  Efficient packet classification for network intrusion detection using FPGA , 2005, FPGA '05.

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

[11]  Viktor K. Prasanna,et al.  A Memory-Balanced Linear Pipeline Architecture for Trie-based IP Lookup , 2007, 15th Annual IEEE Symposium on High-Performance Interconnects (HOTI 2007).

[12]  Masato Motomura,et al.  A New Hardware Algorithm for Fast IP Routing Targeting Programmable Routers , 2003, Net-Con.

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

[14]  Grigore Rosu,et al.  A tree based router search engine architecture with single port memories , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

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