AODV协议的NS2仿真
无线传感网技术团队科研原始记录
姓名:赵亮 |
时间:2017.12.30 |
周次:18 |
记录编号:3 |
科研方向: |
无线传感网 |
|
|
原始记录 |
|
|
|
本周继续在NS2下进行仿真工作。
1. Trace文件格式解读
参考链接:
http://blog.****.net/yxb3158/article/details/42030231
http://blog.sina.com.cn/s/blog_4cb5189f0100s99b.html
格式说明:
(1)第一个字段是封包事件发生的原因。S: 传送(Send);r:接收(Receive);d:丢失(Drop);f:转送(Forward)。
(2)第二个字段是事件发生时间。-t time(时间)
(3)第三个字段是下一站的信息。(Next hop info)
-Hs:本节点id
-Hd:下一跳节点id
(4)第四个字段是节点属性类型卷标
-Ni:节点id;
-Nx –Ny –Nz:节点坐标;
-Ne:节点能量等级;
-Nl:路由层(AGT,RTR,MAC);
-Nw:事件原因
(5)第五个字段是MAC层的消息
-Ma:持续时间;
-Md:目的地址;
-Ms:源地址;
-Mt:网络类型
(6)第六个字段是封包IP曾消息
-Is:来源位置,(a.b,a为节点Id;b为端口号)
-Id:目的位置,(a.b,a为节点Id;b为端口号)
-It:封包类型;
-Il:封包大小;
-Ii:唯一标识符;
-Iv:生存时间
以下图举例说明:
r:封包原因为“接收”,-t 2.592757754:事件发生的时间为2.592757754s,-Hs 43:本节点id为43 , -Hd 2:下一跳节点id为2, -Ni 43:节点id为43, -Nx 429.63:x轴坐 标429.63, -Ny 269.34:y轴坐标269.34, -Nz 0.00: z轴坐标0.00(说明在仿真场景是一个二维平面), -Ne -1.000000:能量等级为1, -Nl RTR: 路由层为Router, -Nw ---:事件原因不详, -Ma 0:持续时间0s, -Md ffffffff:目的地址ffffffff, -Ms 26:源地址26, -Mt 800:网络类型800, -Is 38.255:节点id为38,端口号为255, -Id 1.255: 节点id为1,端口号为255, -It AODV:封包类型aodv, -Il 48:封包大小48, -If 0:, -Ii 0:唯一标识符0, -Iv 28:生存时间28s, -P aodv:, -Pt 0x2:, -Ph 3:, -Pb 1:, -Pd 2:, -Pds0:, -Pss 4:, -Pc REQUEST:。
2.shell的学习
参考链接:
https://wenku.baidu.com/view/15822fc2fd0a79563c1e72be.html
学习了编写shell脚本,来批量处理aodv.tr里的数据,并用gnuplot绘图。
参考文献:马崇霄,吴长奇.基于网络仿真器NS2的Adhoc网络路由协议仿真[J].电子测量技术,2008(5):75-79。
链接如下:
http://peilie-coolboy.blog.163.com/blog/static/2395237120124175126381/
run需要修改的地方:
cp aodv.tcl aodv2.tcl
aodv2.tcl下需要修改的地方:
time有0s 50s 100s 200s 300s这5种,每种情况仿真5次取平均值,cbr有10和20两种情况,故一共会打开5*5*2=50个仿真窗口,电脑内存不够的童鞋请耐心等待。
运行完毕之后,会得到aodv.1.data、aodv.2.data、aodv.gif与aodv.plot四个文件。aodv.gif就是我们需要的分组投递率曲线,仿真结果如下:
相似地,路由发起频率、归一化路由开销、平均时延也可以成功的仿真,仿真结果如下:
路由发起频率:
归一化路由开销:
平均时延:
所有文件存放的目录:[email protected]:~/ns-allinone-2.35/ns-2.35/AODV/testfile#
OK,至此,我成功还原了AODV协议的NS2仿真!下周开始尝试基于ACO算法的NS2仿真,加油!^_^