针对现有Epidemic路由协议及其特点进行了研究。分析了请求定位技术并将其引入到Epdemic协议中。改进后的新协议通过记录历史路由信息,对传输数据定位接收,限制了数据的洪泛范围。仿真结果表明,新协议在数据到达率与资源消耗上有了较大改善。
关 键 词 移动自组织网络; 路由协议; 洪泛; 请求定位
现有Ad hoc网络中的路由协议通常基于以下假设:从源端到目的端总是可以找到一条通路。但是,随着低功率小范围无线通信设备的大量应用,以及无线通信技术部署的场景越来越广阔,上述假设在实际应用中经常无法得到满足。这种源端-目的端非连通的Ad hoc网络称作稀疏Ad hoc网络。在稀疏Ad hoc网络中,传统Ad hoc路由协议已经很难实现数据的正常传输[1]。
文献[1]提出的Epidemic路由协议解决了稀疏Ad hoc网络中的数据传输问题。Epidemic算法最初被用于解决大型异构网络中的数据库复制问题。文献[1]将Epidemic算法的设计思路引入到Ad hoc网络的路由协议中,Epidemic路由协议设计所针对的下层Ad hoc网络连通性极为“苛刻”:(1) 数据发送方不知道接收方的当前位置和数据发送应该如何选路;(2) 任意两个无线移动节点都是随机地进入对方的通信范围。因此在大规模随机移动场景中,Epidemic路由协议能够获得较好的性能。
1 Epidemic路由协议简介
事实上,只要Ad hoc网络中的所有节点能够充分随机移动,Epidemic路由协议就能够实现数据到任意目的端的传输。Epidemic路由协议的工作原理如下所述:Ad hoc网络中的每个移动节点有一个缓存来存储数据。为了提高效率,注入网络中的每一个数据都有一个全局标识符,节点以该标识符为键值,为缓存中的所有数据建立了一张哈希索引表。同时,节点还维护一个一维比特数组(Summary Vector,SV),用来标识哈希表中每一项的“有”或“无”。
当移动节点A进入到B通信范围后(连通),数据通信过程由以下4个阶段完成:
(1) 节点A向B发送自己的SVA(Summary Vector);
(2) B收到SVA后,会和自己维护的SVB(Summary Vector)进行比较,由此来判断哪些数据被N存储而自己没有,这些数据的集合为MA,MA=(m1,m2,…,ms)比较完成以后,B会向A发送信息来请求获取MA;
(3) A根据B的请求信息逐条发送数据;
(4) B接收到A发送的数据并更新SVB。
上述4个阶段过程完成了A向B的数据传输,反过来B也会按照这四个阶段来完成向A的数据传输。在Epidemic协议中规定:数据的接收方全权决定是否接受数据并保存到缓存,而数据的发送方无权拒绝对方的请求。比如,它可以拒绝接受长度过大或者发往某些源端的数据。图1为Epidemic路由协议中的节点A到B的数据传输过程,图中f1为SVA;f2为B的数据请求信息;f3为A根据请求发送的数据。
A
Epidemic路由协议之所以被称作“Epidemic”,是因为数据是以类似于病毒的“接触-感染”方式在整个网络中“传染”的。从全网角度来说,Epidemic协议所采取的是一种洪泛机制。Epidemic路由协议中数据转发所获得的较高到达率和较低延时牺牲了无线网络带宽和移动节点存储空间,增加了移动节点的运行功耗。因此,需要对Epidemic路由协议进行改进以减少移动节点存储空间的占用率。
2 Epidemic协议中引入定位技术
请求定位(Query Localization,QLI)技术最初被用于改进DSR和AODV这两种Ad hoc网络中的按需路由协议。它的提出基于以下概念:一定时间内移动节点的移动范围是有限的,因此可以预计目的节点会以较高概率出现在先前出现位置的附近区域。通过保存近期的路由记录,可以在路由建立过程中将路由请求信息的洪泛区域限制在最近一次选路的附近区域[2]。
Epidemic协议由于完全采用“存储-转发”机制,并没有传统路由协议中的路由请求与路由建立过程。将请求定位技术引入该协议的基本思想如下:用一维数组Pold记录移动节点最近连通过的k个节点集合;移动节点连通时,还会彼此交换自己的记录,每个移动节点保存最近m个节点与其交换的记录。通过上述过程,移动场景中的每个移动节点建立一个m×(k+1)大小的二位数组H来保存这些历史信息。节点N′在节点N的H中出现的次数就反映了N′与N的接近程度,出现次数越大,即节点N(或最近曾经与N连通过的节点)与N′连通的次数越大,则N′在N附近的概率越大。因此节点N的二位数组HN在某种程度上反映了节点N附近节点的空间分布状况,随着移动场景中节点的移动与相互位置关系的改变,H也会动态实时地反映出来。
在节点A向B传输数据的第4阶段,当节点B收到它所请求的数据后,会遍历自己的二维数组HB以判断数据的目的地址是否在数组中出现:如果有,说明数据的目的节点在B附近的概率较高,即目的节点在A附近的概率较高,A会以较高概率在以后的较短时间内与目的节点相连通,则B会丢弃数据;如果遍历后二维数组HB中没有目的地址,则B才会接收该数据。这样节点B就实现了对数据的定向接收。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !