CutSplit: A Decision-Tree Combining Cutting and Splitting for Scalable Packet Classification

Efficient algorithmic solutions for multi-field packet classification have been a challenging problem for many years. This problem is becoming even worse in the era of Software Defined Network (SDN), where flow tables with increasing complexities are playing a central role in the forwarding plane of SDN. In this paper, we first conduct an unprecedented in-depth reasoning on issues that led to the unsuccess of the major quests for scalable algorithmic solutions. With the insights obtained, we propose a practical framework called CutSplit, which can exploit the benefits of cutting and splitting techniques adaptively. By addressing the central problem caused by uncontrollable rule replications suffered by the major efforts, CutSplit not only pushes the performance of algorithmic packet classification more closely to hardware-based solutions, but also reduces the memory consumption to a practical level. Moreover, our work achieves low pre-processing time for rule updates, a problem that has long been ignored by previous decision-trees, but is becoming more relevant in the context of SDN due to frequent updates of rules. Experimental results show that using ClassBench, CutSplit achieves a memory reduction over 10 times, as well as 3x improvement on performance in terms of the number of memory access on average.

[1]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[2]  George Varghese,et al.  Packet classification for core routers: is there an alternative to CAMs? , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[3]  Jonathan S. Turner,et al.  Scalable packet classification using distributed crossproducing of field labels , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[4]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

[5]  Viktor K. Prasanna,et al.  Large-scale wire-speed packet classification on FPGAs , 2009, FPGA '09.

[6]  Tong Yang,et al.  Fast OpenFlow Table Lookup with Fast Update , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[7]  T. N. Vijaykumar,et al.  TreeCAM: decoupling updates and lookups in packet classification , 2011, CoNEXT '11.

[8]  Martín Casado,et al.  The Design and Implementation of Open vSwitch , 2015, NSDI.

[9]  Xiang Wang,et al.  ParaSplit: A Scalable Architecture on FPGA for Terabit Packet Classification , 2012, 2012 IEEE 20th Annual Symposium on High-Performance Interconnects.

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

[11]  H. Jonathan Chao,et al.  High Performance Switches and Routers , 2007 .

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

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

[14]  George Varghese,et al.  Fast and scalable layer four switching , 1998, SIGCOMM '98.

[15]  Ning Weng,et al.  Many-field packet classification for software-defined networking switches , 2016, 2016 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[16]  T. V. Lakshman,et al.  Multi-Layer Packet Classification with Graphics Processing Units , 2014, CoNEXT.

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

[18]  Kirill Kogan,et al.  SAX-PAC (Scalable And eXpressive PAcket Classification) , 2015, SIGCOMM 2015.

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

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

[21]  Baohua Yang,et al.  Packet Classification Algorithms: From Theory to Practice , 2009, IEEE INFOCOM 2009.

[22]  T. N. Vijaykumar,et al.  EffiCuts: optimizing packet classification for memory and throughput , 2010, SIGCOMM '10.

[23]  Eric Torng,et al.  A sorted partitioning approach to high-speed and fast-update OpenFlow classification , 2016, 2016 IEEE 24th International Conference on Network Protocols (ICNP).

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

[25]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[26]  贺鹏 Meta-algorithms for Software-based Packet Classification , 2014 .

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

[28]  Haim Kaplan,et al.  On finding an optimal TCAM encoding scheme for packet classification , 2013, 2013 Proceedings IEEE INFOCOM.

[29]  Eric Torng,et al.  TupleMerge: Building Online Packet Classifiers by Omitting Bits , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

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

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

[32]  Xianfeng Li,et al.  HybridCuts: A Scheme Combining Decomposition and Cutting for Packet Classification , 2013, 2013 IEEE 21st Annual Symposium on High-Performance Interconnects.

[33]  Pankaj Gupta,et al.  Packet Classification using Hierarchical Intelligent Cuttings , 1999 .

[34]  Eric Torng,et al.  Packet Classification Using Binary Content Addressable Memory , 2016, IEEE/ACM Trans. Netw..

[35]  Eric Torng,et al.  Hardware Based Packet Classification for High Speed Internet Routers , 2010 .

[36]  George Varghese,et al.  Packet classification using multidimensional cutting , 2003, SIGCOMM '03.

[37]  Xianfeng Li,et al.  TaPaC: A TCAM-Assisted Algorithmic Packet Classification with Bounded Worst-Case Performance , 2016, 2016 IEEE Global Communications Conference (GLOBECOM).

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