問題タブ [pox]
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.
pox - Pox/Mininet: ホストの場所を学習する
明らかに多くの誤解をしているため、私の質問は少し曖昧かもしれませんが、とにかく試してみます: ファットツリー トポロジに 7 つのスイッチがあり、下の 4 つがそれぞれ 2 つのホストに接続されているとします。コントローラを起動するときに、スイッチに LLDP パケットを送信するように指示します。これにより、トポロジが学習されます。また、ARP リクエストなどのパケットをフラッディングするときに使用するスパニング ツリーも計算します。
私の問題: 特定のホストがどのスイッチに接続されているかを知るにはどうすればよいですか? h1
がレイヤ 3 パケットを に送信する場合h3
、スパニング ツリーがあるため、パケットのルーティング方法はわかっていますが、これは最短ルートではない可能性があります。Dijkstra を使用して、各スイッチから他のすべてのスイッチへの最短ルートを計算しますが、メッセージを に送信したい場合、h3
どのスイッチがそれに直接接続されているかわかりません。
何か案は?
networking - リンクを追加するためのPOXコードで、ポート1とポート2は何を意味しますか
ここでは、ホスト h1 とスイッチ s1 が配線されたトポロジを作成しています。ここでポート1とポート2が何であるかわかりません
python - mininet でコントローラーをカスタマイズする方法
mininet ソフトウェアにルールを追加するためにコントローラーをカスタマイズする方法。
python - Pox を私のプログラムにバインドする方法
仮想スイッチのように機能する小さな python プログラムがあります。今、私はそれを統合して、openflow コントローラー POX で制御できるようにしたいと考えています。
switch と POX の間で msg をどのように交換すればよいのでしょうか? ソケットを作成してポート 6633 (POX が実行されるデフォルトのポート) にバインドし、そのソケットを使用して以降のすべての openflow パケットを送信しますか? どうすればpoxに「接続」できますか。
接続を構築して維持するには、どのパケットを送信する必要がありますか?
INFO:openflow.of_01:[None 1] closed
INFO:openflow.of_01:[None 2] closed
...
openflow パケットを送信するたびに受信 します。コントローラを設定せずにスイッチをテストする方法は? (1 つのコントローラーに複数のスイッチが接続されていて、それらが互いに通信できるようにしたいと考えています)。
python - GTK の使用時にバックグラウンド イベントをアクティブに保つ
Linux 用の単純な Python アプリケーションを作成しようとしており、GTK を使用してその UI を生成しています。私は GTK の探索を始めたばかりですが、私が知るGTK.main()
限り、プログラムを呼び出した瞬間に、どこにいてもその関数に入り、UI とのユーザー インタラクションにのみ応答します。問題は、私は SDN コントローラー (POX) を並行して実行していて、POX オブジェクトのインスタンスに関連付けられたイベントも実行できるようにしたい (プログラムが 'GTK.main でスタックしてしまうため、現在は発生していません)。 ()' 永遠に)。
新しいスレッドを作成し、そこから GTK.main() を呼び出すことを検討しましたが、スレッド セーフについて心配する必要があります。UI と、プログラムの残りの部分でインスタンス化されたオブジェクトの両方のイベントが同時に発生する方法はありませんか?
python - POX l3_learning の例
POX コントローラーの forwarding.l3_learning の例から学習しようとしています。
有効期限ハンドラーでは、バッファー内のパケットの時間が期限切れになると、コントローラーから削除されます。
その後、コントローラはスイッチに次の行のパケットをドロップするように指示します。
作成されたメッセージに、切り替えるようにそのような具体的な指示が表示されません。スイッチがパケットをドロップする必要があることをどのように認識しているのかわかりません。