# Onix
Onix は、[[Teemu Koponen]] を筆頭著者として2010年の OSDI で発表された分散コントロールプラットフォームである("Onix: A Distributed Control Platform for Large-scale Production Networks")。[[Network Virtualization Platform (NVP)|NVP]] はこの Onix の上に構築されており、Onix が提供するレプリケーテッドトランザクショナルデータベースを用いて API 経由のプロビジョニング設定状態を永続化する。(Source: [[@2014__NSDI__Network Virtualization in Multi-tenant Datacenters]] §5.2)
NVP は Onix が提供する基本的な分散サービスに加え、2つの分散サービスを独自に実装している。(1) リーダー選出: 各コントローラが自身の担当シャードと、切断されたコントローラの担当シャードの引き継ぎタイミングを知る必要があるが、NVP のコントローラ数は数十程度にとどまるため、大規模クラスタで有効なコンシステントハッシングではなく Zookeeper を用いたシャーディングコーディネータによる選出を採用した。(2) ラベル割り当て: トンネルにカプセル化されたパケットが運ぶ、論理宛先ポートを一意に示すラベルを、コントローラ障害をまたいでグローバルに一意なまま(かつコンパクトに)割り当てるサービスで、これも Zookeeper を用いて実装されている。(Source: [[@2014__NSDI__Network Virtualization in Multi-tenant Datacenters]] §5.2)
『Software-Defined Networks: A Systems Approach』第8章によれば、[[Nicira]] チームが構築した Onix のような初期のネットワークオペレーティングシステムは、後の [[ONOS]] の先駆けと位置づけられる。(Source: [[Nicira]] 経由、[[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 8 Network Virtualization]] ch.8 §8.2.2)
## 関連
- [[Network Virtualization Platform (NVP)]] — Onix の上に構築されたネットワーク仮想化プラットフォーム
- [[Teemu Koponen]] — Onix 論文の筆頭著者
- [[VMware]] / [[Nicira]] — Onix を開発した組織
- [[ONOS]] — Onix の系譜を汲む後継的な取り組み
- 概念: [[ソフトウェア定義ネットワーク]] / [[ネットワーク仮想化]]
## 出典
- [[@2014__NSDI__Network Virtualization in Multi-tenant Datacenters]](§5.2、References [23]: 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." Proc. of OSDI, October 2010.)