Adaptive Wildcard Rule Cache Management for Software-Defined Networks

Software-Defined Networking enables flexible flow control by caching rules at OpenFlow switches. Wildcard rule caching enables management of traffic aggregates, reduces flow setup queries, and simplifies policy management. However, to guarantee correct packet matching, some rules that depend on the requested rule need to be cached as well, which leads to unnecessary flow table bloat and potential overflow. We have proposed a scheme called CAching rules in Buckets (CAB) to mitigate the dependency issue by partitioning the field space into buckets and caching rules associated with the requested buckets. In this paper, we propose the Adaptive Cache ManagEment (ACME) for CAB, which dynamically adjusts the sizes and shapes of buckets according to incoming traffic to achieve more efficient flow table utilization. The improvement also includes preloading rules that span a wide field space to reduce bandwidth usage in the control channel. We formalize the caching policies for CAB-ACME to guarantee the semantic correctness of packet classification. We evaluate the performance of CAB-ACME through software-based simulations and a prototype built with the OpenDaylight controller and hardware switches from multiple vendors. The results show that, compared with other rule caching schemes, CAB-ACME reduces the cache miss rate by one order of magnitude and the control channel bandwidth usage by a half. ACME also helps maintain a steadier performance under dynamic traffic changes compared with the baseline CAB design.

[1]  David Walker,et al.  Optimizing the "one big switch" abstraction in software-defined networks , 2013, CoNEXT.

[2]  Brighten Godfrey,et al.  VeriFlow: verifying network-wide invariants in real time , 2012, HotSDN '12.

[3]  Aditya Akella,et al.  OpenNF: enabling innovation in network function control , 2015, SIGCOMM 2015.

[4]  David Walker,et al.  Infinite CacheFlow in software-defined networks , 2014, HotSDN.

[5]  A. Neeraja,et al.  Licensed under Creative Commons Attribution Cc by Improving Network Management with Software Defined Networking , 2022 .

[6]  Jia Wang,et al.  Wire speed packet classification without tcams: a few more registers (and a bit of logic) are enough , 2007, SIGMETRICS '07.

[7]  H. Jonathan Chao,et al.  STAR: Preventing flow-table overflow in software-defined networks , 2017, Comput. Networks.

[8]  Ying Zhang,et al.  PGA: Using Graphs to Express and Automatically Reconcile Network Policies , 2015, Comput. Commun. Rev..

[9]  Mabry Tyson,et al.  A security enforcement kernel for OpenFlow networks , 2012, HotSDN '12.

[10]  Sujata Banerjee,et al.  DevoFlow: scaling flow management for high-performance networks , 2011, SIGCOMM 2011.

[11]  Vasileios Pappas,et al.  Improving the Scalability of Data Center Networks with Traffic-aware Virtual Machine Placement , 2010, 2010 Proceedings IEEE INFOCOM.

[12]  Sujata Banerjee,et al.  ElasticTree: Saving Energy in Data Center Networks , 2010, NSDI.

[13]  Xin Jin,et al.  Incremental update for a compositional SDN hypervisor , 2014, HotSDN.

[14]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.

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

[16]  Ramesh Govindan,et al.  DREAM: dynamic resource allocation for software-defined measurement , 2015, SIGCOMM 2015.

[17]  Minlan Yu,et al.  Scalable flow-based networking with DIFANE , 2010, SIGCOMM 2010.

[18]  Rob Sherwood,et al.  On Controller Performance in Software-Defined Networks , 2012, Hot-ICE.

[19]  Marina Thottan,et al.  Latency in Software Defined Networks: Measurements and Mitigation Techniques , 2015, SIGMETRICS.

[20]  Bo Yang,et al.  Compiling minimum incremental update for modular SDN languages , 2014, HotSDN.

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

[22]  Ramesh Govindan,et al.  Scalable Rule Management for Data Centers , 2013, NSDI.

[23]  Paul Hudak,et al.  Maple: simplifying SDN programming using algorithmic policies , 2013, SIGCOMM.

[24]  H. Jonathan Chao,et al.  Finding Nonequivalent Classifiers in Boolean Space to Reduce TCAM Usage , 2016, IEEE/ACM Transactions on Networking.

[25]  Isaac Keslassy,et al.  Palette: Distributing tables in software-defined networks , 2013, 2013 Proceedings IEEE INFOCOM.

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

[27]  George Varghese,et al.  Usenix Association 10th Usenix Symposium on Networked Systems Design and Implementation (nsdi '13) 99 Real Time Network Policy Checking Using Header Space Analysis , 2022 .

[28]  Minlan Yu,et al.  Software Defined Traffic Measurement with OpenSketch , 2013, NSDI.

[29]  Ramesh Govindan,et al.  vCRIB: Virtualized Rule Management in the Cloud , 2012, HotCloud.

[30]  Bo Yan,et al.  CAB: a reactive wildcard rule caching system for software-defined networks , 2014, HotSDN.

[31]  Fang Hao,et al.  Scotch: Elastically Scaling up SDN Control-Plane using vSwitch based Overlay , 2014, CoNEXT.

[32]  David A. Maltz,et al.  Network traffic characteristics of data centers in the wild , 2010, IMC '10.

[33]  Gail-Joon Ahn,et al.  FLOWGUARD: building robust firewalls for software-defined networks , 2014, HotSDN.

[34]  H. Jonathan Chao,et al.  JumpFlow: Reducing flow table usage in software-defined networks , 2015, Comput. Networks.

[35]  Martín Casado,et al.  Rethinking enterprise network control , 2009, TNET.

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

[37]  Fernando A. Kuipers,et al.  Fast Recovery in Software-Defined Networks , 2014, 2014 Third European Workshop on Software Defined Networks.

[38]  Xin Jin,et al.  Dynamic scheduling of network updates , 2014, SIGCOMM.

[39]  Omid Alipourfard Infinite CacheFlow: a Rule-caching Solution for Software Defined Networks , 2014 .

[40]  Timothy Sherwood,et al.  Ternary CAM Power and Delay Model: Extensions and Uses , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[41]  H. Jonathan Chao,et al.  An ultra high throughput and memory efficient pipeline architecture for multi-match packet classification without TCAMs , 2009, ANCS '09.