GPSR协议概述

1. GPSR协议简介

  GPSR通过应用邻居节点和终点的地理位置,允许每个节点对全局路由分配做出决策。当一个节点以贪婪算法转发一个包时,它有比自己更接近终点的邻居节点,这个节点就选择距离终点最近的邻居节点来转发该包。当没有这种邻居节点时,数据包进入周围模式,将包向前传送给网络平面字图的临近节点,直到传到距离终点较近的节点,将包转发的方式为贪婪算法模式。

2. GPSR协议流程

这里写图片描述

3. 协议源文件

gpsr_packet.h : 定义不同类型的包

gpsr_neighbor.h : 定义该gpsr实现所使用的每个节点的邻居列表

gpsr_neighbor.cc : 邻居列表类的实现

gpsr.h : 该实现的GPSR路由代理函数的定义

gpsr.cc : GPSR路由代理的实现

gpsr_sinklist.h: 用于多个接收器的场景的定义

gpsr_sinklist.cc: 实现gpsr_sinklist.h

4. 宏定义

#define DEFAULT_GPSR_TIMEOUT   200.0        //生存时间

#define INIFINITE_DISTANCE   1000000000.0       //无穷大



#define SINK_TRACE_FILE "sink_trace.tr"         //sink_trace文件

#define NB_TRACE_FILE "gpsrnb_trace.tr"         //nb_trace文件

#define GPSR_CURRENT Scheduler::instance().clock()      //计时器

#define INFINITE_DELAY 5000000000000.0          //无穷大

#define GPSRTYPE_HELLO  0x01   //hello msg

#define GPSRTYPE_QUERY  0x02   //query msg from the sink

#define GPSRTYPE_DATA   0x04   //the CBR data msg

#define GPSR_MODE_GF    0x01   //greedy forwarding mode

#define GPSR_MODE_PERI  0x02   //perimeter routing mode
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quanfita

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值