SDNダイジェスト-6つのオープンソースエミュレーター

前回は、オープンソースのSDNコントローラーを選択しました 。 今日、SDNネットワークのオープンエミュレータが次々に登場しています。 興味のある人は誰でも猫に招待されます。



/ Flickr / dennis van zuijlekom / cc






ミニネット



このツールを使用すると、1台のマシン(仮想または物理)でソフトウェア制御ネットワークを構築できます。 コマンドを入力するだけです:$ sudo mn。 開発者によると、Mininetはテスト環境の展開に適しています。



たとえば、スタンフォードの教師(彼らがMininetを開発した)は、大学での実践的な授業でユーティリティを使用しています。 学生がネットワーキングスキルを磨くのに役立ちます。 タスクとデモの一部は、GitHub のリポジトリにあります。



Mininetは、カスタムSDNトポロジのテストにも適しています。 仮想ネットワークは、すべてのスイッチ、コントローラー、およびホストと共に展開され、Pythonスクリプトを使用してそのパフォーマンスがチェックされます。 次に、設定がMininetから実際のネットワークに転送されます。



ソリューションの欠点の中でも、 専門家はWindowsのサポート欠如を強調しています。 さらに、エミュレーターは同じマシン上で実行されるため、Mininetは大規模ネットワークでの作業には適していません。十分なハードウェアリソースがない可能性があります。



MininetはBSD Open Sourceの下でライセンスされており、積極的に開発中です。 誰でも貢献できます。これを行う方法については、プロジェクトの公式ウェブサイトと リポジトリに情報があります






ns-3



ネットワークの離散イベントシミュレーション用のシミュレータ。 当初、このツールは教育ユーティリティとして考えられていましたが、今日ではSDN環境のテストに使用されています。 ns-3の操作に関するガイドは、プロジェクトドキュメントと共にサイトにあります



このユーティリティの利点には、ソケットのサポートと、他のツール(Wiresharkなど)を操作するためのPcapライブラリ、およびレスポンシブコミュニティがあります。



欠点には、視覚化が比較的不十分なことが含まれます。 NetAnim 、トポロジを表示する責任があります。 さらに、ns-3はすべてのSDNコントローラーをサポートしていません。






当社の企業ブログのトピックを読んでください。








Opennet



このSDNエミュレータは、Mininetとns-3の2つの以前のツールに基づいて構築されています。 それらのそれぞれの長所を組み合わせています。 ソリューションを連携させるために、OpenNetはPythonバインディングライブラリを使用します。



したがって、OpenNetのMininetは、OpenFlowスイッチをエミュレートし、CLIと仮想化を提供します。 ns-3に関しては、Mininetにないモデルをエミュレートします。 操作ガイドはGitHubにあり、関連資料への追加リンクがあります








/ PxHere / PD






Containerernet



これは、アプリケーションコンテナを操作するためのMininetのフォークです。 Dockerコンテナは、エミュレートされたネットワーク上のホストとして機能します。 このソリューションは、開発者がクラウド、周辺機器、フォグコンピューティング、NFVを試すことができるように作成されました。 このシステムは、仮想化された5Gネットワ​​ークでオーケストレーションシステムを作成するためにSONATA NFVの作成者によってすでに使用されています。 Containernetは、NFVエミュレーションプラットフォームの中核です。



GitHubのガイドを使用してContainernetをインストールできます






タイニーネット



SDNネットワークの迅速なプロトタイプ作成を支援する軽量ライブラリ。 Goで記述されたAPIツールを使用すると、ネットワークトポロジをエミュレートできます。 ライブラリ自体は少し「重く」なります。これは、それがインストールされ、アナログよりも高速に実行されるためです。 TinynetはDockerコンテナーと統合することもできます。



このツールは、機能が制限されているため、大規模ネットワークのエミュレートには適していません。 ただし、小規模な個人プロジェクトやラピッドプロトタイピングを行う場合に役立ちます。



Tinynetをインストールするためのサンプル実装とコマンドは、 GitHubリポジトリにあります






マキシネット



このツールを使用すると、複数の物理マシンでMininetを使用して、大規模なSDNネットワークを操作できます。 各マシン( ワーカー )はMininetを起動し、ネットワーク全体の一部をエミュレートします。 スイッチとホストは、 GREトンネルを使用して相互に通信します。 そのようなネットワークのコンポーネントを管理するために、MaxiNetはAPIを提供します。



MaxiNetは、ネットワークの迅速なスケーリングとリソース割り当ての最適化に役立ちます。 MaxiNetには、監視機能、統合されたCLI、およびDockerと統合する機能もあります。 ただし、このツールは、複数のマシンの1つのスイッチの動作をエミュレートする方法を知りません。



プロジェクトのソースコードはGitHubにあります 。 インストールガイドとクイックスタートガイドは公式プロジェクトページにあります






当社の企業ブログのトピックを読んでください。






All Articles