【《蓝牙Mesh网络中的管理泛洪算法原理概述》940字】_第1页
【《蓝牙Mesh网络中的管理泛洪算法原理概述》940字】_第2页
【《蓝牙Mesh网络中的管理泛洪算法原理概述》940字】_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

蓝牙Mesh网络中的管理泛洪算法原理概述泛洪算法是一种经典的路由算法,它的基本原理是,当某个节点接收到某条消息时,节点将把这条消息精确的转发给所有与该节点直接相连(有线连接或者无线电广播)的所有节点,收到该信息的节点也会将本条消息精确的转发给所有与它直接相连的节点。图2-6原始泛洪算法的消息循环如图2-6所示,原始的泛洪算法有很大的缺陷:由于所有接收到消息的节点都会精确的转发给所有相邻的节点,相邻的节点也会将该条消息转发给发出消息的节点。因为缺乏停止条件,采用原始泛洪算法的网络种消息将会无限循环,直到所有节点耗尽电量。标准蓝牙Mesh协议实施的泛洪协议中采用了管理泛洪(managedflooding)算法作为蓝牙Mesh网络的基本路由算法。管理泛洪算法的主要采用以下两个手段解决原始泛洪算法存在的无限泛洪问题。采用TTL(TimeToLive)约束数据包跳数,防止无限泛洪。采用缓存机制记录曾经转发过的数据包,防止多次转发同一个数据包。对于方法(1),是通过设置NetworkPDU的TTL字段实现的。TTL字段规定了一个蓝牙Mesh网络消息的最大转发次数。表2-8TTL字段含义值说明0表明当前消息没有被转发过并且不会被转发1可能被转发过但不会再被转发2-126可能被转发过并且可以被转发127没有被转发过并且可以被转发在节点收到消息后,会对NetworkPDU的TTL字段进行解析,如果可以被转发,将对TTL字段进行减一操作,直到TTL值为1时,中继节点停止转发该数据包。图2-7管理泛洪算法在蓝牙Mesh网络层的工作流程对于方法(2),是利用网络层的消息缓存机制实现的。在蓝牙Mesh网络中的中继节点第一次接收到某个有效的蓝牙Mesh数据包后,会把该数据包加入网络层缓存队列中。由于大部分的蓝牙芯片的系统资源受限,并不需要缓存整个NetworkPDU,可以选择NetworkPDU的一部分字段组成一条缓存数据放入网络层的缓冲区,具体需要根据设备的自身情况处理。在接收到某个蓝牙数据包的另一副本时,检查网络层缓存中是否含有该数据包,如果有,则丢弃该数据包,不再进行转发。如果网络层缓存中不存在该数据包的副本,那么将表示该数据包存入网络层缓存中。然后再检查NetworkPDU的DST字段和TTL字段,如果本节点不是目标节点,并且TTL大于或等于2,则将该消息转发。图2-7描述了采用管理泛洪的蓝牙Mesh网络处理NetworkPDU的步骤。对于蓝牙Mesh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论