# Wireless Mesh Networking: An IoT-Oriented Perspective Survey on Relevant Technologies
## 4 Mesh in Bluetooth/BLE Networks
### Standard
Moreover, the mesh nodes has a 100% duty cycle for scanning incoming packets on the advertisement channels. This means that nodes are continuously scanning when they are not sending a packet. The advertisement in the standard is managed through a new type of BLE packet, which is supported only by devices able to work with both BLE and Bluetooth Mesh protocol. To maintain an acceptable interoperability degree, the standard considers a backwards compatibility feature, in this way allowing all BLE devices not supporting Bluetooth Mesh to join anyway a Bluetooth mesh network. In a mesh network, each node can transmit and receive messages but the standard considers several optional features which a mesh node \(N\) can implement, in order to manage and enhance the communication. The main additional features can be summarized as follows. * **Relay feature**: since the scalability and the robustness of the network can be reduced, if not properly managed, by the adoption of the flooding mechanism (as required by the standard), then, in order to avoid inefficiencies, the relay feature requires that only relay-enabled nodes in the network are allowed to forward received messages further in the network. Another additional features are the message cache and the Time-To-Live (TTL) field, which ensure that a a message \(M\) will be relayed by a device \(N\) only once. In fact, \(N\) only relays \(M\) if: (i) \(M\) is not already stored in the cache memory of the device \(N\) and (ii) the TTL value proper of the message \(M\) is greater than 1. Moreover, each time \(M\) is relayed further into the network, then its TTL field value is decreased by 1. * **Proxy feature**: this feature has been defined aiming at maintaining compatibility with all BLE devices not supporting Bluetooth Mesh. A node \(N\) with the proxy feature enabled can perform communication in two ways: (i) employing the default BLE mesh advertising method, and (ii) using the backwards compatibility feature that is based on traditional BLE connections. * **Friendship and Low-Power feature**: since the standard forces nodes to scan advertisement channels with a 100% duty cycle, this strongly affects the low-energy aspect of BLE advertising precluding the use of mesh networking in all power-constrained applications. The friendship feature has been introduced to overcome this limitation, allowing a power-limited device \(P\) to join the mesh network without the 100% duty cycle. Another, not constrained, node \(N\) can establish a friendship relationship with \(P\) becoming its friend. In the mesh network, friend nodes are in charge to store and to relay further all incoming messages. Then, the low-power node \(P\) can ask to \(N\) for new messages with a rate compatible with its reduced duty cycle, and limiting its power usage. In Figure 4a, examples for each different feature of the standard are shown. In Figure 4b, the BLE protocol stack is shown. This stack corresponds to a layered architecture, on top of which applications can be implemented. The following layers appear in the stack. * **Bluetooth Low Energy Core Specification layer**: this bottom layer provides basic wireless communications capabilities on top of which the whole mesh architecture is built (either using connection-oriented and advertising mechanisms). * **Bearer layer**: this layer defines the interfaces (also denoted as \"bearers\") between the underlying core specification and the upper layers, through two interfaces: the (i) ADV bearer, managing the BLE advertisement processes, and (ii) the GATT bearer, managing BLE connections. * **Network layer**: this layer implements security aspects and defines the various message address types and a network message format which is employed in the bearer layer. * **Transport layer**: this layer manages both segmentation and reassembly of larger messages into the original message, thus passing them to the Application level. * **Access layer**: works as an interface between the application-oriented layers above and the technology-oriented layers below.