Mesh网络具有多对多拓扑结构,节点都能够与Mesh网络中的任何其他节点进行通信。
通信是基于消息的使用,且设备能够将消息中继至其他节点,使端到端通信范围得以扩展,远远超出每个单独节点的无线电范围。
Mesh网络中的设备称为节点(Node),非Mesh网络中的设备称为未经启动配置的设备(Device)。将未经启动配置的设备转换为节点(Node)的过程称为启动配置(Provision)。
启动配置是一个安全的过程,原本未经启动配置的设备经过启动配置后会拥有一系列加密密钥,并被启动配置的设备(通常是平板电脑或智能手机)识别。
Mesh网络中的所有节点都具有至少一个NetKey,设备必须拥有该密钥才能成为加入相应的网络,并成为节点。
启动配置是设备加入Mesh网络并成为节点的过程。用于驱动配置过程的设备称为启动配置设备(Provisioner)。
所有节点均可发送和接收Mesh消息,但节点可能拥有许多可选特性,为其提供额外的特殊功能。有四种可选特性:中继、代理、朋友和低功耗特性。
序号特性描述1中继(Relay)通过广播承载层接收并重新发送Mesh消息,以构建更大规模网络的能力2代理(Proxy)在GATT和广播承载层之间接收并重新发送Mesh消息的能力3低功耗(Low-Power)能够以明显较低的接收端占空比在Mesh网络中运行。通过将无线电接收器启用时间最小化可实现节点功耗的降低,只有在绝对必要时才启动接收器。LPN通过与朋友节点建立友谊(friendship)关系来实现这一点。4朋友(Friend)通过存储发往LPN的消息,仅在LPN明确发出请求时,才进行转发来帮助LPN运行的能力消息必须从一个地址发送到另一地址。蓝牙Mesh定义了三种类型的地址。
序号地址类型范围描述1Unassigned(未分配)0x0000没有分配地址(无发布或订阅时被特定使用)2Unicast(单播)0x0001 ~ 0x7FFF分配给每个元素的唯一地址,一共32767个3Virtual(虚拟)0x8000 ~ 0xBFFF一个或一组设备的虚拟地址4Group(组)0xC000 ~ 0xFEFF一组Mesh节点的地址(发布或订阅时被特定使用)5Broadcast(广播)0xFFFF网络中的每一个节点当某一节点需要查询其他节点状态,或需要以某种方式控制其他节点时,会发送合适类型的消息。如节点需要向其他节点报告自身状态,则会发送消息。
Mesh网络中的所有通信均以消息为中心,且定义了多种消息类型,每种均有自己独特的操作码(Opcode)。
消息分为两类:有应答(Acknowledged)或无须应答(Unacknowledged)的消息。
一些节点具有多个组成部分,每个都能独立进行控制,这些部分被称为元素。
比如:一种LED照明产品,每一个LED灯为一个元素,则将形成具有三个元素的节点。
发送消息的行为称为发布(Publish)。 节点被配置为可选择发送到特定地址进行处理的消息,这被称为订阅(Subscribe)。
通用模型可能会为快速创建新型设备的模型打下基础。