(4)NS3仿真--AODV协议

(4)NS3仿真–AODV协议

1 仿真AODV协议
2 实现PCAP Tracing系统
3 实现Tracing系统
4利用Netnaim实现可视化仿真
5 AODV协议详解

1.仿真AODV协议

AODV协议的源码存放在src/aodv/examples/aodv.cc文件中

在这里插入图片描述

要把执行的aodv.cc文件复制到scratch目录中

在ns-3.31目录中执行以下语句

cp src/aodv/examples/aodv.cc scratch/aodv.cc

可以看到scratch目录中已经有了aodv.cc文件

在这里插入图片描述
在在ns-3.31目录中执行以下语句

执行aodv协议

sudo ./waf

在这里插入图片描述
运行AODV协议

sudo ./waf --run scratch/aodv

在这里插入图片描述

2.实现PCAP Tracing系统

NS3-helper还可以生成以.pcap为后缀的格式文件,这个文件可以使用Wireshark工具打开并分析,那么如何让程序生成该类型的文件?

首先定义一个pointToPoint对象
在这里插入图片描述
然后在脚本程序的Simulator::Run()代码前添加如下代码

pointToPoint.EnablePcapAll ("aodv");

在这里插入图片描述
编译aodv.cc文件

sudo ./waf

执行aodv 可执行文件

sudo ./waf --run scratch/aodv

运行成功以后,可以在ns-3.31目录中看到aodv后缀为.pcap文件
在这里插入图片描述

3.实现Tracing系统

Tracing系统是为了将仿真的结果采用统一的格式保存在文件中,在脚本程序的Simulator::Run()代码前添加如下代码

AsciiTraceHelper ascii;//声明一个AsciiTraceHelper的对象
pointToPoint.EnableAsciiAll (ascii.CreateFileStream("aodv.tr"));

在这里插入图片描述

使用waf来执行脚本

sudo ./waf

运行该脚本

sudo ./waf --run scratch/aodv

在这里插入图片描述

编译成功以后,在ns-allinone-3.31/ns-3.31目录中多了一个aodv.tr文件
在这里插入图片描述

4.利用Netnaim实现可视化仿真

安装依赖包

sudo apt-get install mercurial
sudo apt-get install qt4-dev-tools

在这里插入图片描述
安装Netnaim

sudo apt-get install qt4-dev-tools

在这里插入图片描述
下载完成以后,在ns-allinone-3.31目录下可以看到netanim-3.108文件夹

在这里插入图片描述
编译Netnaim

cd netanim-3.108
qmake NetAnim.pro 

在这里插入图片描述
在这里插入图片描述

make

在这里插入图片描述
在AODV协议中增加一个头文件

#include "ns3/netanim-module.h"

在这里插入图片描述

在脚本程序的Simulator::Run()代码前添加如下代码

AnimationInterface anim ("aodv.xml");

在这里插入图片描述
使用waf来执行脚本

sudo ./waf

运行该脚本

sudo ./waf --run scratch/aodv

运行成功以后,在ns-3目录中会生成aodv.xml文件
在这里插入图片描述
运行NetAnim,读取XML数据

进入NetAnim目录,执行以下命令

cd ns-allinone-3.31
cd netanim-3.108

在这里插入图片描述
在netanim-3.108目录下运行

./NetAnim

可以看到以下界面
在这里插入图片描述
单击打开文件按钮,打开aodv.xml文件
在这里插入图片描述
打开以后就是以下界面

(我也不知道为什么会这个样子,也不知道是否正确,目前还没搞懂,容我再学习,学习,再更新)
在这里插入图片描述

5.AODV协议详解

 // This is an example script for AODV manet routing protocol. 
#include <iostream>
#include <cmath>
#
  • 12
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
NS2是一款常用的网络仿真工具,可以用来模拟网络中各种协议的性能。AODV和DSR是两种常见的无线自组网络路由协议,它们在不同的场景下有不同的优缺点。下面是我对这两种协议仿真分析: 1. AODV协议 AODV(Ad-hoc On-Demand Distance Vector)协议是一种基于距离向量的路由协议,它采用了按需路由的方式,即只有在需要时才去寻找路由,并且只维护已经建立的路由。AODV协议中每个节点都会维护一个路由表,用于存储到达目的节点的下一跳节点和距离等信息。 在NS2中,我们可以通过调整一些参数来模拟AODV协议的性能,如数据包传输延迟、路由发现时间、路由维护开销等。通过对这些参数进行不同的设置,我们可以得到不同的AODV协议性能指标。例如,我们可以通过比较不同节点数量下的数据包传输率、平均延迟等指标来评估AODV协议的性能。 2. DSR协议 DSR(Dynamic Source Routing)协议是一种基于源路由的路由协议,它不需要维护任何路由表,而是将整个路由路径存储在数据包中。当一个节点需要发送数据时,它会向周围节点广播一个路由请求包,然后等待其他节点的响应。一旦它收到足够的响应,就可以组装出完整的路由路径,并将数据包发送到目的节点。 在NS2中,我们可以通过调整一些参数来模拟DSR协议的性能,如路由请求重传次数、路由维护开销等。同样地,通过对这些参数进行不同的设置,我们可以得到不同的DSR协议性能指标。例如,我们可以通过比较不同节点数量下的路由请求成功率、数据包传输延迟等指标来评估DSR协议的性能。 综上所述,通过NS2的仿真分析,我们可以对AODV和DSR协议的性能进行比较和评估,从而为无线自组网络的设计和优化提供参考。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值