論理リンク制御および適合プロトコル (L2CAP)
説明
Bluetooth 論理リンク制御および適合プロトコル (L2CAP) は、上位プロトコルの多重化、パケットのセグメント化と再構築、およびサービス品質情報の送信をサポートします。
L2CAP は、上位レイヤのデータ パケット (L2CAP サービス データ単位、SDU) を長さ 64 キロバイトまで送受信する許可を上位レベルのプロトコルおよびアプリケーションに与えます。また、フロー制御および再送信モードでのチャネル単位フロー制御と再送信も可能にします。
L2CAP レイヤでは論理チャネルが提供されます。このチャネルは、L2CAP チャネルと呼ばれ、ACL 論理トランスポートによってサポートされる L2CAP 論理リンクにマッピングされます。
一般的な動作
L2CAP は「チャネル」の概念に基づきます。各 L2CAP チャネルのエンドポイントは、チャネル ID (CID) によって識別されます。
チャネル ID
チャネル ID (CID) は、デバイスの論理チャネル エンドポイントを表すローカル名です。CID の割り当ては特定のデバイスに対するものであり、他のデバイスとは無関係に複数の CID を割り当てることができます (ただし、予約済みの CID を使用する必要がある場合は除きます)。
デバイス間の動作
 |
左図は、各デバイスの対応するピア L2CAP エンティティ間の通信における CID の使用法を示しています。接続指向のデータ チャネルは、2 台のデバイス間の接続を表します。この場合、CID によってチャネルの各エンドポイントが識別されます。コネクションレス チャネルは、データ フローを一方向に限定します。これらのチャネルは、チャネル「グループ」のサポートに使用されます。このグループでは、ソースの CID が 1 台以上のリモート デバイスを表します。特別な目的のために予約されている CID も数多くあります。予約済みチャネルの一例は、シグナリング チャネルです。このチャネルは、接続指向データ チャネルの作成および確立と、接続指向およびコネクションレス チャネルの特性に対する変更のネゴシエートに使用されます。 |
動作モード
L2CAP は 3 種類のモードのいずれかで動作します。モードは、上位レイヤが各 L2CAP チャネルに対して選択します。
モードの種類は次のとおりです。
- 基本 L2CAP モード (Bluetooth v1.1 の L2CAP 仕様と同等) 1
- フロー制御モード
- 再送信モード
データ パケット形式
L2CAP はパケットベースですが、チャネルに基づく通信モデルに従います。チャネルは、リモート デバイスでの L2CAP エンティティ間のデータ フローを表します。チャネルは、接続指向かコネクションレスのどちらかです。
シグナリング パケット形式
このセクションでは、2 つのピア デバイスの L2CAP エンティティ間で送受信されるシグナリング コマンドについて説明します。すべてのシグナリング コマンドは、CID 0x0001 でシグナリング チャネルに送信されます。このシグナリング チャネルは、ACL 論理トランスポートが設定され、L2CAP トラフィックが L2CAP 論理リンクで有効になった直後から使用できます。1 つのシグナリング コマンドで複数のコマンドを送信できます (C フレーム)。コマンドは、リクエストと応答の形式をとります。すべての L2CAP の実装は、シグナリング MTU を超えないペイロード長の C フレームの受信をサポートします。サポートされている C フレームの最小ペイロード長 (MTUsig) は 48 オクテットです。L2CAP の実装では、ピア デバイスの MTUsig を超える C フレームを使用してはいけません。MTUsig を超える C フレームを受信したピア デバイスは、サポートする MTUsig を含む Command Reject (コマンド拒否) を送信しなければなりません。
構成パラメータのオプション
オプションは、構成パラメータを拡張するメカニズムです。オプションは、オプションの種類、オプションの長さ、および 1 つ以上のオプション データ フィールドを含む情報エレメントとして伝送されます。
|