GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

mininet

mininet – ソフトウェア定義ネットワークのラピッドプロトタイピング用エミュレータ

投稿日:

ソフトウェア定義ネットワークのラピッドプロトタイピング用エミュレータ http://mininet.org

Mininet:ソフトウェア定義ネットワークのラピッドプロトタイピング

ラップトップ上のほぼすべてのネットワークをエミュレートする最善の方法!

Mininet 2.3.0d1

Mininetとは何ですか?

Mininetは、単一のマシン上のホスト、リンク、およびスイッチの完全なネットワークをエミュレートします。 サンプルの2ホスト1スイッチネットワークを作成するには、次のコマンドを実行します。

sudo mn

Mininetは、インタラクティブな開発、テスト、デモ、特にOpenFlowとSDNを使用する開発、デモに役立ちます。 Mininetでプロトタイプ化されたOpenFlowベースのネットワークコントローラは、通常フルラインレート実行のために最小限の変更でハードウェアに転送できます。

どのように機能するのですか?

Mininetはプロセスベースの仮想化とネームスペースを使って仮想ネットワークを作ります。これは最近のLinuxカーネルで利用できる機能です。 Mininetでは、ホストはネットワークネームスペースで動作するbashプロセスとしてエミュレートされるため、Linuxサーバー(Webサーバーやクライアントプログラムなど)で通常実行されるコードは、Mininetの「ホスト」内で正常に動作するはずです。 Mininet「ホスト」は独自のプライベートネットワークインターフェイスを持ち、独自のプロセスしか見ることができません。 Mininetのスイッチは、Open vSwitchやOpenFlowリファレンススイッチなどのソフトウェアベースのスイッチです。 リンクは仮想的なイーサネットペアで、Linuxカーネルに存在し、エミュレートされたスイッチをエミュレートされたホスト(プロセス)に接続します。

特徴

Mininetには以下が含まれます:

  • ネットワークをインスタンス化するコマンドラインランチャ( mn )。

  • さまざまなサイズとトポロジのネットワークを作成するための便利なPython API。

  • 始めに役立つ例( examples/ディレクトリ内)

  • Pythonのhelp() docstringsによる完全なAPIドキュメント、 make docmake doc PDF / HTMLドキュメントを生成する機能

  • Mininetオブジェクトを使用して、パラメータ化されたトポロジ( Topoサブクラス)。 たとえば、次のコマンドを使用してツリーネットワークを作成できます。

    mn --topo tree,depth=2,fanout=3

  • 有用な診断コマンド( iperfping )と、コマンドをノードに実行する機能を提供するコマンド行インターフェース( CLIクラス)。 例えば、

    mininet> h11 ifconfig -a

    ifconfig -aコマンドを実行するようにホストh11に指示します。

  • MininetやLinuxが残しているジャンク(インタフェース、プロセス、/ tmpのファイルなど)を取り除くための “クリーンアップ”コマンド。 物事が機能しなくなったら、これを試してください!

    mn -c

このリリースの新機能

これは、主にパフォーマンスの向上とバグ修正リリースです。

  • Open vSwitchのバッチスタートアップが実装され、スタートアップのパフォーマンスが向上しました。

  • OVSパッチリンクはOVSLinkおよび–link ovsを介して実装されています

    警告! これらのリンクには、仮想イーサネットペアに比べて深刻な制限があります。実際のLinuxインターフェイスには接続されていないので、tcpdumpやwiresharkを使用することはできません。 長鎖でも使用することはできません。たとえば、64以上のOVSLinkを推奨します(例: – linear、64)。 ただし、特定の構成では、vethペアよりも大幅に優れたパフォーマンスを提供できます。

  • あなたは簡単にMininetをRaspberry Piにインストールできます;-)

  • このリリースおよび以前のリリースに関する追加情報は、docs.mininet.orgのリリースノートに記載されています

インストール

インストール手順と詳細については、 INSTALLを参照してください。

ドキュメンテーション

APIドキュメント( make doc )に加えて、MininetのウォークスルーやPython APIの紹介など多くの有用な情報が、 Mininet Webサイトで入手できます。 あなたが読んで貢献することを奨励されているwiki、特によくある質問(FAQ)があります。

サポート

Mininetはコミュニティでサポートされています。 ミニネットのメーリングリスト、 mininet-discussに参加することをお勧めします:

https://mailman.stanford.edu/mailman/listinfo/mininet-discuss

参加しませんか

Mininetの貢献者の皆さんに感謝します!

Mininetはオープンソースプロジェクトであり、現在https://github.com/mininetでホストされています コードをダウンロードして調べ、修正し、バグレポート、バグ修正、機能要求、新機能およびその他の問題を提出し、要求を提出することをお勧めします。 Mininetプロジェクトにコードを提供してくださった皆様に感謝します(寄稿者の詳細はこちらをご覧ください)。これはMininetが成長し、向上し続けることは誰の努力でもあります。

ミニネットをお楽しみください

心からお祈りしており、ネットネットの世界を変えるためにMininetで何ができるのかを楽しみにしています!

ボブランツ
ミニネットコアチーム







-mininet

執筆者: