L2CAP【Logical Link Control and Adaptation Protocol】
概要

送信時にはアプリケーション側から受け取ったデータを一定サイズのフレームに分割し、制御情報を付加して物理層へ渡す。受信時には届いたフレームからデータを取り出して元のまとまりに再構成し、対応するアプリケーションへ引き渡す。
一つの無線伝送路を複数のアプリケーションが同時に使えるよう、「PSM」(Protocol/Service Multiplexer)や「CID」(Channel Identifier)という識別情報をフレームに記録する。これらはTCPやUDPのポート番号に近い働きをし、異なるサービスが互いに干渉せず並行して通信できる。
データの再送制御機能も備えており、通信途中でフレームが欠落した場合は自動的に再送を要求して確実な伝送を実現する。Bluetooth Classicでは、再送制御を行う信頼性重視のモードや遅延を抑えるため再送を省くモードなど複数の転送モードが定義されている。BLEでは再送制御の多くが下位層で処理されるため、利用できる機能はClassicと一部異なる。
L2CAPの上位には用途に応じた様々なプロトコルが置かれる。BLEでは「ATT」(Attribute Protocol)や「SM」(Security Manager)が直接利用し、さらにその上位で「GATT」(Generic Attribute Profile)や「GAP」(Generic Access Profile)によるサービス管理や機器間通信が行われる。Classicでは「RFCOMM」(Radio Frequency Communication)や「SDP」(Service Discovery Protocol)などがL2CAP上で動作するが、L2CAP自体の機能拡充BLEの普及に伴い、RFCOMMが使われる場面は減少している。