我想制作一个测试平台来在 mininet 中测试我自己的算法。我想设置链路数据流量速率、控制流量速率和链路处理速率。但我做不到。如果有人知道如何设置所有这些。请帮我。
谢谢,艾卜哈
TL;DR使用D-ITG生成您选择的流量。
在 Mininet 中定义拓扑 -
您可以使用文件夹中的MininetEdit.pymininet/examples/miniedit.py应用程序。这将创建一个定义拓扑的 .py 文件。您也可以编写相同的代码来创建拓扑,MininetEdit 应用程序只是一个 GUI,使其变得简单。
示例拓扑定义如下所示 -
(我创建了一个简单的网络,其中 2 台主机h1, h2连接到交换机s1)
#!/usr/bin/python
from mininet.net import Mininet
... #More import calls
def myNetwork(net):
info( '*** Add switches\n')
s1 = net.addSwitch('s1')
info( '*** Add hosts\n')
h1 = net.addHost('h1',ip='10.0.0.1',defaultRoute=None)
h2 = net.addHost('h2',ip='10.0.0.2',defaultRoute=None)
info( '*** Add links\n')
net.addLink(h1, s1,bw=200,delay='0ms',loss=0,max_queue_size=1000)
net.addLink(h2, s1,bw=200,delay='0ms',loss=0,max_queue_size=1000)
return net
Run Code Online (Sandbox Code Playgroud)
您可以在MininetEdit应用程序中设置最大链接速率/带宽,或者手动更改代码文件中addLink函数中的bw参数。
如果您想在此 mininet 拓扑上生成一些真实流量,请使用D-ITG。这是一个简单的工具,可让您生成具有不同分布、到达间隔时间、数据包大小等的流量,
因此,如果您想生成 从主机到 的恒定速率流量(例如KB/s),您可以按照以下步骤操作 -h1h2
xterm h1从 mininet 实例运行
在终端运行以下命令h1
ITGSend -a <ip_of_h2> -T UDP -C <rate> -c <packet_size>
Run Code Online (Sandbox Code Playgroud)
您可以参考 D-ITG 手册了解更多信息。