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
  • Flow Control Mode
  • Retransmission Mode (再転送モード)

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

フレーム

用途に応じたいくつかのフレームが存在する。

動作モード、CIDで大きく分けられ、S/Iフレームは、Ctrlフィールド内のbitで区別される。

  • データパケット
    • Basic L2CAP Mode
      • Bフレーム (Basic information frame)
      • Gフレーム (Group frame)
    • Flow Control/Retransmission Mode
      • Sフレーム (Supervisory frame)
      • Iフレーム (Information frame)
  • シグナル
    • Cフレーム (Control frame)

ヘッダー

いずれのフレームも、4オクテットの共通のヘッダーが存在する。

  • Length: 2オクテット
  • Channel ID: 2オクテット

CID(Channel ID)は次の通り。Bluetooth 3.0で一つ、Bluetooth 4.0で更に3つが追加されている。

  • 0x0000 ‐ Null identifier
  • 0x0001 ‐ L2CAP Signaling channel → Cフレーム
  • 0x0002 ‐ Connectionless channel → Gフレーム
  • 0x0003 ‐ AMP Manager Protocol [3.0〜]
  • 0x0004 ‐ Attribute Protocol [4.0〜]
  • 0x0005 ‐ Low Energy L2CAP Signaling channel [4.0〜]
  • 0x0006 ‐ Security Manager Protocol [4.0〜]
  • 0x0007〜0x003E ‐ Reserved(予約)
  • 0x003F ‐ AMP Test Manager [3.0〜]
  • 0x0040〜0xFFFF ‐ Dynamically allocated → Bフレーム

Bフレーム (Basic information frame)

CONNECTION-ORIENTED CHANNEL IN BASIC L2CAP MODE

Bフレームは、L2CAPを下位に使うプロトコルが実際にデータを送受信する際に用いるフレーム(上位プロトコルのペイロード伝送用フレーム)である。

  • Length: 2オクテット

    Information payloadの長さ(オクテット単位)

  • Channel ID: 2オクテット

    0x0040〜0xFFFF

  • Information payload: 0-65535オクテット

MTUはチャンネルコンフィギュレーション中に決定されるが、最小MTUは48オクテットである。

Gフレーム (Group frame)

CONNECTIONLESS DATA CHANNEL IN BASIC L2CAP MODE

  • Length: 2オクテット

    Information payloadとPSM長を合計した長さ(オクテット単位)

  • Channel ID: 2オクテット

    常に0x0002

  • PSM(Protocol/Service Multiplexer): 2オクテット以上
  • Information payload: 0-65535オクテット

S/Iフレーム

CONNECTION-ORIENTED CHANNEL IN RETRANSMISSION/FLOW CONTROL MODES

S/Iフレームの区別は、Ctrlフィールドのbit 0でおこなう。

Sフレーム (Supervisory frame)

  • Length: 2オクテット

    ControlからFCSまでを合計した長さ(オクテット単位)

  • Channel ID: 2オクテット
  • Control: 2オクテット
  • FCS: 2オクテット

Iフレーム (Information frame)

  • Length: 2オクテット

    ControlからFCSまでを合計した長さ(オクテット単位)

  • Channel ID: 2オクテット
  • Control: 2オクテット
  • L2CAP SDU Length: 0または2オクテット
  • information payload
  • FCS: 2オクテット

Cフレーム

  • Length: 2オクテット

    ControlからFCSまでを合計した長さ(オクテット単位)

  • Channel ID: 2オクテット

    0x0001固定

  • Commands
    • Code: 1オクテット
    • Identifier: 1オクテット
    • Length: 2オクテット
    • Data

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現在、次のようなものがある。

  • 0x01 COMMAND REJECT
    • 0x0000 Command not understood
    • 0x0001 Signaling MTU exceeded
    • 0x0002 Invalid CID in request
  • 0x0A INFORMATION REQUEST
    • 0x0001 Connectionless MTU
    • 0x0002 Extended features supported
  • 0x0B INFORMATION RESPONSE
    • 0x0001 Connectionless MTU (データ長2)
    • 0x0002 Extended feature mask (データ長4)

0x0A/0x0Bの0x0002は、拡張機能の有無を表わす32ビットのビット列を要求/返信する機能である。

L2CAPコネクションレストラフィックヘッダー

connectionlessの時のヘッダーは、次のようになる。

  • 16ビット: psm ‐ Protocol/Service Multiplexor

上位のプロトコルの種類は、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
用語の所属
通信プロトコル
データリンク層
関連する用語
Bluetooth

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club