Automatic Synthesis of Transiently Correct Network Updates via Petri Games

As software-defined networking (SDN) is growing increasingly common within the networking industry, the lack of accessible and reliable automated methods for updating network configurations becomes more apparent. Any computer network is a complex distributed system and changes to its configuration may result in policy violations during the transient phase when the individual routers update their forwarding tables. We present an approach for automatic synthesis of update sequences that ensures correct network functionality throughout the entire update phase. Our approach is based on a novel translation of the update synthesis problem into a Petri game and it is implemented on top of the open-source model checker TAPAAL. On a large benchmark of synthetic and real-world network topologies, we document the efficiency of our approach and compare its performance with state-ofthe-art tool NetSynth. Our experiments show that for several networks with up to thousands of nodes, we are able to outperform NetSynth’s update schedule generation.

[1]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[2]  Kim G. Larsen,et al.  PTrie: Data Structure for Compressing and Storing Sets via Prefix Sharing , 2017, ICTAC.

[3]  Jirí Srba,et al.  TAPAAL and Reachability Analysis of P/T Nets , 2016, Trans. Petri Nets Other Model. Concurr..

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

[5]  Arne Ludwig,et al.  Transiently Secure Network Updates , 2016, SIGMETRICS.

[6]  Stefan Schmid,et al.  Congestion-Free Rerouting of Flows on DAGs , 2016, ICALP.

[7]  Jirí Srba,et al.  TAPAAL 2.0: Integrated Development Environment for Timed-Arc Petri Nets , 2012, TACAS.

[8]  Roger Wattenhofer,et al.  On consistent migration of flows in SDNs , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

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

[10]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[11]  Kim G. Larsen,et al.  Discrete and continuous strategies for timed-arc Petri net games , 2017, International Journal on Software Tools for Technology Transfer.

[12]  Kamal Benzekki,et al.  Software-defined networking (SDN): a survey , 2016, Secur. Commun. Networks.

[13]  Bernd Finkbeiner,et al.  AdamMC: A Model Checker for Petri Nets with Transits against Flow-LTL , 2020, CAV.

[14]  Arne Ludwig,et al.  Scheduling Loop-free Network Updates: It's Good to Relax! , 2015, PODC.

[15]  Christian E. Hopps,et al.  Analysis of an Equal-Cost Multi-Path Algorithm , 2000, RFC.

[16]  Bernd Finkbeiner,et al.  Model Checking Data Flows in Concurrent Network Updates (Full Version) , 2019, ATVA.

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

[18]  Matthew Roughan,et al.  The Internet Topology Zoo , 2011, IEEE Journal on Selected Areas in Communications.

[19]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[20]  Stefano Vissicchio,et al.  Survey of Consistent Software-Defined Network Updates , 2016, IEEE Communications Surveys & Tutorials.

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

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

[23]  W. Marsden I and J , 2012 .

[24]  Stefan Schmid,et al.  Latte: Improving the Latency of Transiently Consistent Network Update Schedules , 2020, SIGMETRICS Perform. Evaluation Rev..

[25]  Kim G. Larsen,et al.  Real-Time Strategy Synthesis for Timed-Arc Petri Net Games via Discretization , 2016, SPIN.