# Bluetooth Low Energy Mesh Networks: A Survey
## 2 Bluetooth Low Energy (BLE): Overview and Mesh Network Support
### Bluetooth 4.0  
BLE defines a complete protocol architecture (Figure 2) with the purpose of enabling low power communication between devices. The architecture consists of two main parts; the Controller, which performs radio interface tasks, and the Host, which offers higher layer functionality and supports applications. The Controller consists of the Physical Layer and the Link Layer, while the Host comprises the Logical Link Control and Adaptation Protocol (L2 CAP), the Attribute Protocol (ATT), the Generic Attribute Profile (GATT), the Security Manager Protocol (SMP), and the Generic Access Profile (GAP). The Host and the Controller communicate through the Host Controller Interface (HCI).  
At the Physical Layer, BLE defines 40 Radio Frequency (RF) channels in the 2.4 GHz Industrial Scientific Medical (ISM) band. These channels are divided into three advertising channels, which are used for disseminating information, and 37 data channels, the purpose of which is the bidirectional exchange of messages between two devices. Adaptive frequency hopping is used over data channels. The data transmission rate is 1 Mbit/s.  
BLE communication between two devices may be performed by following one of the two interaction patterns provided by the Link Layer. First, the two devices can act as an advertiser and a scanner, where the advertiser transmits data unidirectionally and the scanner can receive the data. In the second pattern, the advertiser and the scanner establish a bidirectional connection and adopt the slave and master roles, respectively. The master can have multiple connections in parallel with multiple slaves and is responsible for coordinating them through a Time Division Multiple Access (TDMA) scheme. Communication between a master and a slave takes place in connection events. The time between the start of two consecutive connection events for a given slave is equal to the value of a parameter called _connInterval_.  
On top of the Link Layer, L2 CAP provides connection-oriented and connectionless data services to the upper layer protocols with protocol multiplexing and segmentation and reassembly capabilities. On the other hand, application-layer interaction is handled by ATT and GATT. ATT defines server and client roles, where an ATT server exposes a set of attributes to an ATT client in a peer device. GATT defines a framework to use ATT in order to discover services and the exchange of characteristics from one device to another. A characteristic consists of a data set that includes values and properties. Furthermore, SMP provides key distribution to support secure identity and data encryption functionalities. Finally, GAP defines the generic procedures related to discovery, link management, and security aspects for communication between BLE devices.  
Bluetooth 4.0 explicitly prohibits a slave node to participate in multiple connections simultaneously with other masters. Thus, the only network topology allowed for a BLE network based on the Bluetooth 4.0 specification is the star topology.  
Figure 2: BLE protocol stack (adapted from [2]).