A sorted partitioning approach to high-speed and fast-update OpenFlow classification

OpenFlow packet classification needs to satisfy two requirements: high speed and fast updates. Although packet classification is a well-studied problem, no existing solution satisfies both requirements. Decision tree methods, such as HyperCuts, EffiCuts, and SmartSplit can achieve high-speed packet classification but not fast updates. The Tuple Space Search (TSS) algorithm used in Open vSwitch achieves fast updates but not high-speed packet classification. In this paper, we propose a hybrid approach, PartitionSort, that combines the benefits of both TSS and decision trees achieving both high-speed packet classification and fast updates. A key to PartitionSort is a novel notion of ruleset sortability that provides two key benefits. First, it results in far fewer partitions than TSS. Second, it allows the use of Multi-dimensional Interval Trees to achieve logarithmic classification and update time for each sortable ruleset partition. Our extensive experimental results show that PartitionSort is an order of magnitude faster than TSS in classifying packets while achieving comparable update time. PartitionSort is a few orders of magnitude faster in construction time than SmartSplit, a state-of-the-art decision tree classifier, while maintaining competitive classification time. Finally, PartitionSort is scalable to an arbitrary number of fields.

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

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

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

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

[5]  Danny Hendler,et al.  Space-Efficient TCAM-Based Classification Using Gray Coding , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

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

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

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

[9]  Takao Asano,et al.  Finding the Connected Components and a Maximum Clique of an Intersection Graph of Rectangles in the Plane , 1983, J. Algorithms.

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

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

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

[13]  Matthew J. Saltzman,et al.  Coin-Or: An Open-Source Library for Optimization , 2002 .

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

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

[16]  Robert E. Tarjan,et al.  Biased Search Trees , 1985, SIAM J. Comput..

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

[18]  Vijay K. Vaishnavi Multidimensional Balanced Binary Trees , 1989, IEEE Trans. Computers.

[19]  Peng Zhou,et al.  Efficient packet classification using TCAMs , 2006, Comput. Networks.

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

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

[22]  Sartaj Sahni,et al.  Packet classification consuming small amount of memory , 2005, IEEE/ACM Transactions on Networking.

[23]  Chuan Yi Tang,et al.  An Efficient Algorithm for Finding a Maximum Weight 2-Independent Set on Interval Graphs , 1992, Inf. Process. Lett..

[24]  Jia Wang,et al.  Packet classifiers in ternary CAMs can be smaller , 2006, SIGMETRICS '06/Performance '06.

[25]  Robert J. Fowler,et al.  Optimal Packing and Covering in the Plane are NP-Complete , 1981, Inf. Process. Lett..

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

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