Sequence-preserving parallel IP lookup using multiple SRAM-based pipelines

SRAM (static random access memory)-based pipelined algorithmic solutions have become competitive alternatives to TCAMs (ternary content addressable memories) for high-throughput IP lookup. Multiple pipelines can be utilized in parallel to improve the throughput further. However, several challenges must be addressed to make such solutions feasible. First, the memory distribution over different pipelines, as well as across different stages of each pipeline, must be balanced. Second, the traffic among these pipelines should be balanced. Third, the intra-flow packet order (i.e. the sequence) must be preserved. In this paper, we propose a parallel SRAM-based multi-pipeline architecture for IP lookup. A two-level mapping scheme is developed to balance the memory requirement among the pipelines as well as across the stages in each pipeline. To balance the traffic, we propose an early caching scheme to exploit the data locality inherent in the architecture. Our technique uses neither a large reorder buffer nor complex reorder logic. Instead, a flow-aware queuing scheme exploiting the flow information is used to maintain the intra-flow sequence. Extensive simulation using real-life traffic traces shows that the proposed architecture with 8 pipelines can achieve a throughput of up to 10 billion packets per second, i.e. 3.2 Tbps for minimum size (40 bytes) packets, while preserving intra-flow packet order.

[1]  Sartaj Sahni,et al.  Packet Forwarding Using Pipelined Multibit Tries , 2006, 11th IEEE Symposium on Computers and Communications (ISCC'06).

[2]  Hao Che,et al.  Study of flow caching for layer-4 switching , 2000, Proceedings Ninth International Conference on Computer Communications and Networks (Cat.No.00EX440).

[3]  Éva Tardos,et al.  Algorithm design , 2005 .

[4]  Mehrdad Nourani,et al.  A TCAM-Based Parallel Architecture for High-Speed Packet Forwarding , 2007, IEEE Transactions on Computers.

[5]  Viktor K. Prasanna,et al.  Multi-terabit ip lookup using parallel bidirectional pipelines , 2008, CF '08.

[6]  Dean M. Tullsen,et al.  A Tree Based Router Search Engine Architecture with Single Port Memories , 2005, ISCA 2005.

[7]  George Varghese,et al.  Tree bitmap: hardware/software IP lookups with incremental updates , 2004, CCRV.

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

[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]  Patrick Crowley,et al.  CAMP: fast and efficient IP lookup architecture , 2006, ANCS '06.

[11]  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.

[12]  Girija J. Narlikar,et al.  Fast incremental updates for pipelined forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[13]  Sartaj Sahni,et al.  Efficient Construction of Pipelined Multibit-Trie Router-Tables , 2007, IEEE Transactions on Computers.

[14]  David E. Taylor Survey and taxonomy of packet classification techniques , 2005, CSUR.

[15]  R. Govindarajan,et al.  Packet Reordering in Network Processors , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[16]  Bin Liu,et al.  Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

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

[18]  Viktor K. Prasanna,et al.  Parallel IP lookup using multiple SRAM-based pipelines , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

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

[20]  Bin Liu,et al.  A practical packet reordering mechanism with flow granularity for parallelism exploiting in network processors , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[21]  Viktor K. Prasanna,et al.  A Memory-Balanced Linear Pipeline Architecture for Trie-based IP Lookup , 2007 .