問題タブ [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.
openflow - mininet でポート情報を把握する方法
Python を使用して、カスタム ミニネット トポロジを作成します。トポロジを詳細に知ることは、質問にとって重要ではありません。
コントローラーはryuを使用。特に「ofctl_rest.py」というアプリを使っています。このコントローラーは、それ自体ではスイッチにルールをインストールしません。ルールを確立するには、残りのコマンドを発行する必要があります。すべての残りのリクエスト (ルール) で、発信ポートを指定する必要があります。このポートを指定するには、ネットワークのトポロジに関する情報が必要です。
どのリンクがポートに接続されているかを知る必要があります。ポートが実行されているインターフェイスを知る必要があります。また、外部インターフェイス、外部スイッチ/ホスト、および実際のポートの外部ポートを知ることも役立ちます。どうすればこの情報を取得できますか???
私を助けてください。私はそれを理解する方法がわからないので、私は今本当にイライラしています。
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_packets
、rx_bytes
、rx_errors
、tx_packets
、tx_bytes
、tx_errors
などrx_dropped
の値を取得できますtx_dropped
。
ただし、qdisc (linux コマンド) によって報告されるように、スイッチが実際にパケットをドロップしている場合でも、 の値は常にゼロrx_dropped
にtx_dropped
なります。
Open Flow スイッチからパケット損失統計を取得する方法は?
a. ゼロ以外の値を取得するには?
b. 別の方法はありますか?
linux - bash スクリプトからの Mininet トポロジの初期化
Mininet仮想マシンのセットアップ、VM への SSH 接続、VM 内での Mininet の起動、およびトポロジの初期化のプロセスを自動化したいと考えています。作成したネットワークを使用して Mininet にコマンドを発行できるように、セッションを開いたままにしておく必要があります。ネットワークの初期化を含め、すべてが機能しますが、bash スクリプトが終了すると、Mininet はトポロジを破棄し、仮想マシンを終了します。私のコードの関連部分は次のとおりです。
私が試したこと:
- ヒアドキュメントを
s0 bash
;で終了します。 - で終わる
s0 $SHELL
; - ヒアドキュメントの末尾にある区切り文字を削除します (暗闇で撮影)。
(1) と (2) は Mininet を終了し、VM にプロンプトを残しましたが、何らかの理由でそこからコマンドを発行できません。(3) 何もしません。
icmp - POX コントローラーとの ICMP 一致の設定
POX コントローラーを使用してフロー エントリをスイッチに追加しようとしています。私のコードは次のとおりです。
ただし、10.0.0.1 から 10.0.0.5 に ping を実行しても応答がありません。何が問題になる可能性がありますか? (ICMP 応答用の対称フローも追加しました)
ありがとうございました
openflow - 複数のスイッチと POX コントローラーを使用して Mininet に空のアクションが設定されたフロー エントリ
Mininet と POX コントローラーを使用しています。ネットワーク トポロジには複数のスイッチがあります。あるスイッチのフローをインストールした後、そのスイッチのフロー テーブルを確認すると、そのアクション セットは空です。dump-flows showactions=
ただし、ネットワークにスイッチが 1 つしかない場合、アクション セットは空ではありません。アクション セットが空である理由は何ですか?
ありがとうございました
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 にアクセスしてください。
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