Bluetooth MESH目前采用的是基于flooding协议的MESH网络技术。在发布的协议版本中,有提到在未来的修订版本中可能会加入基于路由协议的MESH网络。
的确,flooding协议是相对比较初级的MESH网络技术。由于在网络层中的数据包都是以广播的形式发送并且转发,会在网络中产生大量重复发送的数据包,从而对网络的整体功耗有很大程度的负面影响。目前的flooding MESH协议,只适合于规模比较小的网络,而且不适合于网络数据量比较大的应用场景。
在介绍网络层协议之前,首先对BLE MESH的网络架构做个了解(图片来源于协议规范)。
上图中一共有四种连接,五种节点,下面分别做介绍:
四种连接:
(1) ADV(Not Relayed):两个节点之间可以互相收发广播消息,但是由于不是中继节点,不能中继转发数据包;
(2) ADV(Low power):用于low powernode与friend node之间收发数据包,如上图中的J与P之间的连接、L与O之间的连接。在这个连接上,low power node会主动发起请求建立friendship连接,以及从friend node查询是否有自己的数据。
(3) ADV Bearer:两个节点之间可以基于advertisingbearer收发广播消息,并且可以作为中继转发;
(4) GATT Bearer:用于没有ADVbearer能力的节点也能参与MESH网络。比如,节点T可以通过代理协议与其它节点在GATT连接上收发代理PDU。
<

本文介绍了Bluetooth MESH网络采用的flooding协议,探讨了其在网络层中的工作原理和局限性,适合小型网络及低数据量场景。内容包括网络架构、四种连接类型、五种节点角色以及数据包处理流程,详细解析了一个数据包在MESH网络中的转发过程。
最低0.47元/天 解锁文章
4925





