安晓燕
摘 要:在AODV(Ad Hoc On demand Distance Vector)路由协议中,中间结点会向网络中的其余结点广播路由请求消息(RREQ),这样会消耗网络结点的大量能量。基于这一缺点,本文设计了一种新的思想:中间结点不在随意转发RREQ数据包,而是通过限制转发条件,减少数据包的不必要发送,最终使请求消息朝着目的结点的方向转发。通过实验证明在请求消息发送数量和网络中通信结点的存活率等性能,改进后的算法有了很大的提高。
关键词:MGeo-aodv;地理位置;能量消耗
中图分类号: TP212.9 文献标识码: A 文章编号: 1673-1069(2016)30-157-2
0 引言
在源结点寻找路由信息时,中间结点会向全网广播RREQ数据包,会导致结点的能量大量消耗[1]。许多研究人员提出基于地理位置的最短路径算法[2][3],基于地理位置的Geo-aodv[4]路由协议可以首先根据获取的结点位置,限制转发条件,减少中间结点请求消息的发送数量,节省了能量消耗,但是不能对之前通信结点的数据信息进行更新[5],基于Geo-aodv协议的缺点,本文设计了MGeo-aodv (Modified Geography Ad Hoc On demand Distance Vector)路由协议。
1 MGeo-aodv路由协议描述
网络中的每一个通信结点通过GPS获取自己的地理信息,其地理位置坐标可以用(x,y,z)代表,x,y,z分别表示x轴,y轴,z轴,即三维坐标系空间,这里假设网络中所有通信结点都处于地球平面(z=0)。起初因为并没有建立源结点到目的节点的路由信息,所以源结点会查找Geo路由表,如果在该路由表中没有任何所需目的结点的地理位置信息,将转发角设置成360。,即向整个网络广播RREQ;如果在Geo路由表中可以找到目的结点的地理位置信息,则将转发角设置为90。。当源结点在发送完路由请求消息后,在设定的时间范围内没有收到路由回复信息(RREP),则源结点会重新发送RREQ,同时将转发角设置为180。,如果在规定的时间还没有收到RREP,依次将转发角设置为270。,360。(全网广播)。
如图1所示,Source为源结点,Destination为目的结点,网络中有三个中间结点,分别是NodeN1,NodeN2,NodeN3。NodeN1为上一跳结点,NodeN2为当前转发结点。当转发角为A1,只有NodeN1在搜寻范围内,因此会转发RREQ;如果转发角为A2时,只有NodeN1,NodeN2会发送RREQ,因为NodeN3不在搜寻范围内,所以收到请求消息后会丢弃。
①Geo路由表的管理
Geo路由表中的项目主要包括网络中所有通信结点的序号,地理位置坐标及IP地址(用IPv4表示)。如果中间结点收到RREQ,会在Geo路由表中查找有无源结点的信息,如果没有或Geo路由表的源结点序号小于路由请求消息中的序号,那么通信结点就会及时更新Geo路由表。
②计算搜寻区域
图1中,假设NodeN2收到NodeN1转发的RREQ信息后,结点NodeN2首先判断θ,若θ小于转发角的1/2,那么NodeN2转发RREQ。θ的计算公式:
θ=cos-1 (1)
如图2设α为转发角,由图可知结点NodeN2明显已经远离了目的结点,θ大于转发角的一半,所以NodeN2不在转发请求消息。如果上一跳通信结点到达目的结点的欧式距离小于当前结点到达目的节点的欧式距离,那么我们也认为请求消息的转发已经偏离了目的结点方向,该结点会丢弃请求消息。
<E:\123\中小企业管理与科技·下旬刊201610\97-197\114-2.jpg>
图2 节点转发情况
2 OPNET介绍
本文采用OPNET网络仿真,OPNET是常用的网络仿真软件之一。
该仿真软件使用离散事件驱动模拟机理对网络模型的功能特性进行仿真。常用的编辑器主要有:项目编辑器(Project Model)、节点编辑器(Node Model)和进程编辑器(Process Model),三个编辑器分别对应建模所需的三个层次模型。它涉及仿真研究的各个阶段,包括模型设计、仿真、数据收集和数据分析。OPNET提供了三层建模机制,分为:网络层、节点层和进程层。分别对应了工程编辑器、节点编辑器和进程编辑器。
3 实验结果分析
3.1 构建仿真环境
随机在2000米×1500米区域内放置了50个通信节点。表1为仿真环境参数,在该实验中,分别设置不同的通信结点数对Geo-aodv和MGeo-aodv两个路由协议进行了仿真比较。
表1 参数设置
<E:\123\中小企业管理与科技·下旬刊201610\97-197\114-表1.jpg>
3.2 实验结果分析
为了更好地对两个协议的性能进行比较,我们首先定义两个参数的计算公式:
①结点存活率的计算
NSR= (2)
上式中,用NSR表示存活率,如果该值越大,则说明网络中未耗尽能量的结点越多。n表示结点总数,a为能量耗尽结点的个数。
②请求消息(RREQ信息)发送数量的计算
N=(Ns(i)+Nr(i))(3)
N为网络中传输的请求消息总数,n表示结点总数,Ns(i)和Nr(i)分别表示第i个结点发送和接收请求消息的数量。
如图3所示,随着网络中通信结点数量的增多,路由请求消息的发送数量也会随之增大。在MGeo-aodv算法的设计上,中间结点收到请求消息后会根据设置的转发条件进行判断,满足条件的结点转发RREQ,不满足的结点不再转发。所以与Geo-aodv协议相比,MGeo-aodv在请求消息数量上有较大的改善。
如图4所示,MGeo-aodv协议中通信结点的存活率要远远高于Geo-aodv协议。在MGeo-aodv算法中,对于偏离了目的结点方向的转发结点不再转发请求消息,减少了数据包在网络中的传输,避免了结点不必要的能量消耗。在不同的通信结点个数的网络中,均体现了这一优势。
<E:\123\中小企业管理与科技·下旬刊201610\97-197\114-4.jpg>
图4 节点存活率
4 小结
本文主要介绍了MGeo-aodv算法,中间结点根据转发角判断其是否在搜寻区域中,并计算到达目的结点的距离,然后和上一跳到达目的结点的距离进行比较,如果小于则转发请求消息。通过设置转发条件,控制请求消息的发送数量,从而达到节省能量消耗的目的,最后通过OPNET仿真验证了该协议的有效性。
参 考 文 献
[1] Chaitali Biswas Dutta,Utpal Biswas.An energy aware blackhole attack for multipath AODV[C].IEEE International Conference on Business and Information Management (ICBIM),2014:142-147.
[2] Zainab Senan Mahmood.The Directional Hierarchical AODV (DH-AODV) routing protocol for wireless mesh networks[C]. IEEE International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering (ICCNEEE),2015:224-229.
[3] Wang, Li Y,Yang X Y.Energy-Efficient Localized Routing in Random Multihop Wireless Networks [J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(8): 1249-1257.
[4] Vasil Hnatyshin, Malik Ahmed,Remo Cocco,.A Comparative Study of Location Aided Routing Protocols for MANET [J]. IEEE International Conference on Wireless Days (WD), 2011: 1-3.