在mininet中测试TCP、UDP带宽并作图

本文在mininet的简单拓扑下,测试TCP和UDP的带宽,并用gnuplot作图。


首先,初始化mininet最小拓扑结构。

sudo mn

在mininet的CLI中,xterm打开h1和h2的终端

xterm h1 h2


在h2的终端中,将h2设为服务器server,设置端口为5566,间隔时间1s,并将结果保存到文件result中

iperf -s -p 5566 -i 1 > result


在h1的终端中,将h1作为客户机client,连接到h2(ip地址为10.0.0.2),目标端口为5566,连接时间默认为10秒,可通过参数-t指定参数。

iperf -c 10.0.0.2 -p 5566 


经过10秒后,在h2自动生成了文件result,存储了此次连接的信息。在h2终端中,查看result内容

cat result

结果如图所示:

 在mininet中测试TCP、UDP带宽并作图_第1张图片

将result中我们感兴趣的信息提取到新的文件new_result中

cat result | grep sec | head -10 | tr - " " | awk '{print $4,$8}' > new_result

查看new_result内容

cat new_result

结果如图所示,时间和对应的带宽信息已被提取到新文件中:

在mininet中测试TCP、UDP带宽并作图_第2张图片

接下来使用gnuplot画图(如果你没有安装gnuplot,使用命令sudo apt-get install gnuplot-x11安装)

在h2终端中进入gnuplot

gnuplot

如图:

在mininet中测试TCP、UDP带宽并作图_第3张图片

在gnuplot命令行中,将刚才得到的文件new_result画图

plot "new_result" title "tcp flow" with linespoints

将纵坐标范围改为40-60,添加横纵坐标标签,并重新作图

set yrang [40:60]

set xlabel "time (sec)"

set ylabel "tcp throughput (Mbps)"

replot

大功告成!

在mininet中测试TCP、UDP带宽并作图_第4张图片

你可能感兴趣的:(mininet)