我们都知道,在 SDN 中,当一个数据包到达交换机时,如果没有流,匹配这个数据包,交换机会生成一个 packet_in 消息并向控制器请求指令。
我的问题是,如果 openflow 交换机在启动时绝对没有规则,那么它首先如何与控制器通信。例如在下图中,如果 PC1 想与 PC2 通信,它将把它的数据包发送到交换机 1。由于交换机 1 没有匹配这个数据包的流,它会尝试咨询控制器。管理员已为每个交换机配置了控制器的 IP 地址。但是交换机上没有预先安装流来告诉他们将数据包发送到控制器的位置。
在 Mininet 中,每个交换机和运行 mininet 的主机系统之间都有一个逻辑链接。所以每个交换机都会在这个逻辑链路上发出 openflow 消息并到达控制器。
但在实际网络中,我们无法将每个交换机直接连接到控制器。