【テクニカル・上級編】 RSSIとSNRに基づくローミング判定アルゴリズム – 家庭用ネットワーク・IoT・モバイル通信実践ガイド

Wi-Fi 7時代のローミング最適化:RSSIとSNRの深淵、そして「スティッキー端末」を葬り去るエンジニアリング

Wi-Fi 6EからWi-Fi 7へと移行が進む今、我々インフラエンジニアが直面しているのは、単なるスループットの向上ではない。「いかにしてクライアントを最適なAPへ即座に誘導するか」という、ローミングの物理的・論理的制約との戦いだ。

現代の無線環境において、クライアント端末が「いつ、どのタイミングで」APを切り替えるかというアルゴリズムは、実はクライアント側の実装に依存する「ブラックボックス」である。しかし、ネットワークの安定性を担保すべき我々が、このブラックボックスを放置して良い理由にはならない。

スティッキー端末問題の正体:RSSIとSNRの罠

現場で最も忌み嫌われるのが、移動しているにもかかわらず、信号強度が極端に低下した遠くのAPを握り続ける「スティッキー端末(Sticky Client)」だ。

多くの端末は、RSSI(受信信号強度)が一定のしきい値(例:-75dBm以下)を下回るとローミングを試みるが、ここで重要なのは SNR(信号対雑音比)だ。RSSIが十分でも、ノイズフロアが高い環境では、パケットの再送制御(Retransmission)が頻発し、実効スループットは底をつく。

ローミング判断のアルゴリズム的アプローチ

我々が設計段階で意識すべきは、802.11k/v/r を駆使したAP主導の誘導だ。特に 802.11v の BSS Transition Management (BTM) を活用し、クライアントへ能動的に「隣接APへ移動せよ」と勧告を送る。

# LinuxベースのAP(hostapd)で802.11v/kを有効にする設定例
# /etc/hostapd/hostapd.conf

ieee80211k=1          # 近隣レポートの生成を有効化
rrm_neighbor_report=1  # クライアントからの近隣AP情報の要求を許可
rrm_beacon_report=1    # ビーコンレポートの要求を許可
bss_transition=1       # 802.11v BTMを有効化

トランスポート層の最適化とRTTの削減

ローミングが発生した際、最も深刻なのがTCPセッションの切断や、TLSハンドシェイクの再実行によるレイテンシの増大だ。

TLSハンドシェイクの最適化

ローミング直後の再接続において、TLS 1.3 の 0-RTT (Zero Round Trip Time Resumption) は強力な武器となる。以前のセッション情報を PSK(事前共有鍵)として保持し、クライアントは接続開始時にデータパケットを送信できる。

ただし、0-RTT は Replay Attack の脆弱性を孕んでいるため、アプリケーション層でのべき等性(Idempotency)の確保が必須条件となる。

TCPバッファチューニング

Wi-Fi 7の超広帯域を活かすには、カーネルのTCPバッファも現代のスペックに合わせる必要がある。ローミング時のパケットドロップを考慮し、再送制御を最適化する。

# /etc/sysctl.conf への追記例
# 高速Wi-Fi環境でのスループット向上のためのTCPチューニング

# TCP受信ウィンドウの最大値を拡大
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 再送のタイムアウトを短縮し、パケットロス時の回復を速める
net.ipv4.tcp_retries2 = 5

ヘッダー圧縮とパケットのリアルな挙動

Wi-Fi 7で導入された Multi-Link Operation (MLO) は、複数の周波数帯域を束ねることで、ローミング時の「切断」を物理層レベルで隠蔽する可能性を秘めている。

しかし、オーバーヘッドの削減も忘れてはならない。特にIoTデバイスが多数混在する環境では、ROHC(Robust Header Compression)をネットワーク全体で意識する必要がある。IPヘッダー、UDPヘッダー、RTPヘッダーの冗長な情報を圧縮することで、限られた無線リソースを最大効率化させる。

結論:ネットワークは生き物である

スティッキー端末問題を解決するための唯一の解は、単一のパラメータ調整にはない。
1. インフラ側での 802.11v BTMの適切な発行
2. TLS 1.3 0-RTT によるハンドシェイクの最短化
3. カーネルレベルでのバッファチューニングによるパケットロス耐性

これらを垂直統合的に管理することが、Wi-Fi 7時代のアーキテクトに求められる職人芸だ。ネットワークとは、教科書通りには動かない。パケットが無線空間という不確実なメディアを駆け抜ける際、エンジニアがどれだけ「物理的な挙動」を想像できるかが、最終的なUXを決定づけるのである。

次に現場でローミングトラブルに遭遇したら、CLI上の数値だけでなく、その背後にあるパケットの呼吸を感じてみてほしい。そこに、真の解決策が隠されている。

コメント

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