BR/EDRとは

パソコンやスマホと周辺機器を接続して通信をおこなったり、 スマホ/携帯のテザリングをおこなったりするのに使われている。
WiFi などと同じ 2.4GHz帯のISM バンド80個 に 分割したチャンネルを用いて、ホッピング しながら データ通信をおこなう。
現在の最新仕様は Bluetooth 5 です。

プロトコルスタックは、下記のようになっており、同じプロファイルを実装したデバイス同士が通信できる。
逆に言うと、同じプロファイルを実装しなければ、データ通信をおこなうことはできない。

BR/EDR で利用する プロファイルプロトコル の仕様は 下記に公開されている。

基本動作

スター型トポロジーの構成要素は、マスタースレーブ に 役割 (ROLE) が分かれていて、 データ通信では、その役割に従って通信手順を実行する。

▸  マスター ( master )  ⇒  パソコンなど、周辺機器をつなぐ中心にいるデバイス
▸  スレーブ ( slave )  ⇒  マスターにぶら下がるひとつひとつの周辺機器

スレーブは マスターからの接続要求を待ち続け、 マスターは 周辺にあるスレーブを探して 接続をおこなう。

デバイスの接続手順は GAP (Generic Access Profile) に規定されており、 検索 ( Inquiry ) と 接続 ( Paging ) をおこない、リンクを確立する。
そのあと、SDP (service discovery protocol) により、スレーブ側デバイスが持っている情報を読みだして、 デバイスに実装されているプロファイル/サービスを確認して、データ通信を開始する。
データ通信に暗号化が必要なときは、鍵交換 ( ペアリング ) をおこない、暗号通信を開始する。 鍵交換済みであれば、データ通信を開始するときに、すぐに暗号通信を開始する。

マスターと複数のスレーブで構成されるスター型のネットワーク (トポロジー) は、ピコネット と呼ばれており、 Bluetooth通信におけるネットワークの最小構成単位になる。
ひとつのピコネットの中では、スレーブ同士は 直接通信することはできない。 スレーブ間の通信は マスターが中継することになる。

異なるピコネットに対して、マスターとスレーブの役割を 複数演じることで、 ピコネット同士を接続して、スキャタネット を 構成することができる。
スキャタネット上のデータ通信は、ノードをひとつずつ辿るようにリレーしながら通信することになる。 ネットの形が複雑になると、データのバケツリレーに時間がかかるようになり、実質的な通信速度も遅くなる。

デバイスの検索 (Inquiry Procedure)

BR/EDR の デバイス検索 は、次のような手順になる。

  1. スレーブは マスターからの Inquiry Request (問合せ要求) を ずっと待ち続ける。 ⇒  Inquiry Scan
  2. マスターは 周辺に存在するスレーブを確認するため、Inquiry Request を送信する。
  3. スレーブは マスターからの Inquiry Request を受信したら、応答として 自身の情報を マスターに返す。 ⇒  Inquiry Response
  4. マスターは スレーブからの応答をチェックして、それが接続するべきデバイスかを判定する。

接続待ちをおこなう スレーブは スキャン (接続待ち動作) をおこなう必要があるので、 BLE などと比較して、消費電力的に不利になる。

デバイスの接続 (Paging Procedure)

BR/EDR の デバイス接続 は、次のような手順になる。

  1. スレーブは マスターからの Page Request (接続要求) を ずっと待ち続ける。 ⇒  Page Scan
  2. マスターは 周辺に存在する接続したいスレーブに対して、Page Request を送信する。
  3. スレーブは マスターからの Page Request を受信したら、応答を マスターに返す。 ⇒  Page Response
  4. 相互に接続相手であると確認したら、 マスターとスレーブは、ネゴシエーションを開始し、データ通信のリンクを確立する。

データ通信のリンクを確立した後、通常は その上に 暗号通信 を確立する。
もし、暗号通信のための 暗号鍵を 交換していなかったときは、 鍵交換手順のペアリング を実行して、鍵を相互に受け渡す。