Fast TCAM-Based Multi-Match Packet Classification Using Discriminators

Ternary content addressable memory (TCAM) is a widely used technology for network devices to perform packet classification. TCAM compares a search key with all ternary entries in parallel to yield the first matching entry. To generate all matching entries, either storage or speed penalty is inevitable. Because of the inherit disadvantages of TCAM, including power hungry and limited capacity, the feasibility of TCAM-based multi-match packet classification (TMPC) is thus debatable. Discriminators appended to each TCAM entry have been used to avoid storage penalty for TMPC. We are motivated to minimize speed penalty for TMPC with discriminators. In this paper, a novel scheme, which utilizes unused TCAM entries to accelerate the search performance, is presented. It selectively generates TCAM entries to merge overlapping match conditions so that the number of accessed TCAM entries can be significantly reduced. By limiting the number of generated TCAM entries, the storage penalty is minimized since our scheme does not need extra TCAM chips. We further present several refinements to the search procedure. The experimental results show that our scheme can drastically improve the search performance with extra 10-20 percent TCAM entries. As a result, the power consumption, which correlates to the number of accessed TCAM entries per classification, can be reduced.

[1]  Chad R. Meiners,et al.  All-Match Based Complete Redundancy Removal for Packet Classifiers in TCAMs , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[2]  Martin Roesch,et al.  Snort - Lightweight Intrusion Detection for Networks , 1999 .

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

[4]  Sartaj Sahni,et al.  PC-DUOS: Fast TCAM lookup and update for packet classifiers , 2011, 2011 IEEE Symposium on Computers and Communications (ISCC).

[5]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[6]  Hayashi Isamu,et al.  A 28nm 400MHz 4-Parallel 1.6Gsearch/s 80Mb Ternary CAM , 2014 .

[7]  Ramei Cohen,et al.  Simple Efficient TCAM Based Range Classification , 2010, 2010 Proceedings IEEE INFOCOM.

[8]  Jonathan S. Turner,et al.  Packet classification using extended TCAMs , 2003, 11th IEEE International Conference on Network Protocols, 2003. Proceedings..

[9]  Anand Rangarajan,et al.  Algorithms for advanced packet classification with ternary CAMs , 2005, SIGCOMM '05.

[10]  Haoyu Song,et al.  NXG05-2: Fast Filter Updates for Packet Classification using TCAM , 2006, IEEE Globecom 2006.

[11]  Yeim-Kuan Chang,et al.  Multi-field range encoding for packet classification in TCAM , 2011, 2011 Proceedings IEEE INFOCOM.

[12]  Haoyu Song,et al.  Toward Advocacy-Free Evaluation of Packet Classification Algorithms , 2011, IEEE Transactions on Computers.

[13]  Danny Hendler,et al.  Layered Interval Codes for TCAM-Based Classification , 2009, INFOCOM.

[14]  Koji Nii,et al.  13.6 A 28nm 400MHz 4-parallel 1.6Gsearch/s 80Mb ternary CAM , 2014, 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC).

[15]  Eric Torng,et al.  Bit weaving: A non-prefix approach to compressing packet classifiers in TCAMs , 2009, 2009 17th IEEE International Conference on Network Protocols.

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

[17]  Yung-Chieh Lin,et al.  Efficient Gray-Code-Based Range Encoding Schemes for Packet Classification in TCAM , 2013, IEEE/ACM Transactions on Networking.

[18]  Eric Torng,et al.  Fast Regular Expression Matching Using Small TCAMs for Network Intrusion Detection and Prevention Systems , 2010, USENIX Security Symposium.

[19]  T. V. Lakshman,et al.  High-speed policy-based packet forwarding using efficient multi-dimensional range matching , 1998, SIGCOMM '98.

[20]  Miad Faezipour,et al.  Wire-Speed TCAM-Based Architectures for Multimatch Packet Classification , 2009, IEEE Transactions on Computers.

[21]  Mohan Kumar,et al.  CoPTUA: Consistent Policy Table Update Algorithm for TCAM without locking , 2004, IEEE Transactions on Computers.

[22]  T. V. Lakshman,et al.  SSA: a power and memory efficient scheme to multi-match packet classification , 2005, ANCS '05.

[23]  Eric Torng,et al.  TCAM Razor: a systematic approach towards minimizing packet classifiers in TCAMs , 2010, TNET.

[24]  Bin Liu,et al.  DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors , 2008, IEEE Transactions on Computers.

[25]  Huan Liu,et al.  Efficient mapping of range classifier into ternary-CAM , 2002, Proceedings 10th Symposium on High Performance Interconnects.

[26]  Randy H. Katz,et al.  Efficient multi-match packet classification with TCAM , 2004, Proceedings. 12th Annual IEEE Symposium on High Performance Interconnects.

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

[28]  Devavrat Shah,et al.  Fast Updating Algorithms for TCAMs , 2001, IEEE Micro.

[29]  Danny Hendler,et al.  Space-Efficient TCAM-Based Classification Using Gray Coding , 2007, IEEE Transactions on Computers.

[30]  Antonius P. J. Engbersen,et al.  Fast and scalable packet classification , 2003, IEEE J. Sel. Areas Commun..

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

[32]  Sartaj Sahni,et al.  PETCAM—A Power Efficient TCAM Architecture for Forwarding Tables , 2012, IEEE Transactions on Computers.

[33]  Sartaj Sahni,et al.  PC-TRIO: An indexed TCAM architecture for packet classifiers , 2012, 2012 IEEE Symposium on Computers and Communications (ISCC).

[34]  Xin He,et al.  LOP_RE: Range encoding for low power packet classification , 2009, 2009 IEEE 34th Conference on Local Computer Networks.

[35]  Xianfeng Li,et al.  A Hybrid TCAM + SRAM Scheme for Multi-match Packet Classification , 2012, 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies.

[36]  Viktor K. Prasanna,et al.  Field-split parallel architecture for high performance multi-match packet classification using FPGAs , 2009, SPAA '09.

[37]  David S. Johnson,et al.  Approximation algorithms for combinatorial problems , 1973, STOC.

[38]  Michael Segal,et al.  Space and Speed Tradeoffs in TCAM Hierarchical Packet Classification , 2008 .

[39]  H. Jonathan Chao,et al.  Block permutations in Boolean Space to minimize TCAM for packet classification , 2012, 2012 Proceedings IEEE INFOCOM.

[40]  Isaac Keslassy,et al.  Worst-Case TCAM Rule Expansion , 2010, 2010 Proceedings IEEE INFOCOM.

[41]  W. Lu,et al.  Low-Power TCAMs for Very Large Forwarding Tables , 2010, IEEE/ACM Transactions on Networking.

[42]  Sartaj Sahni,et al.  DUOS - Simple dual TCAM architecture for routing tables with incremental update , 2010, The IEEE symposium on Computers and Communications.

[43]  Bin Liu,et al.  DPPC-RE: TCAM-based distributed parallel packet classification with range encoding , 2006, IEEE Transactions on Computers.

[44]  Eric Torng,et al.  Split: Optimizing Space, Power, and Throughput for TCAM-Based Classification , 2011, 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems.

[45]  Eric Torng,et al.  A Ternary Unification Framework for optimizing TCAM-based packet classification systems , 2013, Architectures for Networking and Communications Systems.