Logical link control and adaptation protocol (L2CAP) L2CAP is used within the Bluetooth protocol stack. It passes packets to either the Host Controller Interface (HCI) or, on a hostless system, directly to the Link Manager/ACL link. L2CAP's functions include: • Multiplexing data between different higher layer protocols. •
Segmentation and reassembly of packets. • Providing one-way transmission management of multicast data to a group of other Bluetooth devices. •
Quality of service (QoS) management for higher layer protocols. L2CAP is used to communicate over the host ACL link. Its connection is established after the ACL link has been set up. In basic mode, L2CAP provides packets with a payload configurable up to 64 kB, with 672 bytes as the default MTU, and 48 bytes as the minimum mandatory supported MTU. In retransmission and flow control modes, L2CAP can be configured for reliable or asynchronous data per channel by performing retransmissions and CRC checks. Reliability in either of these modes is optionally and/or additionally guaranteed by the lower layer Bluetooth BDR/EDR air interface by configuring the number of retransmissions and flush timeout (time after which the radio will flush packets). In-order sequencing is guaranteed by the lower layer. The EL2CAP specification adds an additional
enhanced retransmission mode (ERTM) to the core specification, which is an improved version of retransmission and flow control modes. ERTM is required when using an AMP (Alternate MAC/PHY), such as 802.11abgn.
Bluetooth network encapsulation protocol (BNEP) BNEP is used for delivering network packets on top of L2CAP. This protocol is used by the
personal area networking (PAN) profile. BNEP performs a similar function to
Subnetwork Access Protocol (SNAP) in
Wireless LAN. In the protocol stack, BNEP is bound to L2CAP.
Radio frequency communication (RFCOMM) The Bluetooth protocol RFCOMM is a simple set of transport protocols, made on top of the L2CAP protocol, providing emulated
RS-232 serial ports (up to sixty simultaneous connections to a Bluetooth device at a time). The protocol is based on the ETSI standard TS 07.10. RFCOMM is sometimes called
serial port emulation. The Bluetooth
serial port profile (SPP) is based on this protocol. RFCOMM provides a simple reliable data stream to the user, similar to TCP. It is used directly by many telephony related profiles as a carrier for AT commands, as well as being a transport layer for OBEX over Bluetooth. Many Bluetooth applications use RFCOMM because of its widespread support and publicly available API on most operating systems. Additionally, applications that used a serial port to communicate can be quickly ported to use RFCOMM. In the protocol stack, RFCOMM is bound to L2CAP.
Service discovery protocol (SDP) Used to allow devices to discover what services each other support, and what parameters to use to connect to them. For example, when connecting a mobile phone to a Bluetooth headset, SDP will be used to determine which
Bluetooth profiles are supported by the headset (
headset profile,
hands free profile,
advanced audio distribution profile, etc.) and the protocol multiplexer settings needed to connect to each of them. Each service is identified by a
Universally Unique Identifier (UUID), with official services (Bluetooth profiles) assigned a short form UUID (16 bits rather than the full 128). In the protocol stack, SDP is bound to L2CAP.
Telephony control protocol (TCS) Also referred to as
telephony control protocol specification binary (TCS binary) Used to set up and control speech and data calls between Bluetooth devices. The protocol is based on the ITU-T standard
Q.931, with the provisions of Annex D applied, making only the minimum changes necessary for Bluetooth. TCS is used by the
intercom (ICP) and
cordless telephony (CTP) profiles. The telephone control protocol specification is not called TCP, to avoid confusion with transmission control protocol (TCP) used for Internet communication.
Audio/video control transport protocol (AVCTP) Used by the remote control profile to transfer
AV/C commands over an L2CAP channel. The music control buttons on a stereo headset use this protocol to control the music player. In the protocol stack, AVCTP is bound to L2CAP.
Audio/video data transport protocol (AVDTP) Used by the advanced audio distribution profile to stream music to stereo headsets over an L2CAP channel. Intended to be used by video distribution profile. In the protocol stack, AVDTP is bound to L2CAP.
Object exchange (OBEX) Object exchange (OBEX; also termed
IrOBEX) is a communications protocol that facilitates the exchange of binary objects between devices. It is maintained by the
Infrared Data Association but has also been adopted by the
Bluetooth Special Interest Group and the
SyncML wing of the
Open Mobile Alliance (OMA). In Bluetooth, OBEX is used for many profiles that require simple data exchange (e.g., object push, file transfer, basic imaging, basic printing, phonebook access, etc.).
Low Energy Attribute Protocol (ATT) Similar in scope to SDP but specially adapted and simplified for Low Energy Bluetooth. It allows a client to read and/or write certain attributes exposed by the server in a non-complex, low-power friendly manner. In the protocol stack, ATT is bound to L2CAP.
Low Energy Security Manager Protocol (SMP) This is used by Bluetooth Low Energy implementations for pairing and transport specific key distribution. In the protocol stack, SMP is bound to L2CAP. == References ==