Onix: a distributed control platform for large-scale production networks

Teemu Koponen
Martin Casado
Natasha Gude
Jeremy Stribling
Min Zhu
Rajiv Ramanathan
Yuichiro Iwata NEC
Hiroaki Inoue NEC
Takayuki Hama NEC
Scott Shenker
Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, USENIX Association, Berkeley, CA, USA (2010), pp. 351-364

Abstract

Computer networks lack a general control paradigm, as traditional networks do not provide any network-wide management abstractions. As a result, each new function (such as routing) must provide its own state distribution, element discovery, and failure recovery mechanisms. We believe this lack of a common control platform has significantly hindered the development of flexible, reliable and feature-rich network control planes.

To address this, we present Onix, a platform on top of which a network control plane can be implemented as a distributed system. Control planes written within Onix operate on a global view of the network, and use basic state distribution primitives provided by the platform. Thus Onix provides a general API for control plane implementations, while allowing them to make their own trade-offs among consistency, durability, and scalability.