Tuple Space Assisted Packet Classification With High Performance on Both Search and Update

Software switches are being deployed in SDN to enable a wide spectrum of non-traditional applications. The popular Open vSwitch uses a variant of Tuple Space Search (TSS) for packet classifications. Although it has good performance on rule updates, it is less efficient than decision trees on lookups. In this paper, we propose a two-stage framework consisting of heterogeneous algorithms to adaptively exploit different characteristics of the rule sets at different scales. In the first stage, partial decision trees are constructed from several rule subsets grouped with respect to their small fields. This grouping eliminates rule replications at large scales, thereby enabling very efficient pre-cuttings. The second stage handles packet classification at small scales for non-leaf terminal nodes, where rule replications within each subspace may lead to inefficient cuttings. A salient fact is that small space means long address prefixes or less nesting levels of ranges, both indicating a very limited tuple space. To exploit this favorable property, we employ a TSS-based algorithm for these subsets following tree constructions. Experimental results show that our work has comparable update performance to TSS in Open vSwitch, while achieving almost an order-of-magnitude improvement on classification performance over TSS.

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

[2]  Gaogang Xie,et al.  Meta-algorithms for Software-Based Packet Classification , 2014, 2014 IEEE 22nd International Conference on Network Protocols.

[3]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM '01.

[4]  Maciej Kuźniar,et al.  What You Need to Know About SDN Flow Tables , 2015, PAM.

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

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

[7]  Patrick Th. Eugster,et al.  SAX-PAC (Scalable And eXpressive PAcket Classification) , 2014, SIGCOMM.

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

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

[10]  Eric Torng,et al.  TCAM Razor: A Systematic Approach Towards Minimizing Packet Classifiers in TCAMs , 2007, 2007 IEEE International Conference on Network Protocols.

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

[12]  Haim Kaplan,et al.  Optimal In/Out TCAM Encodings of Ranges , 2016, IEEE/ACM Transactions on Networking.

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

[14]  Tal Mizrahi,et al.  Compressing forwarding tables , 2013, 2013 Proceedings IEEE INFOCOM.

[15]  Ori Rottenstreich,et al.  Optimal Rule Caching and Lossy Compression for Longest Prefix Matching , 2017, IEEE/ACM Transactions on Networking.

[16]  Baohua Yang,et al.  Towards high-performance flow-level packet processing on multi-core network processors , 2007, ANCS '07.

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

[18]  Mark H. Overmars,et al.  Range Searching and Point Location among Fat Objects , 1996, J. Algorithms.

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

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

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

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

[23]  Rami Cohen,et al.  Exact Worst Case TCAM Rule Expansion , 2013, IEEE Transactions on Computers.

[24]  Dong Zhou,et al.  Scalable, high performance ethernet forwarding with CuckooSwitch , 2013, CoNEXT.

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

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

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

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

[29]  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).

[30]  Eric Torng,et al.  ByteCuts: Fast Packet Classification by Interior Bit Extraction , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

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

[32]  Tao Li,et al.  TabTree: A TSS-assisted Bit-selecting Tree Scheme for Packet Classification with Balanced Rule Mapping , 2019, 2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[33]  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).

[34]  Ori Rottenstreich,et al.  Lossy compression of packet classifiers , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[35]  Xin Jin,et al.  Neural packet classification , 2019, SIGCOMM.

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

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

[38]  Anja Feldmann,et al.  Tradeoffs for packet classification , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[39]  Xianfeng Li,et al.  CutSplit: A Decision-Tree Combining Cutting and Splitting for Scalable Packet Classification , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[40]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

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