我想制作测试平台以在 mininet 中测试我自己的算法。我想设置链路数据流量速率,控制流量速率和链路处理速率。但我做不到。如果有人知道如何设置所有这些。请帮我。
谢谢,阿卜哈
TL;DR使用D-ITG生成您选择的流量。
在 Mininet 中定义拓扑 -
您可以使用文件夹中的MininetEdit.py应用程序mininet/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
You can set the maximum link rate / bandwitdh in the MininetEdit app, or change the bw parameter in the addLink function in the code file manually.
If you want to generate some real traffic on this mininet topology, use D-ITG. This is a simple tool that will allow you to generate traffic with different distributions, inter-arrival times, packet sizes, etc.,
So if you want to generate constant rate traffic of say rate KB/s from host h1
to h2
, you can follow these steps -
Run xterm h1
from mininet instance
Run the following command on the terminal of h1
ITGSend -a <ip_of_h2> -T UDP -C <rate> -c <packet_size>
You can refer the D-ITG manual for more.