首页> 外文期刊>Computer networks >Systematically testing OpenFlow controller applications
【24h】

Systematically testing OpenFlow controller applications

机译:系统地测试OpenFlow控制器应用程序

获取原文
获取原文并翻译 | 示例

摘要

The emergence of OpenFlow-capable switches enables exciting new network functionality, at the risk of programming errors that make communication less reliable. The centralized programming model, where a single controller program manages the network, seems to reduce the likelihood of bugs. However, the system is inherently distributed and asynchronous, with events happening at different switches and end hosts, and inevitable delays affecting communication with the controller. In this paper, we present efficient, systematic techniques for testing unmodified controller programs. Our NICE tool applies model checking to explore the state space of the entire system the controller, the switches, and the hosts. Scalability is the main challenge, given the diversity of data packets, the large system state, and the many possible event orderings. To addressthis, we propose a novel way to augment model checking with symbolic execution of event handlers (to identify representative packets that exercise code paths on the controller). We also present a simplified OpenFlow switch model (to reduce the state space), and effective strategies for generating event interleavings likely to uncover bugs. Our prototype tests Python applications on the popular NOX platform. In testing three real applications-a MAC-learning switch, in-network server load balancing, and energy-efficient traffic engineering-we uncover 13 bugs. (C) 2015 Elsevier B.V. All rights reserved.
机译:具有OpenFlow功能的交换机的出现带来了令人兴奋的新网络功能,但存在编程错误的风险,这些错误使通信不那么可靠。由单个控制器程序管理网络的集中式编程模型似乎减少了发生错误的可能性。但是,系统具有固有的分布式和异步性,事件发生在不同的交换机和终端主机上,不可避免的延迟会影响与控制器的通信。在本文中,我们提出了有效,系统的技术来测试未修改的控制器程序。我们的NICE工具应用模型检查来探索整个系统的状态空间,包括控制器,交换机和主机。考虑到数据包的多样性,庞大的系统状态以及许多可能的事件顺序,可伸缩性是主要挑战。为了解决这个问题,我们提出了一种新颖的方法来通过事件处理程序的符号执行来增强模型检查(以识别执行控制器上代码路径的代表性数据包)。我们还提出了一种简化的OpenFlow切换模型(以减少状态空间),以及用于生成可能发现错误的事件交错的有效策略。我们的原型在流行的NOX平台上测试Python应用程序。在测试三个实际应用程序(MAC学习交换机,网络内服务器负载平衡和节能流量工程)时,我们发现了13个错误。 (C)2015 Elsevier B.V.保留所有权利。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号