首页 > 解决方案 > 如何从 mininet shell 运行脚本?

问题描述

我在 SDN 课程中有一个任务是使用 mininet 和 pox 控制器创建负载均衡器。我有使用 Python 和 mininet 创建的拓扑文件,以及使用 Python 和 POX 创建的控制器文件。拓扑如下:主机 h1-h4 是客户端主机,主机 h5-h8 是服务器。我有一个充当负载平衡器的交换机。客户端向交换机发送请求,交换机将请求转发到随机选择的服务器。然后服务器将请求发送回交换机,然后交换机将其引导回客户端。

我已经设法完成了这项任务,但现在我必须证明负载均衡器正在按预期运行(这意味着它会平衡所有服务器之间的请求)。我需要展示它的方式是从客户端向交换机生成至少 10,000 个请求。

我的问题是:我如何制作这样的脚本并从 mininet shell 运行它?我考虑过制作一个运行循环(10K 次迭代)的脚本并选择一个随机客户端来 ping 开关。问题是我不知道该怎么做。

标签: pythonshellsdnmininetpox

解决方案


你可以使用 mininet API 来做到这一点。创建拓扑后。您可以在同一个 mininet 文件中包含一个循环,它随机选择一个客户端和 ping 开关。假设选择的客户端节点是 h1。

    h1.cmd(<your command which is to be run at h1 to ping switch>)

作为参数传递的命令将在 h1 的终端上运行。 cmdPrint函数做同样的事情,除了它也打印输出。有关节点的 mininet API 函数的独家列表,请参阅mininet api 参考


推荐阅读