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

推薦する

カルーセル効果を作成するためのjs

カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...

フレームセットを使用してワイドスクリーンを中央に配置するためのヒントを共有する

コードをコピーコードは次のとおりです。 <フレームセット cols="*,1280,...

Linux のよく使うコマンドの使い方を詳しく解説(第 2 回)———— テキストエディタのコマンド vi/vim

vi/vim の紹介どちらもマルチモード エディターです。違いは、vim が vi のアップグレー...

HTML Webページの例を使用してヘッドエリアコードの意味を説明する

例を使って、Webページのヘッダー情報の意味を理解しましょう。 <!DOCTYPE HTML ...

MySQLが基礎データ構造としてB+ツリーを使用する理由

MySQL の基盤となるデータ構造が B+ ツリーであることは誰もが知っていますが、ではなぜ赤黒ツリ...

div が iframe に覆われるいくつかの状況とその解決策

類似の構造:コードをコピーコードは次のとおりです。 <div></div>&...

docker --privileged=true パラメータの役割についての簡単な説明

バージョン 0.6 あたりで、Docker に privileged が導入されました。このパラメー...

MySQL 5.7.17 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

インターネット上にはMySQL 5.7.17のインストールチュートリアルがほとんどなく不十分なので、...

JavaScriptオフセットは、ウィンドウ内でのマウス座標の取得とモジュールのドラッグを実装します。

オフセットOffset はオフセットです。関連プロパティの offset シリーズを使用すると、次の...

要素の高さを下から上へ、上から下へ制御する CSS メソッド

よくある質問から議論を始めましょう。CSS を使用して要素の高さを [ブラウザ コンテンツ ウィンド...

ウェブデザイン研究における XHTML の応用の概要

<br />一般的に、「標準的な Web ページ」のファイル構成は XHTML CSS ...

CentOS7.5にHarbor1.7をインストールして設定するプロセス全体

1. 必要なパッケージをダウンロードする wget -P /usr/local https://st...

mysql: [エラー] 不明なオプション '--skip-grant-tables'

MySQL データベースがエラー 1045 (28000): ユーザー 'ODBC'...

vscodeを使用してuniappを開発する方法

私はフロントエンド プロジェクトの開発に常に vscode を使用してきたため、現在ではいくつかの小...

Linux 面接で最もよく聞かれる 10 の質問のまとめ

序文Linux システムの運用および保守エンジニア職の面接を受ける場合は、次の 10 個の最も一般的...