Ubuntu 16.04 にソースコードから Mininet をインストールする

Ubuntu 16.04 にソースコードから Mininet をインストールする

ミニネット

Mininet は軽量のソフトウェア定義ネットワークおよびテスト プラットフォームです。軽量の仮想化テクノロジを使用して、単一のシステムを、関連するカーネル システムとユーザー コードを実行する完全なネットワークのように見せます。また、SDN ネットワーク システムにおけるプロセス ベースの仮想化プラットフォームとして簡単に理解することもできます。OpenFlow や OpenvSwith などのさまざまなプロトコルをサポートしています。Mininet は、同じコンピューター上で完全なネットワーク ホスト、リンク、スイッチをシミュレートし、特に OpenFlow および SDN テクノロジを使用するインタラクティブな開発、テスト、デモンストレーションを容易にします。同時に、このプロセス仮想化プラットフォームのコードを実際の環境に移行することもできます。

Mininetの特徴

  • ユーザー定義のネットワーク トポロジを簡単かつ迅速に作成できるため、開発とテストのサイクルが短縮されます。
  • 実際のプログラムを実行できます。基本的に、Linuxで実行されるプログラムは、Wiresharkなど、Mininetでも実行できます。
  • Mininet は OpenFlow をサポートしており、Mininet 上で実行されるコードは OpenFlow をサポートするハードウェア デバイスに簡単に移植できます。
  • Mininet は、自分のコンピューター、サーバー、仮想マシン、またはクラウド (Amazon EC2 など) 上で実行できます。
  • Mininetはシンプルで使いやすいPython APIを提供しています
  • Mininet はオープンソース プロジェクトです。ソース コードは https://github.com/mininet にあります。

Mininetをインストールする

ソースコードを入手する

git clone git://github.com/mininet/mininet

ディレクトリに入る

cd mininet

インストールを完了する

./util/install.sh -a

初めてのインストールです。どのような情報を設定すればいいのか分かりません。完全にインストールすることをお勧めします。

テスト

sudo mn --test pingall

ミニネットのバージョンを確認する

mn --version

その他のインストールコマンド

# install.sh –a ## 完全インストール (デフォルトではホームディレクトリにインストールされます)
# install.sh -s mydir –a ## 完全インストール (別のディレクトリにインストール) 
# install.sh –nfv ## Mininet + ユーザースイッチ + OVS をインストールします (ホームディレクトリにインストールされます)    
# install.sh -s mydir –nfv ## Mininet + ユーザースイッチ + OVS をインストール (他のディレクトリにインストール)

超シンプルなデータセンターネットワークの構築

データセンター ネットワークは通常、ツリー トポロジを持ちます。エンド ホストは、ツリーのリーフ (エッジ) を形成するトップオブラック スイッチに接続します。1 つ以上のコア スイッチがルートを形成し、1 つ以上のアグリゲーション スイッチのレイヤーがツリーの中央を形成します。基本的なツリー トポロジでは、各スイッチ (コア スイッチを除く) には 1 つの親スイッチがあります。追加のスイッチとリンクを追加して、より複雑なツリー トポロジ (ファット ツリーなど) を構築し、フォールト トレランスを向上させたり、ラック間の帯域幅を増やしたりすることができます。

この課題では、単純なツリー トポロジを作成します。各レベル (コア、アグリゲーション、エッジ、ホスト) は、次のように構成可能なファンアウト値 (k) を持つスイッチ/ホストの単一レイヤーで構成されていると想定します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Ubuntu 16.04.4LTS に mininet をインストールする際に発生する問題と解決策
  • Ubuntu で G++ を使用して CPP ファイルをコンパイルする
  • Ubuntu で VIM を C++ 開発エディタとして設定する
  • 開発環境にUbuntu 16をインストール後の初期設定
  • Ubuntu ターミナル マルチウィンドウ 分割画面 ターミネーター
  • Ubuntu 16.04 で PostgreSQL の起動を設定する方法
  • Ubuntu Linux に Git と GitHub をインストールして使用する
  • Ubuntu 16.04はvimとpython3の開発環境を作成します
  • フォアマン Ubuntu16 クイックインストール
  • Ubuntu 18にNvidiaドライバーをインストールして、黒い画面を解決し、解像度の問題を解決する
  • Ubuntu で PHP5 と PHP7 のデュアルバージョンをサポートするシンプルな実装

<<:  MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明

>>:  ネイティブWeChatアプレット開発におけるreduxの使用の詳細な説明

推薦する

mysql mycat ミドルウェアのインストールと使用

1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...

Linux でのファイル コンテンツの重複排除と交差と差異の実装

1. データ重複排除日常業務では、Hive や Impala を使用してクエリとエクスポートを行う際...

SQLはROW_NUMBER() OVER関数を使用してシーケンス番号を生成します。

構文: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY...

Linux redis-Sentinel 設定の詳細

ダウンロードダウンロードアドレス: https://redis.io/download /usr/l...

Vue フィルターの実装と適用シナリオの詳細な説明

1. 簡単な紹介Vue.js を使用すると、一般的なテキストの書式設定に使用できる独自のフィルターを...

シームレスなカルーセル効果を実現するネイティブ js

参考までに、ネイティブjsでカルーセル効果(シームレススクロール)を実現しています。具体的な内容は以...

プロファイルを使用して遅い SQL を分析する MySQL の詳細な説明 (グループ左結合はサブクエリよりも効率的です)

プロファイルを使用して遅いSQLを分析するMySQL の SQL パフォーマンス アナライザーの主な...

Linux で Nginx ロード バランシングを使用して複数の Tomcat を構成する方法

Linux に nginx と複数の tomcat をインストールする方法はここでは紹介しません。不...

Dockerの一般的なコマンドとヒントのまとめ

インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...

CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い

ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくありま...

Linux アカウントのパスワードを変更する詳細な例

個人アカウントのパスワードを変更する一般ユーザーが個人アカウントのパスワードを変更する場合は、他のコ...

CentOS で LibreOffice を使用してドキュメント形式を変換する方法

プロジェクト要件では、アップロードされたドキュメントの前処理が必要です。ユーザーが doc 形式でド...

JS での Reduce() メソッドの使用の概要

目次1. 文法2. 例3. その他の関連方法長い間、reduce() メソッドの具体的な使い方を理解...

MySQL パラメータ関連の概念とクエリ変更方法

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...

Reactの簡単な紹介

目次1. CDNの紹介1.1 react (最初にインポート) 1.2 react-dom(後ほど紹...