The Bluetooth specification comprises two parts:
The core specification,  which defines the Bluetooth protocol stack and the requirements for testing and qualification of Bluetooth-based products
The profiles specification,  which defines usage models that provide detailed information about how to use the Bluetooth protocol for various types of applications
The Bluetooth core protocol stack consists of the following five layers:
Radio specifies the requirements for radio transmission - including frequency, modulation, and power characteristics - for a Bluetooth transceiver.
Baseband defines physical and logical channels and link types (voice or data); specifies various packet formats, transmit and receive timing, channel control, and the mechanism for frequency hopping (hop selection) and device addressing.
Link Manager Protocol (LMP) defines the procedures for link set up and ongoing link management.
Logical Link Control and Adaptation Protocol (L2CAP) is responsible for adapting upper-layer protocols to the baseband layer.
Service Discovery Protocol (SDP) - allows a Bluetooth device to query other Bluetooth devices for device information, services provided, and the characteristics of those services.
In addition to the core protocol stack, the Bluetooth specification also defines other layers that facilitate telephony, cable replacement, and testing and qualification. The most important layers in this group are the Host Controller Interface (HCI) and RFCOMM, which simply provides a serial interface that is akin to the EIA-232 (formerly RS-232) serial interface. HCI provides a standard interface between the host controller and the Bluetooth module, as well as a means of testing/qualifying a Bluetooth device.
The Bluetooth protocol stack is discussed in greater detail in Section 13.3. In the remainder of this section we will introduce key concepts and terminology that are helpful for an understanding of Bluetooth technology.
All active Bluetooth devices must operate either as a master or a slave. A master device is a device that initiates communication with another Bluetooth device. The master device governs the communications link and traffic between itself and the slave devices associated with it. A slave device is the device that responds to the master device. Slave devices are required to synchronize their transmit/receive timing with that of the masters. In addition, transmissions by slave devices are governed by the master device (i.e., the master device dictates when a slave device may transmit). Specifically, a slave may only begin its transmissions in a time slot immediately following the time slot in which it was addressed by the master, or in a time slot explicitly reserved for use by the slave device.
Bluetooth employs a frequency hopping technique to ensure secure and robust communication. The hopping scheme is such that the Bluetooth device hops from one 1-MHz channel to another in a pseudorandom manner - altogether there are 79 such 1-MHz channels defined by the SIG. Typically, each hop lasts for 625 μs. At the end of the 625-μs time slot, the device hops to a different 1-MHz channel. The technology ensures full-duplex communication by utilizing a TDD scheme. In the simplest terms this means that a Bluetooth device must alternate between transmitting and receiving (or at least listening for) data from one time slot to the next. The Bluetooth specification facilitates this TDD scheme by (1) using numbered time slots (the slots are numbered according to the clock of the master device), and (2) mandating that master devices begin their transmissions in even-numbered time slots and slave devices begin their transmissions in odd-numbered time slots (Figure 13.1). Both these techniques will be further discussed in Section 13.3.
Figure 13.1: Frequency hopping and time-division duplexing. During even-numbered slots, the master device transmits and the slave device receives. During odd-numbered slots, the slave device transmits and the master device receives.
Bluetooth technology furthers the concept of ad hoc networking where devices within range of each other can dynamically form a localized network for an indefinite duration. Ad hoc Bluetooth networks in which all member devices share the same (FHSS) channel are referred to as piconets.  A piconet can consist of up to eight devices: a single master and up to seven slave devices. The frequency hopping sequence of the piconet is determined by the Bluetooth device address (BD_ADDR) of the master device. At the time that the piconet is established, the master device's address and clock are communicated to all slave devices on the piconet. The slaves use this information to synchronize their hop sequence as well as their clocks with that of the master's.
Scatternets (Figure 13.2) are created when a device becomes an active member of more than one piconet. Essentially, the adjoining device shares its time slots among the different piconets. Scatternets are not limited to a combination of only two piconets; multiple piconets may be linked together to form a scatternet. However, as the number of piconets increases, the total throughput of the scatternet decreases. Note that the piconets that make up a scatternet still retain their own FH sequences and remain distinct entities.
Figure 13.2: Scatternet examples— (a) piconet 1 and piconet 2 share a common slave device; (b) a device acts as slave in piconet 1 and master in piconet 2.
Scatternets offer two advantages over traditional collocated ad hoc networks. First, because each individual piconet in the scatternet retains its own FH sequence, the bandwidth available to the devices on any one piconet is not degraded by the presence of the other piconets (although the probability of collisions may increase). Second, devices on different piconets are able to "borrow" services from each other if they are on the same scatternet.
Specification of the Bluetooth System - Core online, available at http://www.bluetooth.com.
Specification of the Bluetooth System - Profiles online, available at http://www.bluetooth.com.
Haartsen, J.C., Bluetooth - ad hoc networking in an uncoordinated environment, Proc. IEEE International Conference on Acoustics, Speech, and Signal Processing, 4, 2029-2032, 2001.