ubuntu上mgen、trpr与gnuplot的使用
Mgen
Mgen的安装
多生成器 ( MGEN ) 网络测试工具是由 NRL协议工程高级网络 (PROTEAN)研究组开发的开源软件。MGEN 提供了使用传输控制协议 (TCP) 和用户数据报协议 (UDP/IP) 流量执行 Internet 协议 (IP) 网络性能测试和测量的能力。
ubuntu环境下下载安装
git clone https://github.com/USNavalResearchLaboratory/mgen.git
cd mgen
git submodule update --init
cd makefiles
make -f Makefile.linux
mgen的github网页:https://github.com/USNavalResearchLaboratory/mgen
mgen的使用
mgen可以实现发送和监听数据流,通过脚本代码让一个主机充当发送端,另一个主机充当接受端。
mgen的简单示例,在发送端我们创建发送脚本:
vim test_input.mgn
进入到vim编辑文档,然后编写简单的数据流。
1.0 ON 1 UDP DST 10.0.0.2/5001 PERIODIC [100 4096]
20.0 OFF 1
30.0 ON 2 UDP DST 10.0.0.2/5001 PERIODIC [100 4096]
50.0 OFF 2
这段数据流的意思是在1s时启动数据流1,采用UDP传输,向10.0.0.2传输,端口号是5001,同时每秒传输100个包,每个包大小为4096bytes。然后在20s时关闭数据流1,30s时启动数据流2。
接着我们在接收端设置监听脚本,可以监听到这段数据流
vim test_listen.mgn
进入到vim编辑文档
LISTEN UDP 5001
我们通过监听5001端口来获取信息。
脚本编写完成之后我们就可以通过运行脚本来测试数据流传输,
首先在接收端运行监听脚本
mgen input test_listen.mgn output test_output.drc
运行.mgn监听脚本并将信息记录到test_output.drc中
接着发送端发送数据流
mgen input test_input.mgn
对于mgen的更多操作可以参考mgen的官方操作手册:https://github.com/USNavalResearchLaboratory/mgen/blob/master/doc/mgen.pdf
TRPR
TRPR的安装
TPPR 是一个分析各种来源的输出并创建适合绘图的输出的程序。
ubuntu环境下下载安装
git clone https://github.com/USNavalResearchLaboratory/trpr.git
make -f Makefile.linux
TRPR的使用
它可以分析以下输出文件:
tcpdump
Network Simulator 2
mgen
TRPR可以测出不同QoS指标,比如:
rate
latency
loss
count等
TRPR 可以根据:源和目的 IP、源和目的端口、流 id 和传输类型(TCP 或 UDP)来区分每个流。
在trpr文件夹中打开shell
./trpr latency drec input test.drc auto X,X,10.0.1.3/5001 output test_latency.txt
这样trpr就可以根据mgen所监听的信息来进行分析时延、丢包率等信息。
关于trpr的更多使用可以参考https://perso.liris.cnrs.fr/alain.mille/enseignements/iup_reseau/TP_apprentis_2004/trpr.htm
gnuplot
gnuplot是画图软件
gnuplot安装
sudo apt-get install gnuplot
gnuplot的使用
gnuplot -persist test.txt