{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,6]],"date-time":"2025-11-06T20:08:55Z","timestamp":1762459735335,"version":"build-2065373602"},"reference-count":28,"publisher":"MDPI AG","issue":"5","license":[{"start":{"date-parts":[[2019,5,4]],"date-time":"2019-05-04T00:00:00Z","timestamp":1556928000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"National Research, Development and Innovation Fund of Hungary","award":["123957","129589"],"award-info":[{"award-number":["123957","129589"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Future Internet"],"abstract":"<jats:p>Designing, implementing, and maintaining network policies that protect from internal and external threats is a highly non-trivial task. Often, troubleshooting networks consisting of diverse entities realizing complex policies is even harder. Software-defined networking (SDN) enables networks to adapt to changing scenarios, which significantly lessens human effort required for constant manual modifications of device configurations. Troubleshooting benefits SDN\u2019s method of accessing forwarding devices as well, since monitoring is made much easier via unified control channels. However, by making policy changes easier, the job of troubleshooting operators is made harder too: For humans, finding, analyzing, and fixing network issues becomes almost intractable. In this paper, we present a failure localization framework and its proof-of-concept prototype that helps in automating the investigation of network issues. Like a controller for troubleshooting tools, our framework integrates the formal specification (expected behavior) and network monitoring (actual behavior) and automatically gives hints about the location and type of network issues by comparing the two types of information. By using NetKAT (Kleene algebra with tests) for formal specification and Felix and SDN traceroute for network monitoring, we show that the integration of these tools in a single framework can significantly ease the network troubleshooting process.<\/jats:p>","DOI":"10.3390\/fi11050107","type":"journal-article","created":{"date-parts":[[2019,5,9]],"date-time":"2019-05-09T11:22:35Z","timestamp":1557400955000},"page":"107","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["An Extensible Automated Failure Localization Framework Using NetKAT, Felix, and SDN Traceroute"],"prefix":"10.3390","volume":"11","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2514-3019","authenticated-orcid":false,"given":"Istv\u00e1n","family":"Pelle","sequence":"first","affiliation":[{"name":"MTA-BME Information Systems Research Group, Budapest University of Technology and Economics, 1111 Budapest, Hungary"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2906-8319","authenticated-orcid":false,"given":"Andr\u00e1s","family":"Guly\u00e1s","sequence":"additional","affiliation":[{"name":"MTA-BME Information Systems Research Group, Budapest University of Technology and Economics, 1111 Budapest, Hungary"}]}],"member":"1968","published-online":{"date-parts":[[2019,5,4]]},"reference":[{"key":"ref_1","unstructured":"Sloan, J.D. (2001). Network Troubleshooting Tools, O\u2019Reilly."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"69","DOI":"10.1145\/1355734.1355746","article-title":"OpenFlow: Enabling Innovation in Campus Networks","volume":"38","author":"McKeown","year":"2008","journal-title":"SIGCOMM Comput. Commun. Rev."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1109\/JPROC.2014.2371999","article-title":"Software-Defined Networking: A Comprehensive Survey","volume":"103","author":"Kreutz","year":"2015","journal-title":"Proc. IEEE"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Jammal, M., Singh, T., Shami, A., Asal, R., and Li, Y. (2014). Software-Defined Networking: State of the Art and Research Challenges. ArXiv.","DOI":"10.1016\/j.comnet.2014.07.004"},{"key":"ref_5","unstructured":"Hounkonnou, C. (2013). Active Self-Diagnosis in Telecommunication Networks. [Ph.D. Thesis, University of Rennes]."},{"key":"ref_6","unstructured":"Anderson, C.J., Foster, N., Guha, A., Jeannin, J.B., Kozen, D., Schlesinger, C., and Walker, D. (2014, January 22\u201324). NetKAT: Semantic Foundations for Networks. Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL\u201914), San Diego, CA, USA."},{"key":"ref_7","unstructured":"The Frenetic Project (2018, August 13). The Frenetic Project. Available online: http:\/\/frenetic-lang.org\/."},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Guha, A., Reitblatt, M., and Foster, N. (2013, January 16\u201322). Machine-verified Network Controllers. Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, Seattle, WA, USA.","DOI":"10.1145\/2491956.2462178"},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1145\/2534169.2486030","article-title":"Maple: Simplifying SDN Programming Using Algorithmic Policies","volume":"43","author":"Voellmy","year":"2013","journal-title":"SIGCOMM Comput. Commun. Rev."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"256","DOI":"10.1109\/COMST.2014.2345792","article-title":"Applying Formal Methods to Networking: Theory, Techniques, and Applications","volume":"17","author":"Qadir","year":"2015","journal-title":"IEEE Commun. Surv. Tutor."},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"2188","DOI":"10.1109\/TNET.2018.2867239","article-title":"Merlin: A Language for Managing Network Resources","volume":"26","author":"Basu","year":"2018","journal-title":"IEEE\/ACM Trans. Netw."},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Chen, H., Foster, N., Silverman, J., Whittaker, M., Zhang, B., and Zhang, R. (2016, January 14\u201315). Felix: Implementing Traffic Measurement on End Hosts Using Program Analysis. Proceedings of the Symposium on SDN Research (SOSR\u201916), Santa Clara, CA, USA.","DOI":"10.1145\/2890955.2890971"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Zeng, H., Kazemian, P., Varghese, G., and McKeown, N. (2012, January 10\u201313). Automatic Test Packet Generation. Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies, Nice, France.","DOI":"10.1145\/2413176.2413205"},{"key":"ref_14","unstructured":"Kazemian, P., Varghese, G., and McKeown, N. (2019, May 03). Header Space Analysis: Static Checking for Networks. Available online: https:\/\/www.usenix.org\/system\/files\/conference\/nsdi12\/nsdi12-final8.pdf."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Zhao, Y., Wang, H., Lin, X., Yu, T., and Qian, C. (2017, January 5\u20138). Pronto: Efficient Test Packet Generation for Dynamic Network Data Planes. Proceedings of the 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS), Atlanta, GA, USA.","DOI":"10.1109\/ICDCS.2017.55"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Ke, Y., Hsiao, H., and Kim, T.H. (2018, January 2\u20135). SDNProbe: Lightweight Fault Localization in the Error-Prone Environment. Proceedings of the 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS), Vienna, Austria.","DOI":"10.1109\/ICDCS.2018.00055"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Agarwal, K., Rozner, E., Dixon, C., and Carter, J. (2014, January 22). SDN Traceroute: Tracing SDN Forwarding without Changing Network Behavior. Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, Chicago, IL, USA.","DOI":"10.1145\/2620728.2620756"},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"022304","DOI":"10.1007\/s11432-015-1057-7","article-title":"A tool for tracing network data plane via SDN\/OpenFlow","volume":"60","author":"Wang","year":"2016","journal-title":"Sci. Chin. Inf. Sci."},{"key":"ref_19","unstructured":"Smolka, S., Eliopoulos, S., Foster, N., and Guha, A. (September, January 31). A Fast Compiler for NetKAT. Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, Vancouver, BC, Canada."},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Singh, V.K., Schulzrinne, H., and Miao, K. (2008, January 7\u201311). DYSWIS: An architecture for automated diagnosis of networks. Proceedings of the 2008 IEEE Network Operations and Management Symposium, Salvador, Bahia, Brazil.","DOI":"10.1109\/NOMS.2008.4575230"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Chen, A., Wu, Y., Haeberlen, A., Zhou, W., and Loo, B.T. (2016, January 22\u201326). The Good, the Bad, and the Differences: Better Network Diagnostics with Differential Provenance. Proceedings of the 2016 ACM SIGCOMM Conference (SIGCOMM\u201916), Florianopolis, Brazil.","DOI":"10.1145\/2934872.2934910"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Moshref, M., Yu, M., Govindan, R., and Vahdat, A. (2016, January 22\u201326). Trumpet: Timely and Precise Triggers in Data Centers. Proceedings of the 2016 ACM SIGCOMM Conference, Florianopolis, Brazil.","DOI":"10.1145\/2934872.2934879"},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"L\u00e9vai, T., Pelle, I., N\u00e9meth, F., and Guly\u00e1s, A. (2015, January 17\u201321). EPOXIDE: A Modular Prototype for SDN Troubleshooting. Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, London, UK.","DOI":"10.1145\/2785956.2790027"},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Pelle, I., L\u00e9vai, T., N\u00e9meth, F., and Guly\u00e1s, A. (2015, January 17\u201318). One Tool to Rule Them All: A Modular Troubleshooting Framework for SDN (and other) Networks. Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research, Santa Clara, CA, USA.","DOI":"10.1145\/2774993.2775014"},{"key":"ref_25","first-page":"1","article-title":"A Little Less Interaction, A Little More Action: A Modular Framework for Network Troubleshooting","volume":"IX","author":"Pelle","year":"2017","journal-title":"Infocommun. J."},{"key":"ref_26","unstructured":"Himsolt, M. (1996). GML: A Portable Graph File Format, Universit\u00e4t Passau. Technical Report."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"1765","DOI":"10.1109\/JSAC.2011.111002","article-title":"The Internet Topology Zoo","volume":"29","author":"Knight","year":"2011","journal-title":"Selected Areas Commun. IEEE J."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Handigol, N., Heller, B., Jeyakumar, V., Lantz, B., and McKeown, N. (2012, January 10\u201313). Reproducible Network Experiments Using Container-based Emulation. Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies, Nice, France.","DOI":"10.1145\/2413176.2413206"}],"container-title":["Future Internet"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-5903\/11\/5\/107\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T12:49:04Z","timestamp":1760186944000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-5903\/11\/5\/107"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,5,4]]},"references-count":28,"journal-issue":{"issue":"5","published-online":{"date-parts":[[2019,5]]}},"alternative-id":["fi11050107"],"URL":"https:\/\/doi.org\/10.3390\/fi11050107","relation":{},"ISSN":["1999-5903"],"issn-type":[{"type":"electronic","value":"1999-5903"}],"subject":[],"published":{"date-parts":[[2019,5,4]]}}}