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:生存时间

以下图举例说明:

AODV协议的NS2仿真

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绘图。

参考文献:马崇霄,吴长奇.基于网络仿真器NS2Adhoc网络路由协议仿真[J].电子测量技术,2008(5):75-79

链接如下:

http://peilie-coolboy.blog.163.com/blog/static/2395237120124175126381/

run需要修改的地方:

AODV协议的NS2仿真

AODV协议的NS2仿真

cp aodv.tcl aodv2.tcl

aodv2.tcl下需要修改的地方:

AODV协议的NS2仿真

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就是我们需要的分组投递率曲线,仿真结果如下:

AODV协议的NS2仿真

 

相似地,路由发起频率、归一化路由开销、平均时延也可以成功的仿真,仿真结果如下:

 

路由发起频率:

AODV协议的NS2仿真

归一化路由开销:

 AODV协议的NS2仿真

平均时延:

 AODV协议的NS2仿真

 

所有文件存放的目录:[email protected]:~/ns-allinone-2.35/ns-2.35/AODV/testfile#

AODV协议的NS2仿真

OK,至此,我成功还原了AODV协议的NS2仿真!下周开始尝试基于ACO算法的NS2仿真,加油!^_^