【问题标题】:How to get a list of all switches and all hosts?如何获取所有交换机和所有主机的列表?
【发布时间】:2017-11-15 15:24:15
【问题描述】:

我是第一次使用 POX。我要做的是在交换机中安装规则,以将它们最初发送的数据包转发到它们连接到该交换机的主机。

H1---S1----S2---H3

         |---H4

示例:H1 向 H3 和 H4 发送某个数据包,当它们到达 S2 时,它们必须被转发到控制器。我的想法是在启动控制器时安装这些规则,但为此我需要将主机连接到交换机。

有什么方法可以知道连接到给定交换机的主机吗?

【问题讨论】:

    标签: python sdn mininet opendaylight pox


    【解决方案1】:

    首先,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(取决于控制器)。

    【讨论】:

    • 是的,我知道它是如何工作的。当我将控制器连接到 mininet 拓扑时,我想知道是否有某种方法可以知道给定交换机中连接了哪些主机以主动安装规则。
    • ervikrant06.wordpress.com/2015/09/17/… or opencloudblog.com/?p=130 在上面的链接中你可以找到有用的信息,但我还没有测试过。否则试试 xterm on switch
    【解决方案2】:

    好的,有很多方法可以发现拓扑,您也可以按照自己的方式。 拓扑发现和管理是SDN中非常热门的话题。

    最常见的方法是通过所有交换机端口使用 LLDP(链路层发现协议)和 BDDP(广播域发现协议)数据包。 (洪水)

    这是一个链接

    Discovery in Software Defined Networks

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-01-22
      • 1970-01-01
      • 2015-05-07
      • 2013-07-30
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多