A (not) NICE way to verify the openflow switch specification: formal modelling of the openflow switch using alloy

Natali Ruchansky, Davide Proserpio
{"title":"A (not) NICE way to verify the openflow switch specification: formal modelling of the openflow switch using alloy","authors":"Natali Ruchansky, Davide Proserpio","doi":"10.1145/2486001.2491711","DOIUrl":null,"url":null,"abstract":"The introduction of Software Defined Networks (SDNs) is completely changing the way in which networks are built and managed. SDNs decouple data from control plane access, which makes introduction of new network functionalities significantly simpler. The philosophy of OpenFlow is a move towards centralization, where a single controller program manages the logic of switches. While centralized systems are often easier to coordinate, the likelihood of bugs is still high. Despite the existence of an OpenFlow Specification [3], it may still be possible observe unexpected behavior while adhering to this Specification. This can be due to various reasons, such as underspecification of some aspect of the protocol or a contrived sequence of events. One of the emerging techniques to verify (prove that a system satisfies its specification) standards and protocols is formal modeling. Created at some chosen level of abstraction, the purpose of a formal model is to enable precise understanding, specification, and analysis of the system. The modeling language Alloy has been noted as a tool that lends itself to modeling complex networks. In fact, it has been used in many applications [1], including the analysis of Chord [6, 7] which led to a counterexample proving the incorrectness of the protocol. The main contribution of this paper is to apply the principles of formal modeling to OpenFlow. Concretely we use model enumeration (Alloy and Alloy Analyzer [5]) to model an OpenFlow-capable switch. The aim of this project is twofold: (1) to provide a proof of correctness (or not) of the OpenFlow Switch Specification Version 1.1.0 and (2) provide researchers with a complete OpenFlow Switch module that can be used as a foundation to verify various applications or types of networks (more detail in Section 4 and our site [2]). The remainder of the paper is organized as follows. In Sec-","PeriodicalId":159374,"journal":{"name":"Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"26","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2486001.2491711","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 26

Abstract

The introduction of Software Defined Networks (SDNs) is completely changing the way in which networks are built and managed. SDNs decouple data from control plane access, which makes introduction of new network functionalities significantly simpler. The philosophy of OpenFlow is a move towards centralization, where a single controller program manages the logic of switches. While centralized systems are often easier to coordinate, the likelihood of bugs is still high. Despite the existence of an OpenFlow Specification [3], it may still be possible observe unexpected behavior while adhering to this Specification. This can be due to various reasons, such as underspecification of some aspect of the protocol or a contrived sequence of events. One of the emerging techniques to verify (prove that a system satisfies its specification) standards and protocols is formal modeling. Created at some chosen level of abstraction, the purpose of a formal model is to enable precise understanding, specification, and analysis of the system. The modeling language Alloy has been noted as a tool that lends itself to modeling complex networks. In fact, it has been used in many applications [1], including the analysis of Chord [6, 7] which led to a counterexample proving the incorrectness of the protocol. The main contribution of this paper is to apply the principles of formal modeling to OpenFlow. Concretely we use model enumeration (Alloy and Alloy Analyzer [5]) to model an OpenFlow-capable switch. The aim of this project is twofold: (1) to provide a proof of correctness (or not) of the OpenFlow Switch Specification Version 1.1.0 and (2) provide researchers with a complete OpenFlow Switch module that can be used as a foundation to verify various applications or types of networks (more detail in Section 4 and our site [2]). The remainder of the paper is organized as follows. In Sec-
一种(非)NICE验证openflow开关规格的方法:使用合金对openflow开关进行正式建模
软件定义网络(sdn)的引入正在彻底改变网络的构建和管理方式。sdn将数据从控制平面访问中分离出来,这使得引入新的网络功能变得非常简单。OpenFlow的理念是朝着集中化的方向发展,即单个控制器程序管理交换机的逻辑。虽然集中式系统通常更容易协调,但出现bug的可能性仍然很高。尽管存在OpenFlow规范[3],但在遵守该规范的同时,仍然可能观察到意外行为。这可能是由于各种原因造成的,例如协议的某些方面没有规范,或者人为的事件序列。用于验证(证明系统满足其规范)标准和协议的新兴技术之一是形式化建模。在某个选定的抽象级别上创建,正式模型的目的是实现对系统的精确理解、规范和分析。建模语言Alloy被认为是一种适合对复杂网络进行建模的工具。事实上,它已经在许多应用程序中使用[1],包括对Chord的分析[6,7],它导致了一个反例,证明了协议的不正确性。本文的主要贡献是将形式化建模的原则应用于OpenFlow。具体地说,我们使用模型枚举(Alloy and Alloy Analyzer[5])来建模一个支持openflow的开关。该项目的目的有两个:(1)提供OpenFlow Switch Specification Version 1.1.0正确性(或不正确性)的证明;(2)为研究人员提供一个完整的OpenFlow Switch模块,可作为验证各种应用或网络类型的基础(详见第4节和我们的网站[2])。本文的其余部分组织如下。在证券交易委员会-
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信