ノックス
すべては NOX から始まりました。主張する人もいるかもしれませんが、NOX は、多くの研究者を引きつけ、広く受け入れられるようになった最初の OpenFlow コントローラーです。Software-Defined Networking (SDN) および OpenFlow に関する主要な論文やアプリケーションの大部分は、NOX の上に実装されています。Google でさえ NOX を使用して、ONIX と呼ばれる独自の分散型 OpenFlow コントローラーを構築 (プロトタイプ?) しました。そうは言っても、2010 年には大騒ぎはすべて残されました。それ以降、NOX メーリング リストはほとんど放棄され、私が知る限り、コード ベースに大きな変更は加えられていません。
ポックス
POX は自分自身を NOX の弟分と呼んでいます。(両方とも同じチーム/組織によって管理/保守されています。) 私の個人的な考えでは、POX は多かれ少なかれ、NOX の後継である開発者にとって使いやすい OpenFlow コントローラーを作成するという目的によって動機付けられています。ほとんどすべての OpenFlow 新規参入者は、POX または Floodlight のいずれかに誘導されます。したがって、非常に活発なメーリング リストがあることは当然のことです。POX は、制限付きの Web API (JSON-RPC 経由) と、その wiki で適度なサイズのマニュアル コレクションを提供します。それは Python で書かれており、そこにある Pythonistas に適切な Python API を提供します。Python はインタープリター型言語であるため、特に C++ ベースの NOX と比較して、POX は開発と展開のサイクルに費やされる時間を大幅に削減します。さらに、NOX GUI のサポートに加えて、POX は Web ベースの GUI も提供します。
ビーコン
要約すると、Beacon はコンパクトで表現力豊かなコード ベースを提供し、問題なく動作します。そうは言っても、Eclipse と OSGi の依存関係は本当に私を殺し、スター トポロジ (つまり、ループのないトポロジ) のみをサポートすることは非常に制約的です。Beacon を試してみる場合は、代わりに Floodlight を評価することをお勧めします。
フラッドライト
Floodlight は、間違いなく F/OSS OpenFlow ソフトウェアの中で最も活発で反応の良いコミュニティを持っています。BigSwitch Networks で働く Floodlight 開発者の大半は、メーリング リストに直接参加しています。特定のモジュールの実際の開発者と問題について話し合っていることに気付くことがあります。私は、答えのない質問も、未解決の問題も見たことがありません。本当に協力的で活発なコミュニティでした。Floodlight は REST API を介してほぼすべての機能を公開しており、静的ルートやエンドツーエンド ルート (サーキット) プッシュなどの一般的なタスク用の便利なユーティリティが多数存在します。Floodlight には、Web ベースの UI (Wes Felter による寄稿) と、Jason Parraga による Avior と呼ばれる Java ベースの GUI があります。その種の 1 つである Floodlight は、Quantum プラグインを使用して OpenStack のネットワーク バックエンドとして実行することもできます。
リュウ
Ryu は、コンポーネント ベースのソフトウェア定義ネットワーキング フレームワークです。Ryu は、開発者が新しいネットワーク管理および制御アプリケーションを簡単に作成できるように、明確に定義された API を備えたソフトウェア コンポーネントを提供します。Ryu は、OpenFlow、Netconf、OF-config など、ネットワーク デバイスを管理するためのさまざまなプロトコルをサポートしています。OpenFlow については、Ryu は 1.0、1.2、1.3、1.4、1.5、および Nicira 拡張機能を完全にサポートしています。すべてのコードは、Apache 2.0 ライセンスの下で自由に利用できます。**
オノス
ONOS (Open Network Operating System) プロジェクトは、The Linux Foundation がホストするオープン ソース コミュニティです。このプロジェクトの目標は、スケーラビリティ、高性能、および高可用性を実現するように設計された、通信サービス プロバイダー向けのソフトウェア定義ネットワーク (SDN) オペレーティング システムを作成することです。
オープンデイライト
OpenDaylight プロジェクトは、The Linux Foundation が主催する共同オープン ソース プロジェクトです。このプロジェクトの目標は、ソフトウェア定義ネットワーク (SDN) の採用を加速し、ネットワーク機能仮想化 (NFV) の強固な基盤を構築することです。ソフトウェアはJavaで書かれています。