問題タブ [mininet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4939 参照

openflow - mininet でポート情報を把握する方法

Python を使用して、カスタム ミニネット トポロジを作成します。トポロジを詳細に知ることは、質問にとって重要ではありません。

コントローラーはryuを使用。特に「ofctl_rest.py」というアプリを使っています。このコントローラーは、それ自体ではスイッチにルールをインストールしません。ルールを確立するには、残りのコマンドを発行する必要があります。すべての残りのリクエスト (ルール) で、発信ポートを指定する必要があります。このポートを指定するには、ネットワークのトポロジに関する情報が必要です。

どのリンクがポートに接続されているかを知る必要があります。ポートが実行されているインターフェイスを知る必要があります。また、外部インターフェイス、外部スイッチ/ホスト、および実際のポートの外部ポートを知ることも役立ちます。どうすればこの情報を取得できますか???

私を助けてください。私はそれを理解する方法がわからないので、私は今本当にイライラしています。

0 投票する
2 に答える
1980 参照

openflow - Open Flow スイッチからパケットロスを取得する

mininet (2.1.0) を使用して作成された仮想ネットワークの一部であるスイッチ (Open vSwitch 2.0.2、Open Flow 1.3 をサポート) を監視するために、ryu コントローラー (3.22) を使用しています。これは、深さ = 2、ファンアウト = 5 のツリー トポロジです。私はswitch_monitor.pyを使用しています。

コントローラーの助けを借りて、EventOFPPortStatsReplyデコレーターを使用してポート統計を取得できます。rx_packetsrx_bytesrx_errorstx_packetstx_bytestx_errorsなどrx_droppedの値を取得できますtx_dropped

ただし、qdisc (linux コマンド) によって報告されるように、スイッチが実際にパケットをドロップしている場合でも、 の値は常にゼロrx_droppedtx_droppedなります。

Open Flow スイッチからパケット損失統計を取得する方法は?

a. ゼロ以外の値を取得するには?

b. 別の方法はありますか?

0 投票する
1 に答える
638 参照

linux - bash スクリプトからの Mininet トポロジの初期化

Mininet仮想マシンのセットアップ、VM への SSH 接続、VM 内での Mininet の起動、およびトポロジの初期化のプロセスを自動化したいと考えています。作成したネットワークを使用して Mininet にコマンドを発行できるように、セッションを開いたままにしておく必要があります。ネットワークの初期化を含め、すべてが機能しますが、bash スクリプトが終了すると、Mininet はトポロジを破棄し、仮想マシンを終了します。私のコードの関連部分は次のとおりです。

私が試したこと:

  1. ヒアドキュメントをs0 bash;で終了します。
  2. で終わるs0 $SHELL;
  3. ヒアドキュメントの末尾にある区切り文字を削除します (暗闇で撮影)。

(1) と (2) は Mininet を終了し、VM にプロンプ​​トを残しましたが、何らかの理由でそこからコマンドを発行できません。(3) 何もしません。

0 投票する
1 に答える
3943 参照

icmp - POX コントローラーとの ICMP 一致の設定


POX コントローラーを使用してフロー エントリをスイッチに追加しようとしています。私のコードは次のとおりです。

ただし、10.0.0.1 から 10.0.0.5 に ping を実行しても応答がありません。何が問題になる可能性がありますか? (ICMP 応答用の対称フローも追加しました)

ありがとうございました

0 投票する
1 に答える
1001 参照

openflow - 複数のスイッチと POX コントローラーを使用して Mininet に空のアクションが設定されたフロー エントリ


Mininet と POX コントローラーを使用しています。ネットワーク トポロジには複数のスイッチがあります。あるスイッチのフローをインストールした後、そのスイッチのフロー テーブルを確認すると、そのアクション セットは空です。dump-flows showactions= ただし、ネットワークにスイッチが 1 つしかない場合、アクション セットは空ではありません。アクション セットが空である理由は何ですか?

ありがとうございました

0 投票する
1 に答える
1108 参照

mininet - get_all_link(self) トポの可能なすべてのリンクを出力する

4 つのスイッチと 4 つのホストを備えたトポがあります。スイッチはループを構成します。私の目標は、スイッチがコントローラーに接続されているときのネットワークのトポロジーを学習することです。問題は、関数get_all_links()が可能なすべてのリンクを返すか、少なくとも意味をなさないものを返すことです。port_modifyイベントが発生したときにその関数を呼び出します。

トポを構築するために使用するコードは次のとおりです。

Ryuのコードは次のとおりです。

したがって、リンクを確認すると、4 つしかないのに 24 個のリンクが表示されます。

コードの一部はSDNLabにあります。スペースを節約するために、いくつかのイベントを削除しました。完全なコードについては、https ://github.com/Ehsan70/RyuApps/blob/master/topo_learner.py にアクセスしてください。

0 投票する
0 に答える
288 参照

mininet - ハブ: キャッチされない例外 -> KeyError:

パスとスイッチを処理する Ryu を使用してコントローラーを作成しました。コードは機能しているようですが、次のエラーが表示されます。これは非同期であるため、どのイベントにも関連していないようで、時々発生します。問題は、それらのファイルが Ryu ファイルであり、変更していないことです。

ネットワークの仮想化に mininet を使用しています。

何か案は?

編集:ファイル:

0 投票する
1 に答える
2216 参照

mininet - トポにループがあると Mininet pingall が失敗する

Ryu を SDN コントローラーとして使用して、ループのあるトポを制御しています。

学習スイッチ技術を使用してパケットをルーティングしています。私の主な機能/ハンドラーは次のとおりです。

トポにループが必要です。ループがping可能になるようにトポ/コントローラーを適切に構成する方法を知っている人はいますか?

私の完全なコントローラー コード: https://github.com/Ehsan70/RyuApps/blob/master/topo_learner.py 私の topo コード: https://github.com/Ehsan70/RyuApps/blob/master/Pkt_Topo_with_loop.py