我是第一次使用POX。我正在尝试做的是在交换机中安装规则,以将最初发送的数据包转发到它们连接到此交换机的主机。
H1---S1----S2---H3
|---H4
示例:H1 向 H3 和 H4 发送某个数据包,当它们到达 S2 时,必须将它们转发给控制器。我想到的是当我启动控制器时安装这些规则,但要做到这一点,我需要将主机连接到交换机。
是否有某种方法可以知道连接到给定交换机的主机?
首先,丹尼尔,你必须看到一些关于mininet的例子(例如在YouTube上(,然后是关于痘痘和控制器的例子。从 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(广播域发现协议(数据包。(洪水(
这是指向该的链接
软件定义网络中的发现
希望对您有所帮助!