5

利用可能な最高のオープンソース SDN コントローラーについてアドバイスをいただきたいです。研究で持っているいくつかのアイデアを実装してテストしたいので、 などのシミュレーションを使用する必要がありますMininet。実際、私はミニネットに精通しており、それを扱うことができます。ただし、Mininet は少し面倒でユーザーフレンドリーではない POX コントローラーを使用するため、ネットワーク トポロジーの管理とフローの変更に関しては、最初からすべてをハードコーディングする必要があるため、難しい作業になります (私は初心者です)。 Python でも同様です)。POX の代わりに使用できる使いやすい SDN コントローラーはありますか? 試してみましFloodlightOpendaylightが、実際には準備ができておらず、多くのバグが含まれています。

ありがとうございました。

4

4 に答える 4

11

ノックス

すべては 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で書かれています。

于 2016-03-17T22:27:08.257 に答える
3

まず、Floodlight と OpenDaylight はどちらも本番環境に対応しています。この投稿は数か月前のものですが、OpenDaylight はそれまでに多くの組織で運用されていました。

何らかの理由で OpenDaylight と Floodlight 以外のコントローラーを好む場合は、ONOS または Kandoo/beehive 分散コントローラーhttps://github.com/kandoo/beehive-netctrlを試してみてください。

Mininet が POX を使用しているというあなたの主張は誤解を招くものであることに注意してください。Mininet では任意のコントローラーを使用できます。

例えば、

  1. Floodlight を使用した Mininet の構成 - http://kkpradeeban.blogspot.com/2015/09/configuring-mininet-with-floodlight.html

  2. OpenDaylight で Mininet を構成する - http://kkpradeeban.blogspot.com/2014/10/configuring-opendaylight-with-mininet.html

于 2016-09-30T20:40:15.233 に答える
2

ryuを使ってみてもいいと思います。これは python に基づいており、使いやすいです。

ryu コントローラーをインストールする簡単な方法があります。sdnds-tw/ryuInstallHelperを試してください。

于 2016-01-29T16:48:43.637 に答える
0

リストされているものに加えて。

FAUCETは、RYU ベースのコンパクトなオープンソース OpenFlow コントローラーです。faucet.yamlという 1 つのファイルですべてが管理されるため、簡単に使用できます。SDN の実験に非常に適しており、本番環境でも使用されます。

このチュートリアルから始めることができます

特徴

  • VLAN
  • IPv4 および IPv6 のサポート
  • 静的および BGP ルーティング
  • 柔軟なポートおよび VLAN ベースのアクセス コントロール リスト
  • ポートミラーリング
  • Openflow スイッチのベンダー ニュートラル スタッキング
  • 処理を外部システムにオフロードするためのポリシーベースの転送 (例: hostapd 経由の 802.1x)
  • NFV 用のデータプレーン - DHCP、NTP、ファイアウォール、IDS などのオフロード機能
  • モニタリング用のGrafanaベースのダッシュボード
  • FAUCET の監視と計測のための Prometheus 統合 時系列の Influxdb サポート
  • OpenFlow ポート統計 包括的なテスト スイート
于 2019-11-14T08:16:16.303 に答える