Multibillion packet lookup for next generation networks

Abstract Fast Internet Protocol Version 4 (IPv4) lookup is one of the key challenges that have always been faced with growing internet speed. Next generation networks promise hundreds of gigabit communication bandwidths. To support such high data rates, core networking devices require very fast IPv4 lookup for incoming packets to sustain their functionality. Researchers from academia and industry have contributed widely towards this problem, presenting numerous techniques and algorithms to improve lookup times. In this paper, a bit vector-based IP lookup engine is presented that implements parallel units to achieve 4.3 Billion Packets Per Second (BPPS) lookup speeds for 5 fields. Implementations are done using dual port Distributed RAM (DRAM) on state-of-the-art Xilinx Virtex 7 series Field Programmable Gate Arrays (FPGA). Post place and route results for different configurations showed that the proposed design consumes much less memory, facilitating multiple engines on a single chip whilst maintaining a very low overall power profile.

[1]  Gordon J. Brebner,et al.  400 Gb/s Programmable Packet Parsing on a Single FPGA , 2011, 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems.

[2]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

[3]  Yeim-Kuan Chang,et al.  Range-Enhanced Packet Classification Design on FPGA , 2016, IEEE Transactions on Emerging Topics in Computing.

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

[5]  Yeim-Kuan Chang,et al.  Fast Packet Classification using Recursive Endpoint-Cutting and Bucket Compression on FPGA , 2018, Comput. J..

[6]  Pi-Chung Wang,et al.  TCAM-Based Multi-Match Packet Classification Using Multidimensional Rule Layering , 2016, IEEE/ACM Transactions on Networking.

[7]  Carlos A. Zerbini,et al.  Performance evaluation of packet classification on FPGA-based TCAM emulation architectures , 2012, 2012 IEEE Global Communications Conference (GLOBECOM).

[8]  A. A. Abdulhassan,et al.  Cuckoo filter-based many-field packet classification using X-tree , 2019, The Journal of Supercomputing.

[9]  Hui Li,et al.  An Advanced TCAM-SRAM Architecture for Ranges Towards Minimizing Packet Classifiers , 2018, 2018 IEEE 20th International Conference on High Performance Computing and Communications; IEEE 16th International Conference on Smart City; IEEE 4th International Conference on Data Science and Systems (HPCC/SmartCity/DSS).

[10]  Salvatore Pontarelli,et al.  PR-TCAM: Efficient TCAM Emulation on Xilinx FPGAs Using Partial Reconfiguration , 2019, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Xiaoming Dong,et al.  Packet classification based on the decision tree with information entropy , 2018, The Journal of Supercomputing.

[12]  Kuruvilla Varghese,et al.  A Scalable High Throughput Firewall in FPGA , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[13]  Nick McKeown,et al.  Classifying Packets with Hierarchical Intelligent Cuttings , 2000, IEEE Micro.

[14]  Viktor K. Prasanna,et al.  High-Performance and Dynamically Updatable Packet Classification Engine on FPGA , 2016, IEEE Transactions on Parallel and Distributed Systems.

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

[16]  Timothy Sherwood,et al.  Ternary CAM Power and Delay Model: Extensions and Uses , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Pi-Chung Wang,et al.  Fast TCAM-Based Multi-Match Packet Classification Using Discriminators , 2018, IEEE Transactions on Multi-Scale Computing Systems.

[18]  Jan Korenek,et al.  Packet Classification with Limited Memory Resources , 2017, 2017 Euromicro Conference on Digital System Design (DSD).

[19]  Jan Korenek,et al.  Fast and scalable packet classification using perfect hash functions , 2009, FPGA '09.