我启动RYU控制器,打开TCP侦听端口6633.现在我将我的mininet拓扑连接到控制器端口6633.我的mininet拓扑由6个开关组成。因此每个交换机到RYU控制器端口将有6个连接。
现在我关闭控制器并再次启动控制器。
我发现拓扑中的所有开关都可以与控制器通信,就好像控制器进程从未被杀死一样。
这不是我理解服务器和客户端之间的TCP连接的方式。如果服务器出现故障,我希望连接断开连接。
这组连接似乎在服务器进程重启后仍然存在。有人可以解释这是怎么回事吗?我只是好奇
答案 0 :(得分:0)
当Ryu关闭时,它将关闭与FIN数据包的活动TCP连接,收到哪些交换机也将拆除活动的TCP连接。
交换机和Ryu再次开始通话的原因仅仅是因为交换机总是尝试在先前的TCP连接关闭后重新建立与控制器的TCP会话。
使用Wireshark捕获数据包(通过tcp.port == 6633上的显示过滤)将显示这一切是如何发生的。
答案 1 :(得分:0)
交换机中存在的OpenFlow规则具有到期时间。因此,如果控制器可以在到期时间内重新启动,那么拓扑结构就可以了。 完全关闭控制器30秒,然后您将看到拓扑完全死亡,即没有人可以相互ping通。