我是第一次使用 POX。我要做的是在交换机中安装规则,以将它们最初发送的数据包转发到它们连接到该交换机的主机。
H1---S1----S2---H3
|---H4
示例:H1 向 H3 和 H4 发送某个数据包,当它们到达 S2 时,它们必须被转发到控制器。我的想法是在启动控制器时安装这些规则,但为此我需要将主机连接到交换机。
有什么方法可以知道连接到给定交换机的主机吗?
我是第一次使用 POX。我要做的是在交换机中安装规则,以将它们最初发送的数据包转发到它们连接到该交换机的主机。
H1---S1----S2---H3
|---H4
示例:H1 向 H3 和 H4 发送某个数据包,当它们到达 S2 时,它们必须被转发到控制器。我的想法是在启动控制器时安装这些规则,但为此我需要将主机连接到交换机。
有什么方法可以知道连接到给定交换机的主机吗?
首先,Daniel 你必须看到一些关于 mininet 的示例(例如在 youtube 上),然后是关于 pox 和控制器的示例。从 h1 到 h3 的第一个 ping 从 h1 到 s1,然后 s1 向控制器询问路由流。然后控制器用相应的路由流(取决于控制器逻辑)回复s1,s1将路由流写入它的“路由流表”。然后 s1 将数据包转发给 s2,然后 s2 转发给 h3。这就是为什么下一次 ping 比第一次快的原因。从 h1 到 h4 的 ping 遵循上述过程。
在交换机上安装规则取决于交换机类型。一般的想法是从 python 脚本预配置,或从 mininet cli 解析命令,或通过交换机上的 xterm 或通过 REST api(取决于控制器)。
好的,有很多方法可以发现拓扑,您也可以自己制作。拓扑发现和管理是SDN中非常热门的话题。
最常见的方法是通过所有交换机端口使用 LLDP(链路层发现协议)和 BDDP(广播域发现协议)数据包。(洪水)
这是一个链接
希望有帮助!