0

我启动 RYU 控制器,它打开 TCP 侦听端口 6633。现在我将我的 mininet 拓扑连接到控制器端口 6633。我的 mininet 拓扑由 6 个交换机组成。因此,每个交换机将有 6 个连接到 RYU 控制器端口。

现在我关闭我的控制器并再次启动控制器。

我发现拓扑中的所有交换机都可以与控制器通信,就好像控制器进程从未被杀死一样。

这不是我理解服务器和客户端之间的 TCP 连接的方式。如果服务器出现故障,我希望连接断开。

这组连接似乎在服务器进程重新启动后仍然存在。有人可以解释这是怎么回事吗?我只是好奇

4

2 回答 2

0

当 Ryu 关闭时,它将使用 FIN 数据包关闭活动的 TCP 连接,在收到该数据包后,交换机也会断开活动的 TCP 连接。

交换机和 Ryu 再次开始通话的原因很简单,因为交换机总是在之前的 TCP 连接断开后尝试与控制器重新建立 TCP 会话。

使用 Wireshark 捕获数据包(通过 tcp.port==6633 上的显示过滤)将向您展示这一切是如何发生的。

于 2014-08-22T16:57:30.657 回答
0

交换机中存在的 OpenFlow 规则有一个到期时间。因此,如果控制器可以在到期时间内重新启动,那么拓扑就可以了。完全关闭控制器30秒,然后你会看到拓扑将完全死机,即没有人可以互相ping通。

于 2017-05-24T19:33:08.867 回答