A survey of control consistency in Software-Defined Networking

Software-Defined Networking (SDN) offers a flexible and programmable model to manage and schedule network resources. With the separation of control plane and data plane in SDN, the centralized controller frequently updates the flow tables in data plane to control network, and the data plane also communicates its requests with the control plane for forwarding actions. Due to the asynchronous control nature of SDN, a SDN network may suffer from inconsistency issues caused by concurrency violations, which may lead to network misbehaviors, such as communication interruption, policy violation, and performance degradation. To make SDN correct and stable, consistency is an essential feature that SDN should possess. In this paper, we make a survey about the control consistency in SDN from three aspects: (1) a consistent network view and control decisions made by the control plane, (2) consistency and efficiency during data plane update, (3) maintaining consistent flow tables in the data plane. We summarize the fundamental causes of consistency issues, the potential inconsistency problems and the state-of-art solutions, and then discuss the challenges to guarantee the consistency for SDN.

[1]  George Varghese,et al.  Efficient Network Reachability Analysis Using a Succinct Control Plane Representation , 2016, OSDI.

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

[3]  Tal Mizrahi,et al.  TimeFlip: Scheduling network updates with timestamp-based TCAM ranges , 2015, 2015 IEEE Conference on Computer Communications (INFOCOM).

[4]  Martín Casado,et al.  Onix: A Distributed Control Platform for Large-scale Production Networks , 2010, OSDI.

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

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

[7]  Srikanth Kandula,et al.  Dynamic scheduling of network updates , 2015, SIGCOMM 2015.

[8]  Ratul Mahajan,et al.  Consistent updates in software defined networks: On dependencies, loop freedom, and blackholes , 2016, 2016 IFIP Networking Conference (IFIP Networking) and Workshops.

[9]  Theophilus Benson,et al.  The Case for Making Tight Control Plane Latency Guarantees in SDN Switches , 2017, SOSR.

[10]  Sujata Banerjee,et al.  Democratic Resolution of Resource Conflicts Between SDN Control Programs , 2014, CoNEXT.

[11]  Hai Jin,et al.  Defending Against Flow Table Overloading Attack in Software-Defined Networks , 2019, IEEE Transactions on Services Computing.

[12]  Geoffrey G. Xie,et al.  Orchestrating network control functions via comprehensive trade-off exploration , 2016, 2016 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN).

[13]  Chen Liang,et al.  Hierarchical policies for software defined networks , 2012, HotSDN '12.

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

[15]  Devavrat Shah,et al.  Fast Updating Algorithms for TCAMs , 2001, IEEE Micro.

[16]  Domenico Siracusa,et al.  An effective swapping mechanism to overcome the memory limitation of SDN devices , 2017, 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).

[17]  Teemu Koponen,et al.  Flow caching for high entropy packet fields , 2015, SIGCOMM 2015.

[18]  Russell J. Clark,et al.  Kinetic: Verifiable Dynamic Network Control , 2015, NSDI.

[19]  Tal Mizrahi,et al.  Time-based updates in software defined networks , 2013, HotSDN '13.

[20]  Paul Hudak,et al.  Nettle: Functional Reactive Programming for OpenFlow Networks , 2010 .

[21]  Eric Torng,et al.  Bit Weaving: A Non-Prefix Approach to Compressing Packet Classifiers in TCAMs , 2012, IEEE/ACM Transactions on Networking.

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

[23]  Min Zhu,et al.  B4: experience with a globally-deployed software defined wan , 2013, SIGCOMM.

[24]  Jan Medved,et al.  OpenDaylight: Towards a Model-Driven SDN Controller architecture , 2014, Proceeding of IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks 2014.

[25]  Lemin Li,et al.  Practical flow table aggregation in SDN , 2015, Comput. Networks.

[26]  Ashraf Matrawy,et al.  Adaptive consistency for distributed SDN controllers , 2016, 2016 17th International Telecommunications Network Strategy and Planning Symposium (Networks).

[27]  Ye Wang,et al.  Shadow configuration as a network management primitive , 2008, SIGCOMM '08.

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

[29]  Anja Feldmann,et al.  Logically centralized?: state distribution trade-offs in software defined networks , 2012, HotSDN '12.

[30]  Nate Foster,et al.  Efficient synthesis of network updates , 2014, PLDI.

[31]  Mianxiong Dong,et al.  Rule caching in SDN-enabled mobile access networks , 2015, IEEE Network.

[32]  Fernando Pedone,et al.  Merlin: A Language for Provisioning Network Resources , 2014, CoNEXT.

[33]  Scott Shenker,et al.  SCL: Simplifying Distributed SDN Control Planes , 2017, NSDI.

[34]  Sujata Banerjee,et al.  Corybantic: towards the modular composition of SDN control programs , 2013, HotNets.

[35]  Pavlin Radoslavov,et al.  ONOS: towards an open, distributed SDN OS , 2014, HotSDN.

[36]  Ye Yu,et al.  NetCP: Consistent, Non-Interruptive and Efficient Checkpointing and Rollback of SDN , 2018, 2018 IEEE/ACM 26th International Symposium on Quality of Service (IWQoS).

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

[38]  Srikanth Kandula,et al.  Achieving high utilization with software-driven WAN , 2013, SIGCOMM.

[39]  David Walker,et al.  Consistent updates for software-defined networks: change you can believe in! , 2011, HotNets-X.

[40]  Ashraf Matrawy,et al.  Maintaining an Up-to-date Global Network View in SDN , 2016, ArXiv.

[41]  Hongkun Yang,et al.  Real-Time Verification of Network Properties Using Atomic Predicates , 2016, IEEE/ACM Trans. Netw..

