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の使用の詳細な説明

推薦する

Apache FlinkCEP でタイムアウトステータス監視を実装するための詳細な手順

CEP - 複合イベント処理。ご注文後、一定期間内にお支払いの確認が取れませんでした。タクシーの配...

WeChatアプレットはシンプルな手書き署名コンポーネントを実装します

目次背景:必要:効果1. アイデア2. 実装1. ページとスタイル2. 初期化3. クリックすると4...

Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践

目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...

Linux で Apache を使用してファイル サーバーを構築する手順

1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...

CSS3のfocus-withinセレクタの使用

擬似要素と擬似クラスところで、まずは疑似クラスセレクターと疑似要素セレクターについておさらいしておき...

単一行関数と文字計算日付プロセス制御を説明する MySQL の例

目次1. キャラクター機能1. ケースコントロール機能2. キャラクターコントロール機能2. 数学関...

HTML5+CSS3コーディング標準

黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...

mysql5.7.14 解凍版インストールと設定方法 グラフィックチュートリアル (win10)

Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...

MySQL への接続時に発生する 1449 および 1045 例外の解決方法

MySQL への接続時に発生する 1449 および 1045 例外の解決方法 mysql 1449:...

HTMLを圧縮しない理由はいくつかある

理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...

Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...

Javascript 構造化代入の詳細

目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...

favicon.ico についていくつか注意点があります (ルートディレクトリに置くのがベストです)

任意のウェブページを開きます。例: http://www.baidu.com/ ブラウザのタブのヘッ...

MySQL学習エンジンの詳細な説明、説明、権限

エンジン導入InnodbエンジンInnodb エンジンは、データベース ACID トランザクションを...

Vueでアイコンをカスタマイズする手順

ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...