Performance issues in software-defined network (SDN) controllers can have serious impacts on the performance and availability of networks. We specifically consider stateful performance issues, where a sequence of initial input messages drives an SDN controller into a state such that its performance degrades pathologically when processing subsequent messages. We identify key challenges in applying canonical program analysis techniques: large input space of messages (e.g., stateful OpenFlow protocol), complex code base and software architecture (e.g., OSGi framework with dynamic launch), and the semantic dependencies between the internal state and external inputs. We design SPIDER, a practical fuzzing workflow that tackles these challenges and automatically uncovers such issues in SDN controllers. SPIDER's design entails a careful synthesis and extension of semantic fuzzing, performance fuzzing, and static analysis, taken together with domain-specific insights to tackle these challenges. We show that our design workflow is robust across two controllers -- ONOS and OpenDaylight -- with very different internal implementations. Using SPIDER, we were able to identify and confirm multiple stateful performance issues.
翻译:软件定义网络控制器(SDN)的性能问题可能对网络的性能和可用性产生严重影响。 我们特别考虑有声的性能问题,即初始输入信息序列将SDN控制器推向一个状态,使得其性能在随后处理电文时会从病理上下降。我们确定在应用光学程序分析技术方面的主要挑战:信息的大量输入空间(例如,有声的 OpenFlow 协议)、复杂的代码基础和软件结构(例如,有动态发射的OSGi 框架),以及内部投入和外部投入之间的语义依赖性。我们设计了天基信息平台,这是一个应对这些挑战并自动发现SDN控制器中这类问题的实用的模糊工作流程。天基信息平台的设计需要仔细合成和扩展语义模糊、性能模糊和静态分析,同时结合具体领域的洞察来应对这些挑战。我们表明,我们的设计工作流程在两个控制器 -- ONOS和 Opaylight -- -- 之间是强有力的,内部实施非常不同的。我们利用天基信息平台,能够识别和确认多种有色的性的工作问题。