2

ループのあるトポロジーの SDN ネットワークで OpenFlow 1.3 プロトコルを使用してパケットを送信する方法を探しています。私が選んだコントローラーはRyuです。ARP パケットをキャッチしているホストを特定し、フラッドストームを回避するためにSTPを使用しています。

私の問題は、ルーティング アルゴリズムによって計算されたパスに、STP によってブロック/無効化されたポートが含まれている場合、接続を確立できない (ホストが互いに ping を実行できない) ことです。

熟考した後、ルーティング パス上にある無効化/ブロックされたポートを「アクティブ化」する必要があるという結論に達しました。しかし、私はそれを行う方法を見つけることができません..

では、問題は次のとおりです。どうすれば解決策を達成できますか? Ryuのポートを「アクティブ化」する方法はありますか? または、私の解決策が達成できない場合、この問題を解決するために使用できる他の方法はありますか?

4

1 に答える 1

2

ポートを有効にするには、スイッチにofp_port_mod メッセージを送信します。

ただし、ループの一部である可能性のあるポートを開いているため、これは事実上 STP を無効にします。

スイッチにOFPMP_PORT_DESCRIPTION メッセージconfigを送信し、応答のフィールドを読み取ることにより、ルーティングアルゴリズムがポートが無効になっているかどうかを確認することをお勧めします。次に、これらのポートをダウンしているものとして扱い、別のパスを計算できます (ただし、それが実現可能かどうかはわかりません)。

そうは言っても、私が openflow 仕様 (セクション 7.2.1 ポート構造) を正しく読んでいれば、BLOCKEDポートを介してルーティングできるはずですが、フラッディングはできません。これはDISABLEDポートとは異なります。

于 2015-06-04T23:48:12.927 に答える