Wi-Fi EasyMeshの概要

## 概要
Wi-Fi EasyMeshの仕様書を確認したので内容を備忘のため記載。
（本当は実装際にメッシュネットワークを構築しパケットキャプチャしてみ理解するのが望ましいですが環境がなく、仕様書を確認しました）

Wi-Fi EasyMeshは Wi-Fi Allianceが策定したWi-Fi
でメッシュネットワークを構築するMulti-AP規格の認証プログラムである。認証取得した製品はベンダに依存せずWi-Fiメッシュネットワークを構築できる。

IEEE802.11sで策定されていたメッシュとは別の方式が採用されているようである。ちなみにgoogle meshは802.11sベースのようである(https://store.google.com/jp/product/nest_wifi_specs?pli=1&hl=ja)。

## 構成
複数のMulti-AP Deviceによりメッシュネットワークは構成される。

Multi-AP Deviceのロールとして、Multi-AP ControllerとMulti-AP Agentが存在する。
* Multi-AP Controller
メッシュネットワークで1つ。
メッシュネットワーク全体の管理を行う。
通常、Multi-AP ControllerロールのMulti-AP DeviceがWANへのゲートウェイになる。
* Multi-AP Agent
メッシュネットワークに複数の存在する。
クライアント端末を収容するMulti-APデバイス。

Multi-AP Deviceは3つのインタフェース(Fronthaul link, Backhaul-link, wired Backhaul link)を持つ。

* Fronthaul link
従来のアクセスポイント同様、クライアント端末を収容する無線リンクである。
* Backhaul link
Multi-AP Device間を無線接続するリンクである。
* wired Backhaul link
Backhaul linkの有線接続版である。

Multi-AP AgentのMulti-AP Deviceは、APとしての無線インタフェースの他、他のMulti-AP Deviceに接続するためのSTAの無線インタフェースを持つことになる。
規格上、Fronthaul link, Backhaul-linkのSSIDは別々でも同一でも良いようである。

![Untitled Diagram-3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630941/3389b8b9-cdd7-08df-ed3f-63c97be773eb.jpeg)

## Multi-AP オンボーディング

1. Multi-AP Controller(Registrar)は事前にMulti-AP Agent（Existing Agent）とIEEE1905 AP-Autoconfigurationで接続する。
1. Multi-AP Agent(Enrolle Agent)はbSTA(Backhaul STA)よりIEEE1905 Push Button Configuration方式によりMulti-AP AgentのfAP(Fronthaul AP)のbBSS(Backfaul BSS)と無線LANレベルの認証・接続する（WPS PBC方式）。
1. Multi-AP Agent(Enrolle Agent)はMulti-AP ControllerとIEEE1905 AP-Autoconfigurationで接続する。

MultiAP Device1内で、ControllerとAgentが接続し、そこにMultiAP Device2や3が接続する理解。構成図にIEEE1905のRegistrarとEnrollee, Backhal BSS, Fronthaul BSSを追記した図を以下に示す。

![easymesh.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630941/22208cfa-8a08-ed1a-e8f3-c14e93f2aa3a.jpeg)

詳細なシーケンスは下記参照。

![スクリーンショット 2024-07-15 10.25.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630941/50ab8977-69e5-70f2-1aa5-2551efb0a2b3.png)
※出典：Wi-Fi EasyMesh Specification

### Enrolle AgentとExsiting Agentの接続
上記シーケンスにおけるポイントを以下に示す。
* Exsiting AgentのbBSSはWPS未サポートであり、fBSSがWPSをサポートしている。
* Enrolle AgentとExisting AgentとExisting AgentのfBSSでWPSセッションを行う。
* WPSセッションでExisting AgentはfBSSのセキュリティ情報(credentioals)ではなく、bBSSのセキュリティ情報を配布する。
* WPSセッション完了後、Enrollee AgentはExisting AgentのbBSSと接続をする。
* Assocation Request/ResponseにはMulti-AP IEを含む。Multi-AP IEはMulti-AP Exntenstion subelementを含む。

![スクリーンショット 2024-07-15 10.46.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630941/ccf767ad-a988-20f6-802d-c7435f4b5b62.png)
※出典：Wi-Fi EasyMesh Specification

![スクリーンショット 2024-07-15 11.31.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630941/3256b054-e454-bd5f-85fc-1bcda998da26.png)
※出典：Wi-Fi EasyMesh Specification

### Multi-AP ディスカバリ
* Multi-APネットワークには一台のControllerが存在する。Multi-AP AgentはControllerを検出するため、IEEE1905 AP-Autoconfiguration Search Messageを送信する。ControllerはIEEE1905 AP-Autoconfiguration Response Messageで応答する。Searchはマルチキャストであり、Responseはユニキャストである。
* IEEE1905 Topology query/responseによりMulti-AP Deviceが、ControllerかAgentか、どちらをサポートしているかを通知する。
* IEEE1905 Topology NotificationでMulti-AP Deviceの接続・切断を通知する。

### Multi-APの設定
* Multi-AP AgentはIEEE1905 AP-Configuration WSC(M1) Messageを送信、Multi-AP ControllerはIEEE1905 PA-Configuration WSC(M2)を応答。
* M1メッセージにはAgentの無線LANの能力を通知する。M2ではMulti-APを識別するRadio Unique Identiferを通知する。

### チャネルセレクション
Multi-AP Controllerは、Channel Preference QueryをMutli-AP Agentに送信する。Mutli-AP Agentは、Channel Preference Report messagesにより応答する。これによりControllerはAgentの動作チャネルを照会する。

ControllerはChannel Selection Request messageを送信する。このメッセージには、Controllerが推奨および制限する各Mult-APの動作チャネル・送信出力に関する情報を含む。動作チャネルにはAgentが示した動作可能かつ非DFSのチャネルを含む必要がある。

AgentはControllerから指定された最高優先度のチャネルで動作をする。AgnetはChannel Selection Response messageで応答する。

## 疑問点
* WPSはWPA3未対応の認識。WPA3でEasymeshは接続できないのか？

## 参考
詳細はWi-Fi AllianceのSpecification参照。
https://www.wi-fi.org/ja/discover-wi-fi/wi-fi-easymesh