Bluetooth host
The host consists of the software part of the stack. Hence, it is implemented at the operating system level. It includes implementations of the core Bluetooth protocols: the Bluetooth stack (or host protocol stack) and the high-level layers of the Bluetooth architecture, such as APIs and profiles. It has various layers and protocols like L2CAP, RFCOMM, SDP, etc, which are explained below.
L2CAP(Logical Link Control and Adaptation Protocol) L2CAP has the following features: The capability to multiplex data between different higher layer protocols; hence, various protocols like RFCOM, SDP, etc, can operate over it Segmentation and reassembly Quality of service It supports a group abstraction, enabling implementation for mapping a group on to a piconet RFCOMM (Radio Frequency Communication): RFCOMM is situated over the L2CAP layer. It is a serial port emulation protocol. It emulates RS-232 control and data signals over the Bluetooth baseband.
It provides roughly the same service and reliability guarantees as TCP. The choice of port numbers is the biggest difference between TCP and RFCOMM from a network programmer’s perspective. Whereas TCP supports up to 65,535 open ports on a single machine, RFCOMM allows only 30. This has a significant impact on how to choose port numbers for server applications.
SDP (Service Discovery Protocol): This protocol is required by all Bluetooth applications and is an important part of the Bluetooth protocol stack. With the help of this protocol, devices can discover what services other nearby devices support and what parameters are required to connect with them. Each service is identified by a universally unique identifier (UUID).