こんにちは。日々のインフラ運用や無線環境のチューニング、本当にお疲れ様です。
現代のオフィスや集合住宅、あるいはスマートデバイスがひしめくスマートホームにおいて、私たちは目に見えない電波の「大渋滞」と日々戦っています。隣の部屋のWi-Fiルーターが同じチャネルを陣取っていて、こちらが通信しようとするたびに「あ、お隣さんが喋っているからこっちは黙っておこう……」と、キャリアセンス(CSMA/CA)のルールに従って電波の順番待ちをさせられた経験はありませんか?
Wi-Fi 4や5の時代、同一チャネル干渉(CCI:Co-Channel Interference)は、ネットワークエンジニアにとって頭の痛い、ある種の「諦め領域」でした。チャネルを分ければ干渉は減るものの、使える帯域幅(20MHzや40MHzなど)が狭くなり、結果としてスループットが落ちるというジレンマに常に悩まされてきました。
しかし、Wi-Fi 6(802.11ax)で導入された「BSS Coloring(BSSカラーリング)」は、この無線空間のゲームルールを根本から覆しました。今回は、現場のシニアエンジニアの視点から、このBSS Coloringがどのように電波の衝突を回避し、高密度環境下のスループットを劇的に引き上げるのか、そのメカニズムと実務的な設定・デバッグの勘所を徹底的に解説していきましょう。
—
1. そもそもBSS Coloringとは何か?(なぜ今までのWi-Fiではダメだったのか)
従来のWi-Fi(Wi-Fi 5以前)では、無線端末やアクセスポイント(AP)がパケットを送信する際、次のような厳格なルール(CCA:Clear Channel Assessment)に従っていました。
1. 空中に電波が飛んでいるか聴覚的に確認する(キャリアセンス)。
2. 一定以上の強さ(通常は-82 dBmなどの閾値)の電波を検知した場合、「現在このチャネルは使用中(Busy)」と判断する。
3. 自宅のAPからの電波であれ、隣家の全く関係ないAPの電波であれ、区別することなく送信を待機する。
この仕組みの結果何が起きるかというと、物理的にどれだけ距離が離れていようが、微弱な電波を拾っただけで「おっと、待たなきゃ」とネットワーク全体がスローダウンしてしまうのです。これが高密度環境(マンションやオフィスビルなど)における最大のボトルネックでした。
色(Color)で自他のパケットを瞬時に識別する
BSS Coloringは、この問題に「色」という概念を持ち込みました。具体的には、IEEE 802.11axのPHYヘッダーに「BSS Color」と呼ばれる6ビットの識別子(値は 0 から 63)を付与します。
パケットを受け取った際、無線チップはそれが「自ネットワーク(自BSS)のもの」なのか、「無関係な他ネットワーク(OBSS:Overlapping BSS)のもの」なのかを、わざわざ中身をデコードせずとも、物理層の段階で瞬時に判別できるようになりました。
—
2. 空間再利用(Spatial Reuse)のメカニズムと通信フロー
BSS Coloringが導入されたことで、Wi-Fiのキャリアセンスアルゴリズムは「空間再利用(Spatial Reuse)」という強力な武器を手に入れました。
ここで、実際の通信制御のフローを見てみましょう。無線空間でパケットが飛び交う中、APやクライアントがどのように送信判断を下しているのか、そのシーケンスを整理します。
[クライアント / AP] [無線空間(電波を検知)]
│ │
├──── 1. 電波のエネルギーを検知 ─────>│
│ │
├──── 2. PHYヘッダーからColorを読取 ─>│
│ │
├─ [判定フェーズ] │
│ ├─ 自BSSの電波の場合 ────────────>│ 強力な干渉とみなし、通常通り待機(NAV/CCA)
│ └─ 他BSS(OBSS)の電波の場合 ────>│ パワー制御を適用して「送信強行」を許可!
│ │
v v
[データ送信の実行]
このように、検知した電波がOBSS(他所の色)であり、かつその受信電力レベルが一定の閾値(OBSS_PD:Overlapping BSS Preamble Detection)を下回っていれば、「お隣さんの通信は聞こえているけれど、こっちの通信の邪魔にはならない程度だから、同時に喋っちゃおう!」という判断が下されます。これが空間再利用の正体です。
—
3. 現場で知るべき主要パラメーターと設定・運用の勘所
実務のインフラ構築やWi-Fiコントローラー(Cisco Catalyst Center、Aruba Central、あるいはOpenWrtベースのAPなど)のチューニングにおいて、BSS Coloringに関連するパラメーターを正しく理解しておくことは極めて重要です。
主なパラメーター
- BSS Color ID: 0〜63の整数。基本的に周囲のAPと被らないように自動割り当て(あるいは動的BSS Color変更:DSC)されますが、高密度環境では近接するAP間で同じ色が重複しない設計が求められます。
- OBSS_PD(Preamble Detection)Threshold: デフォルトでは動的に調整されますが、およそ
-82 dBmから-62 dBmの範囲で調整可能です。この閾値を厳しく(低く)しすぎると空間再利用が働きにくくなり、逆に緩く(高く)しすぎると他からの干渉でパケットロスが増えます。
実設定のイメージ(Linux hostapd の例)
カスタムファームウェアやオープンソースのインフラ環境でAPを構築する際、hostapd.conf などの設定ファイルでは以下のようにBSS Colorを明示的、あるいは自動(AUTO)で有効化します。
# /etc/hostapd/hostapd.conf
# Wi-Fi 6 (802.11ax) 5GHz帯の設定例
interface=wlan0
ssid=Corporate-Secure-Wi-Fi
hw_mode=a
channel=36
ieee80211n=1
ieee80211ac=1
ieee80211ax=1
# BSS Coloringの有効化(自動割り当て、または1〜63の固定値)
he_bss_color=auto
# OBSSパケット検出閾値のベース調整(必要に応じて環境に合わせてチューニング)
# he_obss_pd_threshold=-76
> エンジニアリングの現場からのTips:
> 「とりあえず全部 auto にしておけばいいや」と思いがちですが、数百台規模のAPが乱立するオフィス環境では、AP間でColorの衝突(Color Collision)が起きることがあります。もしネットワーク全体のパフォーマンスが芳しくない場合は、無線パケットキャプチャ(Wireshark等)を用いて、周囲のAPがどのようなColorを使っているのかをマッピングし、手動で綺麗に割り当て直す泥臭い作業が必要になることもあります。
—
4. トラブルシューティングとデバッグの実際
現場で「Wi-Fi 6を導入したのに、なぜか隣のオフィスのせいで速度が出ない」というクレートを受けた際、BSS Coloringが正しく機能しているかをどう確認すればよいでしょうか。
Wiresharkによるパケット解析
無線インターフェースをモニターモード(Monitor Mode)に入れ、Wiresharkでキャプチャを行います。
Wi-Fi 6のフレーム(DataFrameやManagement Frame)を選択し、詳細なパケットツリーを展開します。
1. Radiotap Header または IEEE 802.11axヘッダー を開きます。
2. BSS Color フィールド(0〜63の値)が存在しているか確認します。
3. 自APのColorと、干渉源となっているOBSSのColorが異なっている(例:自らが Color: 5 で、隣が Color: 12)にもかかわらず、端末が送信を控え続けている(CCAでブロックされている)場合、OBSS_PDの閾値が厳しすぎるか、あるいは近隣のAPが古いWi-Fi 4/5の機器であり、BSS Colorを発信できていないことが原因と特定できます。
特に注意すべきなのは、「Wi-Fi 6対応APの近くに、古いWi-Fi 4(802.11n)のルーターが野良で動いている場合」です。古い機器はBSS Colorを喋ることができないため、Wi-Fi 6の高度な空間再利用の恩恵を受けられず、従来通りの無慈悲なキャリアセンスの対象になってしまいます。レガシー機器の排除やチャネルの隔離は、今なおインフラエンジニアの重要な仕事の一つです。
—
5. まとめ
BSS Coloringは、目に見えない電波の空間を「色」というタグで整理整頓し、これまで泣く泣く待たされていた無駄なアイドル時間を「同時並行の通信時間」へと変えてくれる、Wi-Fi 6の最もエレガントな機能の一つです。
単にスペックシートの数字を見て「Wi-Fi 6だから速い」と過信するのではなく、背後でパケットがどのように識別され、どのような閾値のもとで空間再利用が許可されているのかという「パケットの挙動」を頭に描けるかどうかが、プロのネットワークエンジニアの分かれ道となります。
皆さんの現場でも、電波の混雑に悩んだ際は、ぜひ一度BSS Colorの割り当てやOBSS_PDの挙動に目を向けてみてください。きっと、劇的なスループットの改善という形で応えてくれるはずです。それでは、次回の現場でお会いしましょう!
コメント