无线传感器网络的能量有效性网络层路由算法.docxVIP

无线传感器网络的能量有效性网络层路由算法.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无线传感器网络的能量有效性网络层路由算法 在MHRA算法中,最佳路由即是最小跳数路由。最佳路由的建立是在感知任务交付阶段,通过在洪泛查询包过程中,由传感器节点根据查询包中包含的洪泛信息建立的。 为了描述最佳路由建立过程,考虑这样一个例子,在这个例子中,有S个节点,分别标识为1,2,3,4,5。节点、Sink节点和目标(Object)之间的位置关系如图1所示。图中虚线圆表示节点的通信半径,带箭头的直线表示查询包的洪泛方向,带箭头的弧线表示感知数据包的返回方向。在这个例子中,根据节点通信范围,查询包将沿着“ Sink- 1-2-3-4”和“Sink- 1-2-3-5-4”这两条路径传播到节点4,感知目标或事件(Object)在节点4的感知范围内,节点4将放弃转发查询包,进入感知数据状态,并将感知数据沿着其中的一条路径返回。对于节点4来说,存在两条可以返回Sink的路径,MHRA算法将选择其中跳点数最小的节点返回,即“4-3-2- 1-Sink”返回感知数据。下面利用这个例子描述一下最佳路径的建立过程。 图1 单路径最佳路由的建立过程 (1) 网络 应用 者通过Sink节点提出查询或数据请求。 (2)Sink节点根据应用者的数据请求形成查询包,填写查询包的QueryID和QueryData字段。设置HopCount(跳点计数器)字段为算法要求的最大跳点数,设置SourceNodEiD(发送节点标识)字段为“Sink”,设置MinHopToSink(距离Sink节点的最小跳数)字段为O。 (3)Sink节点将查询包发送到与它相邻的传感器节点。 (4)节点1收到查询包。 ①将查询包中的HopCount(跳点计数器)的值减1,结果大于0; ②根据QueryBuffer(查询缓冲)和查询包中的QueryID字段,确定该查询包没有收到或转发过; ③根据查询包中的QueryData(数据请求 内容 )字段,确认没有匹配数据: ④检查查询包的SourceNodeID(发送节点标识)字段的值为Sink,即自己是Sink节点的相邻节点,修改MinHopBuffer(最小跳数缓冲)中的MinHop(最小跳数)字段值为1,修改PrepNodeID(上一跳节点标识)为Sink; ⑤修改查询包内容,设置SourceNodeID(发送节点标识)字段为节点1的标识,将MinHopToSink(距离Sink节点的最小跳数)字段值加1。 ⑥转发查询包给相邻节点。 (5)节点2收到查询包。 ①②③步骤同节点1。 ④检查查询包的SourceNodeID(发送节点标识)字段的值不是Sink修改MinHopBuffer(最小跳数缓冲)中的MinHop(最小跳数)字段值为查询包中MinHopToSink(距离Sink节点的最小跳数)字段和MinHop字段中的最小的值,修改PrepNodeID(上一跳节点标识)为查询包SourceNodeID(发送节点标识)字段的值。 ⑤修改查询包内容,设置SourceNodeID(发送节点标识)字段为节点2的标识,其余操作同节点1。 ⑥转发查询包给相邻节点。 (6)节点1和节点3收到查询包。 ①节点1通过检查查询包中的QueryID确认已经转发过该查询,然后将MinHopBuffer中的MinHop字段和收到的查询包的MinHopToSink字段比较后,维持自己的最小跳数相邻节点缓冲的内容,并将收到的查询包丢弃。 ②节点3操作与节点2类似,修改自己的数据结构和查询包后,将查询包转发给相邻节点。 (7)节点2、节点4和节点5收到查询包。 ①节点2通过检查查询包中的QueryID确认己经转发过该查询,然后将MinHopBuffer中的MinHop字段和收到的查询包的MinHopToSink字段比较后,维持自己的最小跳数相邻节点缓冲的内容,并将收到的查询包丢弃。 ②节点5操作与节点2,类似,修改自己的数据结构和查询包后,将查询包转发给相邻节点。节点3和节点4会收到节点5转发来的查询包,节点3通过检查查询包中的QueryID确认己经转发过该查询,然后将MinHopBuffer中的MinHop字段和收到的查询包的MinHopToSink字段比较后,维持自己的最小跳数相邻节点缓冲的内容,并将收到的查询包丢弃。 (8)节点4将分别收到节点3和节点5发来的两个查询包。 ①节点4收到由节点3或节点5发来的第一个查询包后,利用查询包中的内容,填写最小跳数相邻节点缓冲中的相应字段的内容。 ②节点4收到由节点3或节点5发来的第二个查询包后,根据查询包中的路由建立信息,确定是否修改最小跳数相邻节点缓冲中相应字段的内容

文档评论(0)

dajia1qi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档