【テクニカル・上級編】 メッシュWi-Fiのローミングプロトコル:IEEE 802.11v(BSS遷移管理)の仕様 – 家庭用ネットワーク・IoT・モバイル通信実践ガイド

802.11vが切り拓くメッシュWi-Fiの真実:ステアリングの裏側とパケットの流儀

家庭用ルーターが「メッシュ対応」を謳うとき、多くのユーザーは単に「親機と子機が連携して範囲を広げる」と理解している。だが、我々のようなインフラの深淵を覗く者にとって、その本質は「クライアントをいかに効率よく、かつシームレスに最適解となるノードへ誘導するか」というプロトコル制御の芸術にある。

今回は、メッシュWi-Fiにおけるローミングの要、IEEE 802.11v(BSS Transition Management)に焦点を当て、パケットレベルで何が起きているのか、そしてパフォーマンスを極限まで引き出すためのチューニングについて紐解いていこう。

—

1. 802.11vによる誘導のメカニズム:強制ではなく「提案」

かつて、クライアント(スマホやPC)は自身の判断で「電波が弱いから別のAPへ切り替えよう」と決めていた。しかし、これはクライアント側のドライバ実装に依存し、往々にして「電波がギリギリまで死なない限り粘る」という愚行を繰り返す。

802.11vは、AP側からクライアントに対して「あっちのノードの方が負荷も低いし、SNR(信号対雑音比)もいいぞ」という BSS Transition Management Request を送ることで、主導権をAP側に引き寄せる。

パケットの挙動

1. トリガー: APがクライアントの RSSI(受信信号強度)や Load を監視し、しきい値を下回ったことを検知。
2. Request: APが管理フレーム内で BSS Transition Management Request を発行。これには推奨される「隣接APのリスト」が含まれる。
3. Response: クライアントは BSS Transition Management Response を返送し、合意形成を行う。
4. Transition: クライアントは即座に認証フェーズへ移行し、再接続を試みる。

このプロセスにおいて重要なのは、802.11k(近隣レポート)が「どこに接続すべきか」の地図を渡し、802.11vが「今すぐそこに移動しろ」という指示を出すという連携だ。この2つが欠けると、メッシュはただの「電波の重ね合わせ」に過ぎなくなる。

—

2. パフォーマンスを殺す「スティッキー・クライアント」の排除

高密度環境や、あるいは自宅にIoTデバイスが溢れている環境において、特定のデバイスが古いAPに固執すると、全体のAirtime効率が著しく低下する。これを解決するには、LinuxベースのAPであれば hostapd の設定で積極的に 11v の恩恵を享受すべきだ。

hostapd.conf での推奨設定例を以下に示す。

# 802.11v BSS Transition Managementの有効化
bss_transition=1

# 802.11k Neighbor Reportの有効化
rrm_neighbor_report=1
rrm_beacon_report=1

# クライアントがしきい値を下回った際に強制的に切断するためのパラメータ
# RSSIが-80dBmを下回ると、接続を拒否または再接続を促す(単位: dBm)
disassoc_low_ack=1
# APの負荷が高まった際、11vでクライアントを追い出す設定
bss_transition_width_high_load=1

—

3. TCPバッファとTLSハンドシェイクの最適化

メッシュ環境でローミングが発生すると、数ミリ秒から数百ミリ秒の通信断(Gap)が生じる。TCPセッションを維持している場合、この隙間に送られたACKがロストし、Congestion Window(cwnd)が縮小する。

これを防ぐには、クライアントとサーバー間のトランスポート層でのチューニングが不可欠だ。

TCP/IPスタックの調整(Linux側)

ローミングによる一時的な切断を「回線障害」と誤認させないため、再送間隔を最適化する。

# TCPの再送タイムアウト(RTO)の最小値を抑える(ネットワーク遅延に敏感にする)
sysctl -w net.ipv4.tcp_rto_min=200000 

# メッシュ網を考慮し、TCPウィンドウサイズを動的に調整可能にする
sysctl -w net.ipv4.tcp_window_scaling=1
sysctl -w net.ipv4.tcp_rmem="4096 87380 6291456"
sysctl -w net.ipv4.tcp_wmem="4096 16384 4194304"

また、TLS 1.3 を利用している場合、0-RTT(Zero Round Trip Time Resumption)を有効にすることで、ローミング後の再接続時におけるハンドシェイクのオーバーヘッドを劇的に削減できる。これは、接続頻度が高いIoTゲートウェイなどでは特に効果的だ。

—

4. セキュリティの陥穽:ローミング時の脆弱性

802.11r(高速BSS遷移)を併用する場合、鍵の導出プロセスが短縮されるが、実装が甘いと PMK(Pairwise Master Key)のキャッシュが中間者攻撃(MITM)の標的となるリスクがある。

セキュリティ専門家としての助言は一つ。「必ず 802.11w(Management Frame Protection)を併用せよ」。

管理フレーム(11vの要求含む)を暗号化・認証しないと、攻撃者は偽の BSS Transition Request をブロードキャストし、クライアントを意図しない悪意あるAPへ誘導(ステアリング攻撃)できてしまう。

# 802.11wの強制有効化
ieee80211w=2

—

結びに:見えないパケットに思いを馳せる

メッシュWi-Fiの真の価値は、電波が届く範囲そのものではなく、その範囲を移動する際の「接続の連続性」にある。802.11v は、そのための指揮者のタクトだ。

あなたが構築するネットワークが、ただ繋がるだけのものではなく、パケットが迷うことなく最短経路を駆け抜け、瞬時に最適解を見つけ出す「知的なインフラ」であることを願う。プロトコルの隅々に潜むロジックを理解することこそが、エンジニアの矜持であり、最強のトラブルシューティング術なのだから。

コメント

タイトルとURLをコピーしました