Applying operating system principles to SDN controller design

  • Authors:
  • Matthew Monaco;Oliver Michel;Eric Keller

  • Affiliations:
  • University of Colorado at Boulder;University of Colorado at Boulder;University of Colorado at Boulder

  • Venue:
  • Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Rather than creating yet another network controller which provides a framework in a specific (potentially new) programming language and runs as a monolithic application, in this paper we extend an existing operating system and leverage its software ecosystem in order to serve as a practical SDN controller. This paper introduces yanc, a controller platform for software-defined networks which exposes the network configuration and state as a file system, enabling user and system applications to interact through standard file I/O, and to easily take advantage of the tools available on the host operating system. In yanc, network applications are separate processes, are provided by multiple sources, and may be written in any language. Applications benefit from common and powerful technologies such as the virtual file system (VFS) layer, which we leverage to layer a distributed file system on top of, and Linux namespaces, which we use to isolate applications with different views (e.g., slices). In this paper we present the goals and design of yanc. Our initial prototype is built with the FUSE file system in user space on Linux and has been demonstrated with a simple static flow pusher application. Effectively, we are making Linux the network operating system.