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

推薦する

複数の古いプレーヤーの埋め込みコード

ウェブページに表示されるプレーヤーは、WMP/RealPlayer/Flash Player に過ぎ...

Vue の DOM の非同期更新の簡単な分析

目次Vue が DOM を非同期更新する原理1 実際の DOM 要素を取得できるのはいつですか? 2...

Linux sshのデフォルトのリモートポート番号を変更する6つの手順

Linux のデフォルトの ssh リモート ポートは 22 です。デフォルトのポートは、悪意のある...

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

MySQLのイベントスケジューラEVENTを理解する

MySQL のイベント スケジューラ EVENT は、Unix crontab や Windows ...

ルートパスワードを変更するための MySQL 設定、MySQL サーバー接続、MySQL 共通コマンド図

1. ルートパスワードの設定と変更mysql が起動しているかどうかを確認します。起動していない場合...

dockerでPostgreSQLを実行する方法

1. Dockerをインストールします。参考URL: Docker 入門インストールチュートリアル ...

純粋な HTML+CSS でオリンピック リングを実装するためのサンプル コード

レンダリング コード - 青と黄色のリングを例に挙げます <div class="コ...

JS を使用して Web ページのウォーターフォール レイアウトを実装する方法

目次序文:ウォーターフォールレイアウトとは何ですか?達成方法: 1. 画像を取得する2. 画像の帯域...

Docker で Springboot プロジェクトを実行する実装

導入: springboot プロジェクトを実行する Docker の構成は実は非常にシンプルで、L...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

CSS クロスブラウザ スタイルのバグのデバッグについて

まず最初に、適切なブラウザを選択します。私が Chrome を選択したのは、その強力なデバッグ ツー...

DockerにTomcatコンテナを追加したときにホームページにアクセスできない問題の解決方法

質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...

面接の質問: 3 行 3 列のレイアウト、表は結合され、ネストされた表は許可されません

面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...

VMware仮想マシンを使用してUbuntu 20.04をインストールする完全なチュートリアル

Ubuntu は比較的人気のある Linux デスクトップ システムです。最近、Ubuntu 20....