Abstract
The increasingly stringent dependability requirements on communication networks as well as the need to render these networks more adaptive to improve performance, demand for more automated approaches to operate networks. We present AllSynth, a symbolic synthesis tool for updating communication networks in a provably correct and efficient manner. AllSynth automatically synthesizes network update schedules which transiently ensure a wide range of policy properties (expressed in the LTL logic), also during the reconfiguration process. In particular, in contrast to existing approaches, AllSynth symbolically computes and compactly represents all feasible solutions. At its heart, AllSynth relies on a novel, two-level and parameterized use of BDDs which greatly improves performance. Indeed, AllSynth not only provides formal correctness guarantees and outperforms existing state-of-the-art tools in terms of generality, but often also in terms of runtime as documented by experiments on a benchmark of real-world network topologies.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In this running example, we shall for simplicity assume that routing configurations are total functions, e.g. that the variables \(z_{v}^d\) are true.
- 2.
Recall that \(\mathbf {z}\) consists of variables \(\mathbf {z}_{v_1},\ldots ,\mathbf {z}_{v_k}\) and \(z^d_{v_1},\ldots ,z^d_{v_k}\).
- 3.
Note that \(\mathtt {zij}\) in the figure is to be read as the variable \(z_i^j\).
References
dd python package (2021). https://github.com/tulip-control/dd
Akhoondian Amiri, S., Dudycz, S., Schmid, S., Wiederrecht, S.: Congestion-free rerouting of flows on DAGs. In: 45th International Colloquium on Automata, Languages, and Programming (ICALP), vol. 107, pp. 143:1–143:13. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2018)
Anderson, C.J., et al.: NetKAT: semantic foundations for networks. ACM SIGPLAN Notices 49(1), 113–126 (2014)
Avin, C., Ghobadi, M., Griner, C., Schmid, S.: On the complexity of traffic traces and implications. In: Proceedings of the ACM SIGMETRICS (2020)
Beckett, R., Mahajan, R., Millstein, T., Padhye, J., Walker, D.: Don’t mind the gap: bridging network-wide objectives and device-level configurations. In: Proceedings of the 2016 ACM SIGCOMM Conference, pp. 328–341 (2016)
Benson, T., Akella, A., Maltz, D.A.: Network traffic characteristics of data centers in the wild. In: Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement, pp. 267–280 (2010)
Brain, M.N., Davenport, J.H., Griggio, A.: Benchmarking solvers, SAT-style. In: Proceedings of the 2nd International Workshop on Satisfiability Checking and Symbolic Computation co-located with the 42nd International Symposium on Symbolic and Algebraic Computation (ISSAC 2017). CEUR, vol. 1974, pp. 1–15. CEUR-WS.org (2017)
Brandt, S., Förster, K.T., Wattenhofer, R.: On consistent migration of flows in SDNs. In: IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on Computer Communications, pp. 1–9. IEEE (2016)
Bryant: Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. C3-5(8), 677–691 (1986). https://doi.org/10.1109/TC.1986.1676819
Canini, M., Kuznetsov, P., Levin, D., Schmid, S.: A distributed and robust SDN control plane for transactional network updates. In: 2015 IEEE Conference on Computer Communications (INFOCOM), pp. 190–198. IEEE (2015)
Černý, P., Foster, N., Jagnik, N., McClurg, J.: Optimal consistent network updates in polynomial time. In: Gavoille, C., Ilcinkas, D. (eds.) DISC 2016. LNCS, vol. 9888, pp. 114–128. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53426-7_9
Chirgwin, R.: Google routing blunder sent Japan’s internet dark on friday (2017). https://www.theregister.co.uk/2017/08/27/google_routing_blunder_sent_japans_internet_dark/
Cimatti, A., Clarke, E.M., Giunchiglia, F., Roveri, M.: NUSMV: a new symbolic model checker. Int. J. Softw. Tools Technol. Transf. 2(4), 410–425 (2000). https://doi.org/10.1007/s100090050046
Dudycz, S., Ludwig, A., Schmid, S.: Can’t touch this: consistent network updates for multiple policies. In: 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), pp. 133–143. IEEE (2016)
Duluth News Tribune: Human error to blame in minnesota 911 outage (2018). https://www.ems1.com/911/articles/389343048-Officials-Human-error-to-blame-in-Minn-911-outage/
El-Hassany, A., Tsankov, P., Vanbever, L., Vechev, M.: Netcomplete: practical network-wide configuration synthesis with autocompletion. In: 15th \(\{\)USENIX\(\}\) Symposium on Networked Systems Design and Implementation (\(\{\)NSDI\(\}\) 2018), pp. 579–594 (2018)
Feamster, N., Rexford, J.: Why (and how) networks should run themselves. arXiv report (2017)
Finkbeiner, B., Gieseking, M., Hecking-Harbusch, J., Olderog, E.R.: Model checking data flows in concurrent network updates (full version). arXiv preprint arXiv:1907.11061 (2019)
Foerster, K., Schmid, S., Vissicchio, S.: Survey of consistent software-defined network updates. IEEE Commun. Surv. Tutor. 21(2), 1435–1461 (2019)
Foerster, K.T.: On the consistent migration of unsplittable flows: upper and lower complexity bounds. In: 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA), pp. 1–4. IEEE (2017)
Foerster, K.T., Luedi, T., Seidel, J., Wattenhofer, R.: Local checkability, no strings attached:(a) cyclicity, reachability, loop free updates in SDNs. Theoret. Comput. Sci. 709, 48–63 (2018)
Giacomo, G.D., Vardi, M.Y.: Linear temporal logic and linear dynamic logic on finite traces. In: Proceedings of the 23rd International Joint Conference on Artificial Intelligence (IJCAI 2013), pp. 854–860. AAAI Press (2013)
Glavind, M., Christensen, N., Srba, J., Schmid, S.: Latte: improving the latency of transiently consistent network update schedules. In: Proceedings of 38th International Symposium on Computer Performance, Modeling, Measurements and Evaluation (PERFORMANCE) (2020)
Heller, B., et al.: Leveraging SDN layering to systematically troubleshoot networks. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, pp. 37–42 (2013)
Jin, X., et al.: Dynamic scheduling of network updates. In: ACM SIGCOMM Computer Communication Review, vol. 44, no. 4, pp. 539–550. ACM (2014)
Kazemian, P., Chang, M., Zeng, H., Varghese, G., McKeown, N., Whyte, S.: Real time network policy checking using header space analysis. In: Presented as part of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2013), pp. 99–111 (2013)
Kazemian, P., Varghese, G., McKeown, N.: Header space analysis: static checking for networks. In: Presented as part of the 9th \(\{\)USENIX\(\}\) Symposium on Networked Systems Design and Implementation (\(\{\)NSDI\(\}\) 2012), pp. 113–126 (2012)
Kellerer, W., Kalmbach, P., Blenk, A., Basta, A., Reisslein, M., Schmid, S.: Adaptable and data-driven softwarized networks: review, opportunities, and challenges. In: Proceedings of the IEEE (PIEEE) (2019)
Knight, S., Nguyen, H.X., Falkner, N., Bowden, R.A., Roughan, M.: The internet topology zoo. IEEE J. Sel. Areas Commun. 29(9), 1765–1775 (2011). https://doi.org/10.1109/JSAC.2011.111002
Kreutz, D., Ramos, F.M., Verissimo, P.E., Rothenberg, C.E., Azodolmolky, S., Uhlig, S.: Software-defined networking: a comprehensive survey. Proc. IEEE 103(1), 14–76 (2014)
Larsen, K., Mariegaard, A., Schmid, S., Srba, J.: Reproducibility package for: the hazard value: a quantitative network connectivy measure accounting for failures, March 2022. https://doi.org/10.5281/zenodo.6534948
Lee, C.Y.: Representation of switching circuits by binary-decision programs. The Bell Syst. Tech. J. 38(4), 985–999 (1959). https://doi.org/10.1002/j.1538-7305.1959.tb01585.x
Liu, H.H., Wu, X., Zhang, M., Yuan, L., Wattenhofer, R., Maltz, D.: zUpdate: updating data center networks with zero loss. In: ACM SIGCOMM Computer Communication Review, vol. 43, no. 4, pp. 411–422. ACM (2013)
Ludwig, A., Dudycz, S., Rost, M., Schmid, S.: Transiently secure network updates. ACM SIGMETRICS Perform. Eval. Rev. 44(1), 273–284 (2016)
Ludwig, A., Marcinkowski, J., Schmid, S.: Scheduling loop-free network updates: it’s good to relax! In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, pp. 13–22. ACM (2015)
Ludwig, A., Rost, M., Foucard, D., Schmid, S.: Good network updates for bad packets: waypoint enforcement beyond destination-based routing policies. In: Proceedings of 13th ACM Workshop on Hot Topics in Networks (HotNets), p. 15. ACM (2014)
Mahajan, R., Wattenhofer, R.: On consistent updates in software defined networks. In: Proceedings of 12th ACM Workshop on Hot Topics in Networks (HotNets), p. 20. ACM (2013)
McClurg, J., Hojjat, H., Cerný, P., Foster, N.: Efficient synthesis of network updates. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, Portland, OR, USA, 15–17 June 2015, pp. 196–207 (2015). https://doi.org/10.1145/2737924.2737980
McClurg, J., Hojjat, H., Černỳ, P., Foster, N.: Efficient synthesis of network updates. In: ACM SIGPLAN Notices, vol. 50, no. 6, pp. 196–207. ACM (2015)
Monsanto, C., Reich, J., Foster, N., Rexford, J., Walker, D.: Composing software defined networks. In: 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2013), pp. 1–13 (2013)
Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, Providence, Rhode Island, USA, 31 October–1 November 1977, pp. 46–57. IEEE Computer Society (1977). https://doi.org/10.1109/SFCS.1977.32
Prabhu, S., Chou, K.Y., Kheradmand, A., Godfrey, B., Caesar, M.: Plankton: scalable network configuration verification through model checking. In: 17th USENIX Symposium on Networked Systems Design and Implementation (\(\{\)NSDI\(\}\) 2020), pp. 953–967 (2020)
Reitblatt, M., Foster, N., Rexford, J., Schlesinger, C., Walker, D.: Abstractions for network update. ACM SIGCOMM Comput. Commun. Rev. 42(4), 323–334 (2012)
Somenzi, F.: CUDD: CU decision diagram package release 3.0.0. University of Colorado at Boulder (2015). http://vlsi.colorado.edu/~fabio/CUDD/
Steffen, S., Gehr, T., Tsankov, P., Vanbever, L., Vechev, M.: Probabilistic verification of network configurations. In: Proceedings of the Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication, pp. 750–764 (2020)
Vissicchio, S., Cittadini, L.: FLIP the (flow) table: fast lightweight policy-preserving SDN updates. In: 35th Annual IEEE International Conference on Computer Communications, INFOCOM 2016, San Francisco, CA, USA, 10–14 April 2016, pp. 1–9 (2016). https://doi.org/10.1109/INFOCOM.2016.7524419
Zerwas, J., et al.: AHAB: data-driven virtual cluster hunting. In: Proceedings of IFIP Networking (2018)
Zhang, Q., Liu, V., Zeng, H., Krishnamurthy, A.: High-resolution measurement of data center microbursts. In: Proceedings of the 2017 Internet Measurement Conference, pp. 78–85 (2017)
Zhou, W., Jin, D., Croft, J., Caesar, M., Godfrey, P.B.: Enforcing customizable consistency properties in software-defined networks. In: Proceedings of 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2015), pp. 73–85 (2015)
Acknowledgements
The research is partly funded by the Vienna Science and Technology Fund (WWTF), project WHATIF (ICT19-045), the ERC Advanced Grant LASSO, the Villum Investigator Grant S4OS, DFF project QASNET as well as DIREC: Digital Research Centre Denmark.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Larsen, K.G., Mariegaard, A., Schmid, S., Srba, J. (2022). AllSynth: Transiently Correct Network Update Synthesis Accounting for Operator Preferences. In: Aït-Ameur, Y., Crăciun, F. (eds) Theoretical Aspects of Software Engineering. TASE 2022. Lecture Notes in Computer Science, vol 13299. Springer, Cham. https://doi.org/10.1007/978-3-031-10363-6_23
Download citation
DOI: https://doi.org/10.1007/978-3-031-10363-6_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-10362-9
Online ISBN: 978-3-031-10363-6
eBook Packages: Computer ScienceComputer Science (R0)