This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

difference between BLE stack and Mesh stack

hey

I have worked on BLE, and learned the BLE protocol stack. Now i am learning BLE Mesh. I found the Mesh is also having a stack, I could not understand why both the stacks are different even though Mesh uses BLE . Mesh Stack is having different layers like access, model, network, bearer etc. I couldn't understand how data is communicating through these layers, why there is much difference between BLE stack and mesh stack?

Parents
  • Hi,

    The short answer is, that a mesh network is fundamentally different from a one-to-one connection. That is why there are two different stacks.

    Note that both stacks are built on top of the same Physical Layer and Link Layer, and that the bottom layer in Bluetooth Mesh, the Bearer layer, uses either BLE advertisements or BLE GATT.

    In Bluetooth mesh there is a concept of "Mesh models", which is comparable to GATT Services from BLE. While the specifics are different, Mesh models and GATT Services are very similar in that they give you a standardized way to hold state, share information, and interface with a device.

    Regards,
    Terje

Reply
  • Hi,

    The short answer is, that a mesh network is fundamentally different from a one-to-one connection. That is why there are two different stacks.

    Note that both stacks are built on top of the same Physical Layer and Link Layer, and that the bottom layer in Bluetooth Mesh, the Bearer layer, uses either BLE advertisements or BLE GATT.

    In Bluetooth mesh there is a concept of "Mesh models", which is comparable to GATT Services from BLE. While the specifics are different, Mesh models and GATT Services are very similar in that they give you a standardized way to hold state, share information, and interface with a device.

    Regards,
    Terje

Children
  • Hey

    Thanks for the reply, it was said that link layer is common for both mesh stack and ble stack ,but in BLE, link layer deals with packet formatting as per it's attribute where as mesh has its own format of messages as advertisment or GATT, How does link layer format these different message/attribute if its common and also the data rate of mesh is twice the BLE 

    Thank you

    sumanth

  • Hi,

    In a layered network stack such as BLE or Bluetooth mesh, there are "packet formats" at multiple levels. Mesh packets are either provided as advertisement data in BLE advertisements, or it is transferred over the Bluetooth mesh GATT service. What constitutes a Bluetooth mesh packet has nothing to do with what happens way down the stack at the Link Layer.

    Regarding your comment about data rate: No, the data rate of Bluetooth mesh is not twice that of BLE. Bluetooth mesh is based on Bluetooth 4 (i.e. 1Mbit) and the added overhead of the mesh packet headers means throughput for payload data is less than what you would typically achieve over a BLE connection. With Bluetooth mesh you get a network of devices all connected, and range extension from packets traveling multiple hops to reach their destination, at the expense of throughput and power consumption.

    Regards,
    Terje

  • This image illustrates the layers of both BLE and BT Mesh "stacks", and shows how the Link and PHY layers are common:

    https://www.digikey.co.uk/en/articles/techzone/2018/mar/designing-bluetooth-low-energy-smart-applications-part-1

    Note that none of this is specific to Nordic - I suggest some general reading on the topic (possibly also on the nature of "layered" protocol stacks):

    I found these helpful in defining the terminology & basic architecture of Bluetooth Mesh:

    http://blog.bluetooth.com/the-fundamental-concepts-of-bluetooth-mesh-networking-part-1

    https://www.bluetooth.com/bluetooth-technology/topology-options/le-mesh/mesh-tech

    On the "layered" model see, for example: https://en.wikipedia.org/wiki/OSI_model

    The term "stack" comes from the way the layers are built on top of each other - in a stack.

  • Hi Tesc, thats fine, but i have a doubt that why does Nordic Softdevice Controller BLE controller part of Stack does not have mesh support. I have seen in documentation that, for mesh related examples. we must use the Zephyr's BLE controller stack , and Nordic's softdevice controller stack does not support mesh feature? The controller stack has Link layer and PHY layer right, so why is it that way?

  • Hi Awneil, thats fine, but i have a doubt that why does Nordic Softdevice Controller BLE controller part of Stack does not have mesh support. I have seen in documentation that, for mesh related examples. we must use the Zephyr's BLE controller stack , and Nordic's softdevice controller stack does not support mesh feature? The controller stack has Link layer and PHY layer right, so why is it that way?