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.
- Big switch networks. http://www.bigswitch.com.Google Scholar
- Cumulus networks. http://cumulusnetworks.com.Google Scholar
- Floodlight openflow controller. http://www.projectfloodlight.org.Google Scholar
- Fuse: Filesystem in userspace. http://fuse.sourceforge.net.Google Scholar
- Onos: Open network operating system. http://es.slideshare.net/umeshkrishnaswamy/open-network-operating-system.Google Scholar
- Pica8: Open networks for software-defined networking. http://pica8.com.Google Scholar
- Ryu sdn framework. http://osrg.github.io/ryu.Google Scholar
- Network functions virtualisation. In SDN and OpenFlow World Congress, Oct. 2012.Google Scholar
- Z. Cai. Maestro: Achieving Scalability and Coordination in Centralized Network Control Plane. PhD thesis, Rice University, 2011. Google ScholarDigital Library
- M. Casado, T. Koponen, R. Ramanathan, and S. Shenker. Virtualizing the network forwarding plane. In PRESTO, 2010. Google ScholarDigital Library
- N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: a network programming language. In Proc. ACM SIGPLAN international conference on Functional programming (ICFP), 2011. Google ScholarDigital Library
- O. N. Foundation. Openflow specification. https://www.opennetworking.org/sdn-resources/onf-specifications/openflow.Google Scholar
- A. Gember, P. Prabhu, Z. Ghadiyali, and A. Akella. Toward software-defined middlebox networking. In Proc. Workshop on Hot Topics in Networks (HotNets), 2012. Google ScholarDigital Library
- A. Greenberg, G. Hjalmtysson, D. A. Maltz, A. Myers, J. Rexford, G. Xie, H. Yan, J. Zhan, and H. Zhang. A clean slate 4d approach to network control and management. SIGCOMM Comput. Commun. Rev., 35(5): 41--54, Oct. 2005. Google ScholarDigital Library
- A. Greenhalgh, F. Huici, M. Hoerdt, P. Papadimitriou, M. Handley, and L. Mathy. Flow processing and the rise of commodity network hardware. ACM SIGCOMM Computer Communication Review, 39(2): 20--26, 2009. Google ScholarDigital Library
- N. Gude, T. Koponen, J. Pettit, B. Pfaff, M. Casado, N. McKeown, and S. Shenker. Nox: towards an operating system for networks. SIGCOMM Comput. Commun. Rev., 38(3): 105--110, July 2008. Google ScholarDigital Library
- S. Hassas Yeganeh and Y. Ganjali. Kandoo: a framework for efficient and scalable offloading of control applications. In Proceedings of the first workshop on Hot topics in software defined networks, pages 19--24. ACM, 2012. Google ScholarDigital Library
- E. Keller, S. Ghorbani, M. Caesar, and J. Rexford. Live migration of an entire network (and its hosts). In Proceedings of the 11th ACM Workshop on Hot Topics in Networks, pages 109--114. ACM, 2012. Google ScholarDigital Library
- T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama, et al. Onix: A distributed control platform for large-scale production networks. In OSDI, volume 10, pages 1--6, 2010. Google ScholarDigital Library
- J. Martins, M. Ahmed, C. Raiciu, and F. Huici. Enabling Fast, Dynamic Network Processing with ClickOS. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN), 2013. Google ScholarDigital Library
- C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker. Composing software defined networks. In Proc. Usenix Network System Design and Implementation (NSDI), Apr 2013. Google ScholarDigital Library
- S. Rajagopalan, D. Williams, H. Jamjoom, and A. Warfield. Split/merge: system support for elastic execution in virtual middleboxes. In Proc. USENIX conference on Networked Systems Design and Implementation (NSDI), 2013. Google ScholarDigital Library
- R. Sherwood, G. Gibb, K.-K. Yap, G. Appenzeller, M. Casado, N. McKeown, and G. Parulkar. Can the production network be the testbed? In Proc. USENIX conference on Operating systems design and implementation (OSDI), 2010. Google ScholarDigital Library
- A. Voellmy and P. Hudak. Nettle: Taking the sting out of programming network routers. In PADL, pages 235--249, 2011. Google ScholarDigital Library
Index Terms
- Applying operating system principles to SDN controller design
Recommendations
The Linux Operating System
The enormous consumer market for IBM PCs and compatibles has made them affordable. Now, with a free operating system called Linux, these inexpensive machines can be converted into powerful workstations for teaching, research, and software development. ...
Comments