L2CAP
読み:エルトゥーキャップ
外語:L2CAP: Logical Link Control and Adaptation Protocol

 Bluetoothにおいて、接続する機器同士のデータ伝送路(論理チャンネル)を設定する通信プロトコル
目次

概要
 Bluetoothのアダプション・レイヤーと呼ばれる階層にある。OSI参照モデルでは、データリンク層(レイヤー2)に位置するプロトコルである。
 この上で、データ転送系の各種プロトコル(RFCOMMなど)が動作する。
 BTモジュールの設計にもよるが、この一つ下の階層はHCIとして、ベースバンド層を制御するホストコントローラー(Bluetoothチップ)との境界となるインターフェイスが設けられる。
 L2CAPのMTUは可変で、最小48、標準672、最大65535(=0xffff)である。

特徴

動作モード
 L2CAPは3種類の動作モードを持っている。
 デフォルトはBasic L2CAP Modeであり、他のモードにはCフレームのCONFIGURATION REQUEST(CODE 0x04)を使って、必要に応じて切り替える。

フレーム
 用途に応じたいくつかのフレームが存在する。
 動作モード、CIDで大きく分けられ、S/Iフレームは、Ctrlフィールド内のbitで区別される。

ヘッダー
 いずれのフレームも、4オクテットの共通のヘッダーが存在する。
 CID(Channel ID)は次の通り。Bluetooth 3.0で一つ、Bluetooth 4.0で更に3つが追加されている。

Bフレーム (Basic information frame)
 CONNECTION-ORIENTED CHANNEL IN BASIC L2CAP MODE
 Bフレームは、L2CAPを下位に使うプロトコルが実際にデータを送受信する際に用いるフレーム(上位プロトコルのペイロード伝送用フレーム)である。
 MTUはチャンネルコンフィギュレーション中に決定されるが、最小MTUは48オクテットである。

Gフレーム (Group frame)
 CONNECTIONLESS DATA CHANNEL IN BASIC L2CAP MODE

S/Iフレーム
 CONNECTION-ORIENTED CHANNEL IN RETRANSMISSION/FLOW CONTROL MODES
 S/Iフレームの区別は、Ctrlフィールドのbit 0でおこなう。

Sフレーム (Supervisory frame)

Iフレーム (Information frame)

Cフレーム
 CフレームのData部は、コマンドのCodeによって異なる。
 Code(コマンド)の種類は次の通り。
CodeDescription
0x00RESERVED
0x01Command reject
0x02Connection request
0x03Connection response
0x04Configure request
0x05Configure response
0x06Disconnection request
0x07Disconnection response
0x08Echo request
0x09Echo response
0x0AInformation request
0x0BInformation response
 一部のコマンドについては、各フレームにおけるData部の最初の2バイトで、具体的なコマンドの種類を示す。Bluetooth 2.1現在、次のようなものがある。
 0x0A/0x0Bの0x0002は、拡張機能の有無を表わす32ビットのビット列を要求/返信する機能である。

L2CAPコネクションレストラフィックヘッダー
 connectionlessの時のヘッダーは、次のようになる。
 上位のプロトコルの種類は、psmによって表わされる。
PSM名称概要
1SDPService Discovery Protocol
3RFCOMMRFCOMM with TS 07.10
5tcs-binTelephony Control Specification
7tcs-bin-cordless
15BNEPBluetooth Network Encupsulation Protocol
17hid-controlHuman Interface Device (Control)
19hid-interruptHuman Interface Device (Interrupt)
21upnpUPnP、ESDP, Bluetooth SIGを参照
23AVCTPAudio/Video Control Transport Protocol
25AVDTPAudio/Video Distribution Transport Protocol
29udi-c-planeUnrestricted Digital Informaton Profile

再検索