Self-Adjusting Packet Classification

This paper is motivated by the vision of more efficient packet classification mechanisms that self-optimize in a demand-aware manner. At the heart of our approach lies a self-adjusting linear list data structure, where unlike in the classic data structure, there are dependencies, and some items must be in front of the others; for example, to correctly classify packets by rules arranged in a linked list, each rule must be in front of lower priority rules that overlap with it. After each access we can rearrange the list, similarly to Move-To-Front, but dependencies need to be respected. We present a 4-competitive online rearrangement algorithm, whose cost is at most four times worse than the optimal offline algorithm; no deterministic algorithm can be better than 3-competitive. The algorithm is simple and attractive, especially for memory-limited systems, as it does not require any additional memory (e.g., neither timestamps nor frequency statistics). Our approach can simply be deployed as a drop-in replacement for a static datastructure, potentially benefitting many existing networks. We evaluate our self-adjusting list packet classifier on realistic ruleset and traffic instances. We find that our classifier performs similarly to a static list for low-locality traffic, but significantly outperforms Efficuts (by a factor 7x), CutSplit (3.6x), and the static list (14x) for high locality and small rulesets. Memory consumption is 10x lower on average compared to Efficuts and CutSplit.

[1]  Alejandro López-Ortiz,et al.  Context-Based Algorithms for the List-Update Problem under Alternative Cost Models , 2013, 2013 Data Compression Conference.

[2]  Anja Feldmann,et al.  Leveraging Zipf's law for traffic offloading , 2012, CCRV.

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

[4]  Marek Chrobak,et al.  The Server Problem and On-Line Games , 1991, On-Line Algorithms.

[5]  Yossi Azar,et al.  On-line scheduling with precedence constraints , 2000, Discret. Appl. Math..

[6]  J. Ian Munro,et al.  On the Competitiveness of Linear Search , 2000, ESA.

[7]  J. Hosking,et al.  Parameter and quantile estimation for the generalized pareto distribution , 1987 .

[8]  Martin Reinst On the Competitive Theory and Practice of Online List Accessing Algorithms , 1998 .

[9]  Gaston H. Gonnet,et al.  Toward self-organizing linear search , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[10]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[11]  Christoph Ambühl Offline List Update is NP-Hard , 2000, ESA.

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

[13]  Susanne Albers,et al.  New Bounds for Randomized List Update in the Paid Exchange Model , 2020, STACS.

[14]  Allan Borodin,et al.  Online computation and competitive analysis , 1998 .

[15]  Jeffery R. Westbrook,et al.  Randomized competitive algorithms for the list update problem , 1991, SODA '91.

[16]  Susanne Albers,et al.  Improved randomized on-line algorithms for the list update problem , 1995, SODA '95.

[17]  Alejandro López-Ortiz,et al.  A Survey of Algorithms and Models for List Update , 2013, Space-Efficient Data Structures, Streams, and Algorithms.

[18]  Hideo Yamamoto,et al.  Delay Reduction for Liner-Search Based Packet Filters , 2004 .

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

[20]  David Eppstein,et al.  Internet packet filter management and rectangle geometry , 2000, SODA '01.

[21]  John McCabe,et al.  On Serial Files with Relocatable Records , 1965 .

[22]  Susanne Albers,et al.  On list update with locality of reference , 2016, J. Comput. Syst. Sci..

[23]  Ehab Al-Shaer,et al.  Dynamic rule-ordering optimization for high-speed firewall filtering , 2006, ASIACCS '06.

[24]  Stefan Schmid,et al.  Online Tree Caching , 2016, SPAA.

[25]  Gerald L. Thompson,et al.  An Algorithm for Finding a Minimum Equivalent Graph of a Digraph , 1969, J. ACM.

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

[27]  EugsterPatrick,et al.  SAX-PAC (Scalable And eXpressive PAcket Classification) , 2014 .

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

[29]  Fulvio Risso,et al.  Securing Linux with a faster and scalable iptables , 2019, CCRV.

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

[31]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

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