1

仮想スイッチのように機能する小さな python プログラムがあります。今、私はそれを統合して、openflow コントローラー POX で制御できるようにしたいと考えています。

  1. switch と POX の間で msg をどのように交換すればよいのでしょうか? ソケットを作成してポート 6633 (POX が実行されるデフォルトのポート) にバインドし、そのソケットを使用して以降のすべての openflow パケットを送信しますか? どうすればpoxに「接続」できますか。

  2. 接続を構築して維持するには、どのパケットを送信する必要がありますか? INFO:openflow.of_01:[None 1] closed
    INFO:openflow.of_01:[None 2] closed
    ...
    openflow パケットを送信するたびに受信 します。

  3. コントローラを設定せずにスイッチをテストする方法は? (1 つのコントローラーに複数のスイッチが接続されていて、それらが互いに通信できるようにしたいと考えています)。

4

1 に答える 1

0
  1. 特に指定がない限り、POX は TCP ポート 6633 で実行されます (実行されたらnetstat -tnlp | grep python、Linux で確認できます)。仮想スイッチからそのポートへのソケットを開く必要があります。

    controllerIpAddr = "127.0.0.1"
    controllerPort = "6633"
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((controllerIpAddr, controllerPort))
    

    次に、そのソケットを Openflow トラフィックに使用します

  2. その質問はよくわかりませんが、OpenFlow を構成せずにスイッチをテストする方法を尋ねている場合は、学習スイッチを使用することをお勧めします./pox.py forwarding.l2_learning

于 2015-05-15T14:32:44.467 に答える