NS2中添加GPSR(KeLiu)协议

15 篇文章 1 订阅

说明:$HOME指当前用户所在目录。

1、在 $HOME/ns-allinone-2.30/ns-2.30下新建gpsr文件夹,并将GPSR-KeLiu中的
gpsr_packet.h,   gpsr_neighbor.h,   gpsr_neighbor.cc,   gpsr.h,  gpsr.cc,  gpsr.tcl, 
wireless-gpsr.tcl,  gpsr_sinklist.h, gpsr-sinklist.cc,  grid_deploy10x10.tcl,   cbr100.tcl加入刚新建的gpsr文件夹中。
2、进入$HOME/ns-allinone-2.30/ns-2.30/common, 修改packet.h
      在enum packet_t{
      增加 PT_GPSR  
      }
   class p_info {
    增加 name_[PT_GPSR]= “gpsr”
   }
3、进入$HOME/ns-allinone-2.30/ns-2.30/trace,修改 cmu-trace.cc
  (readme遗漏)增加 #include <gpsr/gpsr_packet.h>
在 void CMUTrace::format(Packet* p, const char *why) 
{
     增加 case PT_GPSR;
             break;
}

3、进入 $HOME/ns-allinone-2.30/ns-2.30/queue,修改priqueue.cc
void   PriQueue::recv(Packet *p, Handler *h) 
{
   增加  case PT_GPSR:

}

4、进入$HOME/ns-allinone-2.30/ns-2.30/tcl/lib, 修改ns-packet.tcl

 foreach prot{
   增加GPSR
 }

5、进入 $HOME/ns-allinone-2.30/ns-2.30/ ,修改Makefile 
在OBJ_STL =  的最后按照格式加入( gpsr前为TAB键而不是空格)
 gpsr/gpsr_neighbor.o\
 gpsr/gpsr_sinklist.o\
 gpsr/gpsr.o

如果需要加入调试信息,则在CCOPT =  -Wall 加上 -g,  如下:
      CCOPT =  -g  -Wall

6、重新编译,执行如下命令
cd $HOME/ns-allinone-2.30/ns-2.30/common
touch packet.cc
cd ..
make clean
make

7、在使用脚本wireless_gpsr.tcl进行场景仿真时,需要对 ns-2.30所在的路径进行修改
   将wireless_gpsr.tcl 中的将ns2home 修改成  $HOME/ns-allinone-2.30/ns-2.30/

如:

source ../gpsr.tcl 要改成如下
source /home/qq/ns-allinone-2.34/ns-2.34/gpsr/gpsr.tcl
 
/home/qq/是我的系统中的路径,这里需要改为在你的系统中的路径 
文中还有以下几处,都需要给出正确的绝对路径
source ../tcl/mobility/timer.tcl
source ../tcl/lib/ns-bsnode.tcl
source ../tcl/mobility/com.tcl

GPSR(Greedy Perimeter Stateless Routing)是一种无线ad hoc网络常用的路由算法。MATLAB是一种功能强大的科学计算软件,可以进行广泛的数学运算、数据分析和可视化等操作。仿真是通过计算机模拟实现真实系统的行为来研究和分析系统的性能和特性。 通过MATLAB可以进行GPSR路由算法的仿真实验。首先,需要构建一个适当的拓扑结构,即网络各个节点的坐标位置和连接关系。可以通过随机生成节点坐标或者根据实际拓扑结构进行设定,然后基于GPSR算法进行仿真实验。 在MATLAB,可以编写程序实现GPSR算法的逻辑。该算法主要包含两个过程:路由发现和数据传输。在路由发现过程,节点之间通过广播消息的方式进行邻居节点的发现和连接关系的建立。数据传输过程,根据节点的位置和目标节点的位置选择最近的邻居节点作为下一跳,并将数据逐跳地传递到目标节点。 在仿真实验,可以根据不同的应用场景设定不同的性能指标进行评估,如网络的覆盖率、数据的传输延迟、能量消耗等。通过调整参数、修改算法逻辑,可以得到不同参数下的路由性能结果,进而进行性能优化和改进。 总之,利用MATLAB进行GPSR路由算法的仿真实验,是一种有效的研究和评估该算法性能的方法。可以基于不同的拓扑结构和性能指标进行实验,得到相关的仿真结果,为无线ad hoc网络的设计和优化提供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值