Bluetooth

Bluetooth is a wireless communication technology designed to be:

Bluetooth is used to build Wireless Personal Area Networks (WPANs).

A Bluetooth network is called a piconet.

Characteristics

Bluetooth incorporates many link-layer networking techniques:

Bluetooth operates in the 2.4 GHz ISM (Industrial, Scientific and Medical) radio band.

Because many other devices also use this unlicensed band (e.g., microwaves, cordless phones, garage door openers), Bluetooth is designed to tolerate noise and interference.

Piconets

Bluetooth is an ad hoc networking technology: it does not require network infrastructure such as an access point.

Instead, nearby devices organize themselves into a piconet:

A Bluetooth piconet

A piconet can contain:

The controller is responsible for managing the entire piconet.

Its responsibilities include:

Active clients communicate within the piconet.

Parked devices remain associated with the piconet but stay in a low-power state:

Bluetooth wireless channel

Bluetooth uses Time Division Multiplexing (TDM).

Time slots:

During each time slot:

Frequency Hop Spread Spectrum (FHSS)

This channel-hopping technique is called Frequency Hop Spread Spectrum (FHSS).

FHSS reduces interference from other devices operating in the same ISM band: they will only interfere with Bluetooth communications in at most a subset of the slots.

Bluetooth can achieve data rates of up to 3 Mbps.

Forming a Bluetooth network

Since Bluetooth networks are self-organizing, devices must first discover one another before communication can begin.

Phase 1: neighbor discovery (inquiry)

The controller:

  1. broadcasts 32 inquiry messages
  2. sends each inquiry on a different frequency
  3. repeats the sequence up to 128 times

Each client:

  1. listens on one frequency
  2. waits until it hears an inquiry message
  3. chooses a random backoff between 0 and 0.3 seconds
  4. replies with its device ID

The random backoff helps avoid collisions between multiple responding devices, similar to Ethernet's randomized backoff.

Phase 2: paging

After discovering nearby devices, the controller invites selected devices to join the piconet.

This process is called paging, and is similar to a Wi-Fi client associating with an access point.

For each client, the controller:

  1. sends 32 paging invitation messages
  2. transmits them on different frequencies because the client does not yet know the hopping sequence
  3. waits for the client's ACK

Once the ACK is received, the controller sends:

Finally, the controller polls the client using the shared hopping sequence to confirm that it has successfully joined the piconet.

Modern Bluetooth

Modern Bluetooth versions have introduced several improvements, including:

A major addition is Bluetooth Low Energy (BLE):

Previous IEEE 802.11 Wi-Fi All ⏎ Next 4G/5G cellular networks

A Kemar Joint