[42]  Yashar Ganjali,et al.  On scalability of software-defined networking , 2013, IEEE Communications Magazine.

[43]  George Varghese,et al.  Real Time Network Policy Checking Using Header Space Analysis , 2013, NSDI.

[44]  E. Brewer,et al.  CAP twelve years later: How the "rules" have changed , 2012, Computer.

[45]  Shriram Krishnamurthi,et al.  Tierless Programming and Reasoning for Software-Defined Networks , 2014, NSDI.

[46]  Vijay Mann,et al.  Effective switch memory management in OpenFlow networks , 2014, DEBS '14.

[47]  Martín Casado,et al.  Practical declarative network management , 2009, WREN '09.

[48]  Xin Wu,et al.  zUpdate: updating data center networks with zero loss , 2013, SIGCOMM.

[49]  George Varghese,et al.  Checking Beliefs in Dynamic Networks , 2015, NSDI.

[50]  Brighten Godfrey,et al.  Ravel: A Database-Defined Network , 2016, SOSR.

[51]  David Walker,et al.  Incremental consistent updates , 2013, HotSDN '13.

[52]  Ion Stoica,et al.  Declarative networking: language, execution and optimization , 2006, SIGMOD Conference.

[53]  Jie Wu,et al.  Chronus: Consistent Data Plane Updates in Timed SDNs , 2017, 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS).

[54]  Brighten Godfrey,et al.  Enforcing Customizable Consistency Properties in Software-Defined Networks , 2015, NSDI.

[55]  Junda Liu,et al.  Libra: Divide and Conquer to Verify Forwarding Tables in Huge Networks , 2014, NSDI.

[56]  Chen Liang,et al.  Participatory networking: an API for application control of SDNs , 2013, SIGCOMM.

[57]  Yixin Chen,et al.  Cupid: Congestion-free consistent data plane update in software defined networks , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

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

[59]  Stefano Vissicchio,et al.  FLIP the (Flow) table: Fast lightweight policy-preserving SDN updates , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[60]  Eric Torng,et al.  TCAM Razor: a systematic approach towards minimizing packet classifiers in TCAMs , 2010, TNET.

[61]  Ehab Al-Shaer,et al.  Network configuration in a box: towards end-to-end verification of network reachability and security , 2009, 2009 17th IEEE International Conference on Network Protocols.

[62]  Mohan Kumar,et al.  CoPTUA: Consistent Policy Table Update Algorithm for TCAM without locking , 2004, IEEE Transactions on Computers.

[63]  Samuel T. King,et al.  Debugging the data plane with anteater , 2011, SIGCOMM 2011.

[64]  Ratul Mahajan,et al.  On consistent updates in software defined networks , 2013, HotNets.

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

[66]  Ramesh Govindan,et al.  A General Approach to Network Configuration Analysis , 2015, NSDI.

[67]  George Varghese,et al.  Header Space Analysis: Static Checking for Networks , 2012, NSDI.

[68]  Tal Mizrahi,et al.  Software defined networks: It's about time , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

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

[70]  Fang Hao,et al.  Towards an elastic distributed SDN controller , 2013, HotSDN '13.

[71]  Ehab Al-Shaer,et al.  FlowChecker: configuration analysis and verification of federated openflow infrastructures , 2010, SafeConfig '10.

[72]  Ahsan Arefin,et al.  A network-state management service , 2015, SIGCOMM.

[73]  Tal Mizrahi,et al.  Timed Consistent Network Updates in Software-Defined Networks , 2015, IEEE/ACM Transactions on Networking.

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

[75]  Rick McGeer,et al.  A safe, efficient update protocol for openflow networks , 2012, HotSDN '12.

[76]  Ion Stoica,et al.  Implementing declarative overlays , 2005, SOSP '05.

[77]  Laurent Vanbever,et al.  SDNRacer: concurrency analysis for software-defined networks , 2016, PLDI.

[78]  Martin Bjorklund,et al.  YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF) , 2010 .

[79]  Xin Jin,et al.  CoVisor: A Compositional Hypervisor for Software-Defined Networks , 2015, NSDI.

[80]  David Walker,et al.  Abstractions for network update , 2012, SIGCOMM '12.

[81]  Petr Kuznetsov,et al.  Software transactional networking: concurrent and consistent policy composition , 2013, HotSDN '13.

[82]  David Walker,et al.  Frenetic: a network programming language , 2011, ICFP.

[83]  Bo Yang,et al.  RuleTris: Minimizing Rule Update Latency for TCAM-Based SDN Switches , 2016, 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS).

[84]  Michael Schapira,et al.  VeriCon: towards verifying controller programs in software-defined networks , 2014, PLDI.

[85]  Martín Casado,et al.  A Database Approach to SDN Control Plane Design , 2017, CCRV.

[86]  Marco Canini,et al.  A NICE Way to Test OpenFlow Applications , 2012, NSDI.

[87]  Wen Wang,et al.  Redactor: Reconcile network control with declarative control programs In SDN , 2016, 2016 IEEE 24th International Conference on Network Protocols (ICNP).

[88]  Filip De Turck,et al.  Network Function Virtualization: State-of-the-Art and Research Challenges , 2015, IEEE Communications Surveys & Tutorials.

[89]  Arne Ludwig,et al.  Good Network Updates for Bad Packets: Waypoint Enforcement Beyond Destination-Based Routing Policies , 2014, HotNets.

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

[91]  Dennis M. Volpano,et al.  Towards systematic detection and resolution of network control conflicts , 2014, HotSDN.

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