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

推薦する

JavaScript で右クリック メニューを統合する layim のサンプル コード

目次1. 効果の実証2. 実装チュートリアル3. 最後に、完全なコードを添付します4. その他の右ク...

Vue フロントエンド開発における keepAlive の使用方法の詳細な説明

目次序文keep-avlive フック関数keep-avliveはどのコンポーネントをキャッシュする...

Linux での crontab スケジュール実行コマンドの詳細な説明

LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | grep ...

JS、CSS スタイルのリファレンスの記述

CS: ... 1. <link type="text/css" href...

Vue はカードフリップカルーセル表示を実装します

Vueカードのフリップカルーセル表示、フリップ時にデータを切り替えながら、参考までに、具体的な内容は...

MySQL で時刻と日付の型を保存する際の選択問題を分析する

一般的なアプリケーションでは、timestamp、datetime、int 型を使用して時間形式を保...

Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策

/etc/my.confファイルで、[mysqld]の下に次の行を追加します: skip-grant...

Mongodb の GUID 表示の問題の詳細な分析

問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...

Linuxでディスク使用量を確認する方法

1. dfコマンドを使用してディスク全体の使用量を表示します。 df コマンドは、ハードディスクのマ...

jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります

目次FileReaderはローカルファイルまたはBLOBを読み取ります1. FileReaderの使...

CentOS 7にDockerをインストールする

Linuxシステムをお持ちでない場合は、ダウンロードとインストールについてはhttps://www....

Linux に MySQL 8.0.19 をインストールするための詳細な手順と問題解決方法

最近Tencent Cloudサーバーを購入し、環境を構築しました。このメモは、これまで MySQL...

ウェブデザイナーは3つの側面からウェブページを最適化する必要がある

<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...

Ubuntuのバックアップ方法(4種類)のまとめ

方法1:リスピンを使用するには、次の手順に従ってください。 sudo add-apt-reposit...

JavaScript データ型変換の例 (他の型を文字列、数値型、ブール型に変換する)

序文データ型変換とは何ですか?フォームまたはプロンプトを使用して取得されるデフォルトのデータ型は文字...