功率异类点AdHoc网络下一种单信道的源路由方法

文档序号:7893201阅读:169来源:国知局
专利名称:功率异类点Ad Hoc网络下一种单信道的源路由方法
技术领域
本发明应用于功率异类点无线移动自组织网络(AdHoc网络),特别涉 及功率异类点Ad Hoc网络下的路由方法。
背景技术
路由技术是AdHoc网络中的核心技术之一。经过十多年的研究与发展, 该领域取得了较大的发展,提出了很多有效的路由协议。IETF的MANET工 作小组目前正专注于Ad Hoc网络路由协议的研究,提出了许多协议草案, 如DSR, AODV, ZRP等路由协议;另外,专业研究人员也发表了大量关于Ad Hoc网络路由协议的相关文章,提出了许多关于Ad Hoc的网络路由协议, 如DSDV,WRP等。但是,目前对AdHoc网络的研究大多数都是在同类点的 假设下提出的,也就是假定网络中的节点在传输功率(半径)、数据传输率、 处理能力、硬件配置等方面具有相同的特性。而现实中的Ad Hoc网络更多 的是以异类点的形式存在,如功率异类、协议异类、速度异类,硬件异类等, 其中最普遍的是由不同功率节点形成的功率异类点Ad Hoc网络(Power Heterogeneous MANET, PHMANET)。因此,目前大多数关于路由协议的研究 缺乏现实性。
在异类点Ad Hoc网络下虽然也提出来了一些路由协议,但是这些路由 协议大多基于多信道技术。最典型的有Xiaojiang Du等人提出的MC (Multiclass)路由协议和Villasenor-Gonzalez等人提出的HOLSR协议都基于多信道的信道模型。而目前多信道技术的发展还很不成熟,很多问题需要 解决,并且这种网络实现成本较高。
但是,在基于单信道的功率异类点Ad HOC网络下,大功率节点参与的 通信严重影响着无线信道的利用率和网络的吞吐量,尤其功率异类点下特殊 的隐藏/暴露终端问题、由于节点间功率的不对称性造成的单向链路问题,导 致了数据包大量的冲突、重传、丢包。而目前几乎没有基于单信道的功率异
类点AdHoc网络路由方法出现。

