Optimal Rule Caching and Lossy Compression for Longest Prefix Matching

Packet classification is a building block in many network services, such as routing, monitoring, and policy enforcement. In commodity switches, classification is often performed by memory components of various rule matching patterns (longest prefix match, ternary matches, exact match, and so on). The memory components are fast but expensive and power-hungry with power consumption proportional to their size. In this paper, we study the applicability of rule caching and lossy compression to create packet classifiers requiring much less memory than the theoretical size limits of the semantically-equivalent representations, enabling significant reduction in their cost and power consumption. This paper focuses on the longest prefix matching. Our objective is to find a limited-size longest prefix match classifier that can correctly classify a high portion of the traffic, so that it can be implemented in commodity switches with classification modules of restricted size. While for the lossy compression scheme a small amount of traffic might observe classification errors, a special indication is returned for traffic that cannot be classified in the rule caching scheme. We develop optimal dynamic-programming algorithms for both problems and describe how to treat the small amount of traffic that cannot be classified. We generalize our solutions for a wide range of classifiers with different similarity metrics. We evaluate their performance on real classifiers and traffic traces and show that in some cases we can reduce a classifier size by orders of magnitude while still classifying almost all traffic correctly.

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

[2]  Martin Nilsson The audio/mpeg Media Type , 2000, RFC.

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

[4]  Gregory K. Wallace,et al.  The JPEG still picture compression standard , 1991, CACM.

[5]  Xin Zhao,et al.  On the Aggregatability of Router Forwarding Tables , 2010, 2010 Proceedings IEEE INFOCOM.

[6]  Isaac Keslassy,et al.  Compression for fixed-width memories , 2013, 2013 IEEE International Symposium on Information Theory.

[7]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

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

[9]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

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

[11]  Paul Francis,et al.  SMALTA: practical and near-optimal FIB aggregation , 2011, CoNEXT '11.

[12]  Lixia Zhang,et al.  Report from the IAB Workshop on Routing and Addressing , 2007, RFC.

[13]  Tal Mizrahi,et al.  Compressing Forwarding Tables for Datacenter Scalability , 2014, IEEE Journal on Selected Areas in Communications.

[14]  Patrick Th. Eugster,et al.  Exploiting Order Independence for Scalable and Expressive Packet Classification , 2016, IEEE/ACM Transactions on Networking.

[15]  Patrick Th. Eugster,et al.  FIB efficiency in distributed platforms , 2016, 2016 IEEE 24th International Conference on Network Protocols (ICNP).

[16]  Xin Zhao,et al.  Incremental Forwarding Table Aggregation , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[17]  Bill Lin,et al.  IP caching for terabit speed routers , 1999, Seamless Interconnection for Universal Services. Global Telecommunications Conference. GLOBECOM'99. (Cat. No.99CH37042).

[18]  Chase Cotton,et al.  Packet-level traffic measurements from the Sprint IP backbone , 2003, IEEE Netw..

[19]  Tal Mizrahi,et al.  TimeFlip: Using Timestamp-Based TCAM Ranges to Accurately Schedule Network Updates , 2017, IEEE/ACM Transactions on Networking.

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

[21]  Attila Korösi,et al.  Compressing IP Forwarding Tables: Towards Entropy Bounds and Beyond , 2013, IEEE/ACM Transactions on Networking.

[22]  Brian Zill,et al.  Constructing optimal IP routing tables , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

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

[24]  Abraham Lempel,et al.  Compression of individual sequences via variable-rate coding , 1978, IEEE Trans. Inf. Theory.

[25]  Yang Li,et al.  Towards Zero-Time Wakeup of Line Cards in Power-Aware Routers , 2014, IEEE/ACM Transactions on Networking.

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

[27]  Praveen Yalagandula,et al.  Minimizing Rulesets for TCAM Implementation , 2009, IEEE INFOCOM 2009.

[28]  Jennifer Rexford,et al.  Alpaca: compact network policies with attribute-carrying addresses , 2015, CoNEXT.

[29]  Sartaj Sahni,et al.  PC-DUOS+: A TCAM Architecture for Packet Classifiers , 2014, IEEE Transactions on Computers.

[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]  David Walker,et al.  Optimizing the "one big switch" abstraction in software-defined networks , 2013, CoNEXT.

[32]  Syed Obaid Amin,et al.  Efficient FIB caching using minimal non-overlapping prefixes , 2013, CCRV.

[33]  Huan Liu,et al.  Routing prefix caching in network processor design , 2001, Proceedings Tenth International Conference on Computer Communications and Networks (Cat. No.01EX495).

[34]  kc claffy,et al.  Longitudinal study of Internet traffic in 1998-2003 , 2004 .

[35]  Jennifer Rexford,et al.  Revisiting Route Caching: The World Should Be Flat , 2009, PAM.

[36]  Daniel Massey,et al.  Pragmatic router FIB caching , 2015, 2015 IFIP Networking Conference (IFIP Networking).

[37]  K. Pagiamtzis,et al.  Content-addressable memory (CAM) circuits and architectures: a tutorial and survey , 2006, IEEE Journal of Solid-State Circuits.

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

[39]  Monia Ghobadi,et al.  Efficient traffic splitting on commodity switches , 2015, CoNEXT.

[40]  Suman Banerjee,et al.  A smart pre-classifier to reduce power consumption of TCAMs for multi-dimensional packet classification , 2012, SIGCOMM '12.

[41]  Sartaj Sahni,et al.  PC-TRIO: A Power Efficient TCAM Architecture for Packet Classifiers , 2015, IEEE Transactions on Computers.

[42]  David Walker,et al.  CacheFlow: Dependency-Aware Rule-Caching for Software-Defined Networks , 2016, SOSR.

[43]  Tuomas Sandholm,et al.  Compressing Two-Dimensional Routing Tables , 2003, Algorithmica.

[44]  Peter G. Neumann,et al.  Blueswitch: enabling provably consistent configuration of network switches , 2015, 2015 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[45]  Didier Le Gall,et al.  MPEG: a video compression standard for multimedia applications , 1991, CACM.

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

[47]  Francis Zane,et al.  Coolcams: power-efficient TCAMs for forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).