A memory efficient IPv6 lookup engine on FPGA

High-speed IP lookup remains a challenging problem in next generation routers due to the ever increasing line rate and routing table size. The evolution towards IPv6 results in long prefix length, sparse prefix distribution, and potentially very large routing tables. In this paper we propose a memory-efficient IPv6 lookup engine on Field Programmable Gate Array (FPGA). Static data structures are employed to reduce the on chip memory requirement. We design two novel techniques: implicit match identification and implicit match relay, to enhance the overall memory efficiency. Our experimental results show that the proposed techniques reduce memory usage by 30%. Using our architecture, state-of-the-art FPGA devices can support 2 copies of IPv6 routing table containing around 330k routing prefixes. Using dual ported BRAM and external SRAM, 4 pipelines can be implemented on a single device, achieving a throughput of 720 million lookups per second (MLPS).

[1]  Sartaj Sahni,et al.  IP Lookup by Binary Search on Prefix Length , 2002, J. Interconnect. Networks.

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

[3]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

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

[5]  Sarang Dharmapurikar,et al.  Longest prefix matching using bloom filters , 2006, IEEE/ACM Transactions on Networking.

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

[7]  Stephen E. Deering,et al.  Non-random generator for IPv6 tables , 2004, Proceedings. 12th Annual IEEE Symposium on High Performance Interconnects.

[8]  Viktor K. Prasanna,et al.  High Performance IP Lookup on FPGA with Combined Length-Infix Pipelined Search , 2011, 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines.

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

[10]  Haoyu Song,et al.  Shape shifting tries for faster IP route lookup , 2005, 13TH IEEE International Conference on Network Protocols (ICNP'05).

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

[12]  Bernhard Plattner,et al.  Scalable high-speed prefix matching , 2001, TOCS.

[13]  J AkhbarizadehMohammad,et al.  A TCAM-Based Parallel Architecture for High-Speed Packet Forwarding , 2007 .