1

我有一个小的 python 程序,它就像一个虚拟交换机。现在我想集成它,以便它可以由 openflow 控制器 POX 控制。

  1. 我想知道如何在交换机和 POX 之间交换消息?我是否创建一个套接字并将其绑定到端口 6633(默认端口 POX 运行)并使用该套接字发送所有进一步的 openflow 数据包?我怎么能“连接”到痘。

  2. 我需要发送哪些数据包来建立和维护连接?INFO:openflow.of_01:[None 1] closed
    INFO:openflow.of_01:[None 2] closed
    ...
    每次发送 openflow 数据包时我都会收到 。

  3. 如何在不配置控制器的情况下测试我的交换机?(假设我有几个开关连接到一个控制器,我希望它们可以相互通信)。

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 回答