Openflow交换机具有单独的管理端口以连接到控制器。如果使用带外连接(通过管理端口直接连接到控制器),则交换机直接与控制器通信。在这种情况下,对于数据流,您仍然可以使用您提到的拓扑。
但是,如果交换机1和控制器之间没有管理连接,那么就会出现“带内”连接。在这种情况下,交换机1通过数据端口发送开放流消息,交换机2封装该消息并发送给控制器。
从OpenFlow文档:
用于OpenFlow信道的网络规范是 超出本规范的范围。它可能是一个单独的 专用网络,或OpenFlow通道可以使用网络管理 通过OpenFlow交换机(带内控制器连接)。唯一的 要求是它应该提供TCP / IP连接。
专用网络意味着带外连接。
要了解有关带内的一些细节,您可以查看 这个文件 : 重要的是:
在此设置中,将看到交换机A发送的控制流量 开关B,它将作为一部分发送给控制器 OFPT_PACKET_IN消息。然后,Switch A将看到OFPT_PACKET_IN 消息的数据包,将其重新封装在另一个OFPT_PACKET_IN中,以及 将其发送给控制器。然后开关B会看到 OFPT_PACKET_IN,等等在无限循环中。