ABSTRACT
Recent years have seen an evolution of SDN control plane architectures, starting from simple monolithic controllers, over modular monolithic controllers, to distributed controllers. We observe, however, that today's distributed controllers still exhibit inflexibility with respect to the distribution of control logic. Therefore, we propose a novel architecture of a distributed SDN controller in this paper, providing maximum flexibility with respect to distribution.
Our architecture splits control logic into light-weight control modules, called controllets, based on a micro-kernel approach, reducing common controllet functionality to a bare minimum and factoring out all higher-level functionality. Light-weight controllets also allow for pushing control logic onto switches and enable local processing of data plane events to minimize latency and communication overhead. Controllets are interconnected through a message bus supporting the publish/subscribe communication paradigm with specific extensions for content-based OpenFlow message filtering. Publish/subscribe allows for complete decoupling of controllets to further facilitate control plane distribution. We evaluate both, the scalability and performance properties of our architecture, including its deployment on a white-box networking hardware switch.
- N. L. M. v. Adrichem, B. J. v. Asten, and F. A. Kuipers. Fast Recovery in Software-Defined Networks. In 2014 Third European Workshop on Software Defined Networks, pages 61--66, Sept. 2014. Google ScholarDigital Library
- A. Basta, A. Blenk, H. B. Hassine, and W. Kellerer. Towards a dynamic SDN virtualization layer: Control path migration protocol. In 2015 11th International Conference on Network and Service Management (CNSM), pages 354--359, Nov. 2015. Google ScholarDigital Library
- G. Bianchi, M. Bonola, A. Capone, and C. Cascone. OpenState: Programming Platform-independent Stateful Openflow Applications Inside the Switch. SIGCOMM Comput. Commun. Rev., 44(2):44--51, Apr. 2014. Google ScholarDigital Library
- R. Bifulco, J. Boite, M. Bouet, and F. Schneider. Improving SDN with InSPired Switches. In Proceedings of the Symposium on SDN Research, SOSR '16, pages 11:1--11:12, New York, NY, USA, 2016. ACM. Google ScholarDigital Library
- Big Switch Networks. Floodlight: An Open SDN Controller. http://www.projectfloodlight.org/floodlight/. {Online}.Google Scholar
- P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker. P4: Programming Protocol-independent Packet Processors. SIGCOMM Comput. Commun. Rev., 44(3):87--95, July 2014. Google ScholarDigital Library
- Broadcom. BroadView: Analytics-Driven Dynamic Path Optimization. https://www.broadcom.com/collateral/tb/BroadView-TB301-RDS.pdf. {Online}.Google Scholar
- Broadcom. Github Repository: OF-DPA. https://github.com/Broadcom-Switch/of-dpa. {Online}.Google Scholar
- M. Canini, P. Kuznetsov, D. Levin, and S. Schmid. A Distributed and Robust SDN Control Plane for Transactional Network Updates. In Proceedings of INFOCOM'15), Apr. 2015.Google ScholarCross Ref
- C. Cascone, L. Pollini, D. Sanvito, and A. Capone. Traffic Management Applications for Stateful SDN Data Plane. In 2015 Fourth European Workshop on Software Defined Networks, pages 85--90, Sept. 2015. Google ScholarDigital Library
- D. Chappell. Enterprise service bus. " O'Reilly Media, Inc.", 2004. Google ScholarDigital Library
- A. R. Curtis, J. C. Mogul, J. Tourrilhes, P. Yalagandula, P. Sharma, and S. Banerjee. DevoFlow: Scaling Flow Management for High-performance Networks. In Proceedings of the ACM SIGCOMM 2011 Conference, SIGCOMM '11, pages 254--265, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- A. A. Dixit, F. Hao, S. Mukherjee, T. Lakshman, and R. Kompella. ElastiCon: An Elastic Distributed Sdn Controller. In Proceedings of the Tenth ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS '14, pages 17--28, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M. Kermarrec. The Many Faces of Publish/Subscribe. ACM Comput. Surv., 35(2):114--131, June 2003. Google ScholarDigital Library
- Google Inc. Protocol Buffers. https://developers.google.com/protocol-buffers/. {Online}.Google Scholar
- 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, HotSDN '12, pages 19--24, New York, NY, USA, 2012. ACM. Google ScholarDigital Library
- Hewlett Packard Enterprise. HP Switch Software OpenFlow v1.3 Administrator Guide nl K/KA/KB/WB 15.18. http://h20566.www2.hpe.com/hpsc/doc/public/display?docId=c04777809, Dec. 2016. {Online}.Google Scholar
- IEEE 802.1AB: Local and Metropolitan Area Network Standards. Station and MAC-Discovery. IEEE Std., 2005. {Online}.Google Scholar
- iMatix Corporation. ZeroMQ: Distributed Messaging. http://zeromq.org/. {Online}.Google Scholar
- N. Katta, H. Zhang, M. Freedman, and J. Rexford. Ravana: Controller Fault-tolerance in Software-defined Networking. In Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research, SOSR '15, pages 4:1--4:12, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama, and S. Shenker. Onix: A Distributed Control Platform for Large-scale Production Networks. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI '10, pages 1--6, Berkeley, CA, USA, 2010. USENIX Association. Google ScholarDigital Library
- A. Krishnamurthy, S. P. Chandrabose, and A. Gember-Jacobson. Pratyaastha: An Efficient Elastic Distributed SDN Control Plane. In Proceedings of the Third Workshop on Hot Topics in Software Defined Networking, HotSDN '14, pages 133--138, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- nanomsg Documentation. Differences between nanomsg and ZeroMQ. http://nanomsg.org/documentation-zeromq.html, Jan. 2017.Google Scholar
- NetOS group, University of Cambridge Computer Laboratory. ipc-bench results database. http://www.cl.cam.ac.uk/netos/projects/ipc-bench, Oct. 2016.Google Scholar
- R. Niranjan Mysore, A. Pamboris, N. Farrington, N. Huang, P. Miri, S. Radhakrishnan, V. Subramanya, and A. Vahdat. PortLand: A Scalable Fault-tolerant Layer 2 Data Center Network Fabric. In Proceedings of the ACM SIGCOMM 2009 Conference on Data Communication, SIGCOMM '09, pages 39--50, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- ON.LAB - ONOS. ONOS - A new carrier-grade SDN network operating system designed for high availability, performance, scale-out. http://onosproject.org/. {Online}.Google Scholar
- Open Networking Foundation. OpenFlow Switch Specification. https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.3.4.pdf. {Online}.Google Scholar
- OpenDaylight Foundation. OpenDaylight: Open Source SDN Platform. https://www.opendaylight.org/. {Online}.Google Scholar
- OSGi Alliance. OSGi: Open Services Gateway initiative. https://www.osgi.org/. {Online}.Google Scholar
- D. Pasetto, H. Franke, K. Schleupen, D. Maze, H. Penner, H. Achilles, C. Crawford, and M. Purcell. Design and Implementation of a Network Centric Appliance Platform. In 2012 Brazilian Symposium on Computing System Engineering (SBESC), pages 204--207, Nov. 2012. Google ScholarDigital Library
- B. Pfaff, J. Pettit, T. Koponen, E. Jackson, A. Zhou, J. Rajahalme, J. Gross, A. Wang, J. Stringer, P. Shelar, K. Amidon, and M. Casado. The Design and Implementation of Open vSwitch. pages 117--130, 2015. Google ScholarDigital Library
- O. C. Project. Github Repository: SAI (Switch Abstraction Interface). https://github.com/opencomputeproject/SAI. {Online}.Google Scholar
- Ryu SDN Framework Community. Ryu: Component-based Software Defined Networking Framework. https://osrg.github.io/ryu/. {Online}.Google Scholar
- S. Schmid and J. Suomela. Exploiting Locality in Distributed SDN Control. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, HotSDN '13, pages 121--126, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- R. Sherwood and K.-K. Yap. Cbench: an Open-Flow Controller Benchmarker. http://www.openflow.org/wk/index.php/Oflops. {Online}.Google Scholar
- A. Singh, J. Ong, A. Agarwal, G. Anderson, A. Armistead, R. Bannon, S. Boving, G. Desai, B. Felderman, P. Germano, A. Kanagala, J. Provost, J. Simmons, E. Tanda, J. Wanderer, U. Hölzle, S. Stuart, and A. Vahdat. Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google's Datacenter Network. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, SIGCOMM '15, pages 183--197, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- D. Thaler and C. Hopps. Multipath Issues in Unicast and Multicast Next-Hop Selection. RFC 2991, RFC Editor, November 2000. Google ScholarDigital Library
- The NOX Controller. Github Repository: NOX Network Control Platform. https://github.com/noxrepo/nox. {Online}.Google Scholar
- A. Tootoonchian and Y. Ganjali. Hyperflow: a distributed control plane for openflow. In Proceedings of the 2010 internet network management conference on Research on enterprise networking, pages 3--3. USENIX Association, 2010. Google ScholarDigital Library
- S. Vissicchio, O. Tilmans, L. Vanbever, and J. Rexford. Central Control Over Distributed Routing. In Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, SIGCOMM '15, pages 43--56, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- VMWare Inc. Open vSwitch -- An Open Virtual Switch (Nicira Extensions). https://git.io/vgTKL. {Online}.Google Scholar
- J. Yang, Z. Zhou, T. Benson, X. Yang, X. Wu, and C. Hu. Focus: Function offloading from a controller to utilize switch power. 2016.Google Scholar
- S. H. Yeganeh and Y. Ganjali. Beehive: Simple distributed programming in software-defined networks. In Proceedings of the Second ACM Symposium on SDN Research (SOSR '16), Santa Clara, CA, Mar. 2016. Google ScholarDigital Library
- ZSDN. Github Repository: Java Module Framework. https://github.com/zeroSDN/JMF. {Online}.Google Scholar
- ZSDN. Github Repository: Zero Module Framework. https://github.com/zeroSDN/ZMF. {Online}.Google Scholar
- ZSDN. Github Repository: Zero Software Defined Networking; Distributed Software Defined Networking (SDN) Controller. https://github.com/zeroSDN. {Online}.Google Scholar
Recommendations
DC-CAMP: Dynamic Controller Creation, Allocation and Management Protocol in SDN
AbstractSoftware-defined networking (SDN) is a new paradigm that influences all networking aspects. SDN decouples the control and data planes. Decoupling the control and data planes makes possible the management of network equipment in a more comfortable ...
Data-centric publish/subscribe routing middleware for realizing proactive overlay software-defined networking
DEBS '16: Proceedings of the 10th ACM International Conference on Distributed and Event-based SystemsSoftware Defined Networking (SDN) has emerged as an attractive solution to allow cloud-to-cloud interconnection and federation. SDN technologies, such as OpenFlow, use both reactive hop-by-hop and proactive approaches to program the switches. The ...
Tutorial: event-based systems meet software-defined networking
DEBS '13: Proceedings of the 7th ACM international conference on Distributed event-based systemsSoftware-defined networking (SDN) is a recent development in the area of communication networks with tremendous support by key players building the next generation of computer hardware and software. This development will have significant impact on how ...
Comments