发明内容
本发明的目的是在功率异类点Ad Hoc网络下提出一种基于单信道的有 效的路由方法。主要是在功率异类点Ad Hoc网络下提出了一种基于单信道 的源路由方法(Single-channel based Power Heterogeneous Routing, SPHR)。 该路由方法的主要思想包括两方面 一方面,为了解决功率异类点Ad Hoc
网络下的单向链路问题,通过一种简单的双向邻居发现机制获得节点间的双
向链路,从而使数据包的发送通过双向链路转发,保证传输的可靠性;另一 方面,为了避免大功率节点对网络性能(尤其吞吐量方面)的影响,SPHR的数 据传输中尽量避免使用大功率节点转发。
本发明的技术方案是这样实现的包括以下步骤
&印丄将网络中节点按发射功率划分为两类: 一类节点的传输功率较大, 称为B节点,另一类称为G节点;
在邻居感知机制中,通过周期性交换的双向邻居发现包BND获 得节点单向感知邻居和双向邻居;
&印J.路由发现过程中,路由请求包只通过具有双向链路的节点间进行,并且在路由请求包中添加一个影响因子"字段,如果B节点接收到路由请求 包,则将该路由请求包中的影响因子"字段的值加1,目的节点接收到路由 请求包以后返回路由响应包,通知源节点发现的新路由及该路由的影响因子
5fe/A源节点接收到路由响应包以后,根据路由响应包中所携带路由影 响因子"的大小将该路由插入路由缓存;
5^/;5..数据包的发送过程中,路由缓存中影响因子小的具有越高的优先级。
所述的邻居感知机制包括以下步骤
^印h每个节点广播一个只包含节点自己ID的双向邻居发现包BND, 通知周围节点自己的存在;
5te/)1发送完双向邻居发现包BND以后,每个节点等待一段时间用来 接收来自其它节点的bnd包,并根据接收到的bnd包的发送者形成感知邻 居表AN, AN表保存能够接收到的所有感知邻居的ID;
每个节点建立感知邻居表AN后再一次广播双向邻居发现包 BND,双向邻居发现包BND中除了包含节点自己ID外还包括感知邻居表 AN中所有感知邻居节点的ID信息
5fe/7心接收到双向邻居发现包BND的节点,在avrare—w^gMwj"/o中 查找自己的ID,如果找到则认为当前节点与BND的发送者之间存在一条双 向链路,得到一个双向邻居,最终形成双向邻居BN表,BN表保存了所有 双向邻居节点ID信息。
本发明中在功率异类点Ad Hoc网络下提出了一种基于单信道的源路由方法。该路由方法相比以往的各类基于单信道的路由方法在传输率、延迟、
负载等性能方面得到了极大的提高。
具体实施例方式
本发明中将网络中的节点根据节点发射功率的不同分为两类 一类传输 半径大的节点为主节点(简称B节点);另一类普通节点称为G节点。并且
B节点数量远远小于G节点。这里记B节点和G节点的发射半径分别是RB 禾口RG,且RB〉RG。
通过周期性发送的BND(Bidirectional Neighbor Discovery)包的方法分别 获得节点的感知邻居(Aware Neighbor, AN)表和双向邻居(Bidirectional Neighbor, BN)。
当源节点有数据需要发送时,首先检査路由缓存RC (Route Cache),选 择优先级最高的路由发送数据包,如果RC路由获取失败则激活路由发现过 程,通过源路由的方式获得到目的节点的路由,并通过接收到的路由响应 RREP (Route REPly)中的路由发送数据包。
SPHR的路由发现过程只通过具有双向链路的节点间进行,当单向链路 上的G节点接收到来自单向链路上的B节点发来的RREQ (Route REQuest) 时,不做任何处理,只接收双向邻居发送的RREQ包。
为了避免B节点在数据传输过程中对其它节点的通信造成影响,本路由 方法中为每一条路由设定一个干扰度因子",表示该路由B节点参与传输的 程度。假设有一条路由上有n个B节点,则这条路的干扰度因子为"="。
当RREP (Route REPly)包返回到目的节点的路由时,源节点根据接收 到的RREP包中携带的"的大小将该路由插到路由缓存RC(Route Cache)中。"值越小该路由在RC中具有越高的优先级,因为"越小说明该路径上的B 节点数越少,使用这条路传输对网络中其它节点的影响越小。
在SPHR中,每个节点通过周期性发送BND能够维护着一个AN和BN 表,因此SPHR的路由维护就是当每个节点通过源路由往下一跳发送数据包 之前,首先检査BN表下一跳是否在BN表中,如果下一跳在BN表中则发 送;否则说明当前节点与下一跳之间的链路断裂,则缓存该数据包,然后激 活路由维护过程。路由维护过程包括两步
Steph向源节点发送RERR (Route ERRor)包,通知该路由的上游节 点和源节点路由错误的信息,收到RERR包的节点维护自己的路由缓存RC, 删除错误路由。
S^7h发送完RERR包以后,需要处理缓存的没有发出去的数据包。首 先检查路由缓存RC中是否有到缓存数据包的目的节点的路由。如果成功, 则抢救这个数据包发送到目的节点;否则丢弃这个数据包。
LVC方法具体的实施过程包主要括邻居感知机制、路由发现机制和路由 维护机制三个方面,SPHR协议具体的实施方法如下
1)邻居感知机制
SPHR的邻居感知机制主要用于探测节点的感知邻居和双向邻居,具体 实施步骤如下
每个节点广播一个只包含节点自己ID的双向邻居发现 (Bidirectional Neighbor Discovery , BND)包,通知周围节点自己的存在。
发送完BND以后,每个节点等待一段时间用来接收来自其它节 点的BND包,并根据接收到的BND包的发送者形成感知邻居AN (AwareNeighbor)表,AN表保存能够接收到的所有感知邻居的ID。
S/印J,每个节点建立AN后再一次广播BND包,BND包中除了包含节 点自己ID外还包括AN表中所有感知邻居节点的ID信息
5"/印心接收到BND包的节点,在aware—"dg/^orJM/o中查找自己的ID, 如果找到则认为当前节点与BND的发送者之间存在一条双向链路,得到一 个双向邻居,最终形成双向邻居BN表,BN表保存了所有双向邻居节点ID
梓自
I R 'K、 o
2)路由发现机制
每个节点建立一个路由缓存RC,用于保存获取的当前节点到其它目的 节点的路由。每一个路由项为到某一个目的节点的路由信息,当前节点到一 个目的节点可以有多条路由,而每一条路由都设有一个优先级(在路由发现 部分详细介绍)。当源节点S有数据需要发送到目的节点"时,采用下面的
路由过程获取到目的节点路由
检査路由缓存RC是否存在到目的节点D的路由,如果缓存中存 在这样的路由则选择优先级最高的路由,并以源路由的方式传输数据包。如 果缓存中无法得到目的节点"的路由,则执行step 2。
由于从缓存中无法获得到目的节点2)的路由,则发送路由请求 RREQ包获取到i)路由,并在在路由请求包中设置一个表示干扰度因子"的 字段,记为IF (Impact factor), IF的初始化值为0。
S/印J,网络中中间节点ni接收到RREQ包以后,按如下算法判断以及处
理&裕愿^或,S经微过雄游舰^
舒蔑遂及i^2;
S哗7, ^武点",游/c/凝勿教朋五2包^"必錄必錢表字虔,成一条磁磁,-S哗2..銜薪及及£2包^"中游,威游鑌磁嚴磁返^i^五尸包,遞,/7,梦点发观殷齊 廢A,以J 该錄^游嚴俯像f
e/w 〃";第一汰禁#"#卩这个
seph ^^邀0,麥汰遂i^五2包游#:彦,-
S哗2, /多贫4 游W添j7身朋五g包^"游錄^楚表字皮,成一杀蘑/^ 武^麽參改i i^2包妥字虔屮游^7字皮,^十+ ; 鄉4.'遂鍵广潘M吸包'
S/印心网络中的节点Ilj接收到RREP以后,按照下面的算法处理
,/ 6ij,=W 〃顿乾錢麵薦户包
包^薦带游錄^斧发i i 五尸包-e&e 〃嚴就^"S麥欲^/i^五P包,效这^游梦,点
S哗/, iUi 五P包0莸淳返M^新錄A及这条錄磁游嚴喊像f/F, S哗2,裙嚴/F游犬W泉新游錄/^EA^磁缓,i C,遂賓游錄A4,遂/^游汰龙 级;
S一蕭磁磁缓存更新过微房,麥微就.
通过以上4步完成路由的发现过程,获得到目的节点的路由。3)路由维护机制
当节点使用源路由发送数据包的过程中,中间节点发现路由的下一跳不 在BN表中,断定路由中当前节点与下一跳节点间的链路出错,则首先缓存
数据包,然后向源节点s发送路由错误RERR (Route ERRor)包,通知上游 的节点链路出错的信息来维护路由表,同时激活路由修复算法。检查自己的 路由缓存RC是否存在到断路的数据包目的节点的路由,如果存在,则将数 据包发送到目的节点;否则直接销毁该数据包。本发明技术的关键在于路由 发现部分,这里只采用了一种很简单的维护机制,同时已经存在很多有效的 维护算法,比如在发生路由错误的节点处,再一次通过路由发现过程获得到 目的节点的路由继续传输数据包。
权利要求
1、功率异类点Ad Hoc网络的一种基于单信道的源路由方法,其特征在于,包括以下步骤Step1. 将网络中节点按发射功率划分为两类一类节点的传输功率较大,称为B节点,另一类称为G节点;Step2. 在邻居感知机制中,通过周期性交换的双向邻居发现包BND获得节点单向感知邻居和双向邻居;Step3. 路由发现过程中,路由请求包只通过具有双向链路的节点间进行,并且在路由请求包中添加一个影响因子α字段,如果B节点接收到路由请求包,则将该路由请求包中的影响因子α字段的值加1,目的节点接收到路由请求包以后返回路由响应包,通知源节点发现的新路由及该路由的影响因子α;Step4. 源节点接收到路由响应包以后,根据路由响应包中所携带路由影响因子α的大小将该路由插入路由缓存;Step5. .数据包的发送过程中,路由缓存中影响因子小的具有越高的优先级。
2、 根据权利要求1所述的功率异类点AdHoc网络的一种基于单信道的 源路由方法,其特征在于,邻居感知机制包括以下步骤每个节点广播一个只包含节点自己ID的双向邻居发现包BND, 通知周围节点自己的存在;发送完双向邻居发现包BND以后,每个节点等待一段时间用来 接收来自其它节点的BND包,并根据接收到的BND包的发送者形成感知邻居表AN, AN表保存能够接收到的所有感知邻居的ID;Ste/;3,每个节点建立感知邻居表AN后再一次广播双向邻居发现包 BND,双向邻居发现包BND中除了包含节点自己ID外还包括感知邻居表 AN中所有感知邻居节点的ID信息<3Mwe—we^/zZjorjw/o;Ste/ 心接收到双向邻居发现包BND的节点,在avram_"e^/^w—/"/o中 查找自己的ID,如果找到则认为当前节点与BND的发送者之间存在一条双 向链路,得到一个双向邻居,最终形成双向邻居BN表,BN表保存了所有 双向邻居节点ID信息。
全文摘要
本发明公开了功率异类点Ad Hoc网络下一种单信道的源路由方法,是一种基于单信道的路由方法。为了减小大功率B节点的干扰影响网络的性能,尤其在网络吞吐量方面,本发明中为每一条引入了一个影响因子的参数α,该参数主要用于表示该路径上B节点的数量。一条路由上B节点的数目越多使用该路由传输数据包时对网络的影响越大,因此选择影响因子最小的路由用于传输数据包。本发明中提出的路由方法相对以往设计的各类基于单信道的路由协议,在传输率、延迟、负载等方面性能都得到了有效的提高。
文档编号H04W40/02GK101437274SQ20081023270
公开日2009年5月20日 申请日期2008年12月17日 优先权日2008年12月17日
发明者杨新宇, 鹏 赵 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1