イベント無線LANでのチャネル使用率調査

概要

いつもやっている、イベント会場でのパケットキャプチャに加えてここ最近チャネルごとの使用率の収集も始めました。

計測対象

今回、計測対象にしたのは以下の4イベント(7回)。大抵、鞄の中にデバイスを入れて移動しつつパケットキャプチャを行っています。設置場所を確保できた場合、定点観測的に収集をしています。

イベント 場所 固定?
なにか 2015/08/02 どこか Y
コミケ (C88) 2015/08/14 東京ビッグサイト ホール(東、西) N
2015/08/15 東京ビッグサイト ホール(東、西) N
2015/08/16 東京ビッグサイト ホール(東) Y
YAPC::Asia Tokyo 2015 2015/08/14 東京ビッグサイト 会議棟 N
2015/08/14 東京ビッグサイト 会議棟 N
コミティア113 2015/08/30 東京ビッグサイト ホール(2,3) N

チャネル利用率のヒートマップ

5分毎に区切って、チャネルごとにヒートマップ化したものを並べてみる。

2015/08/02 あたりのイベント

2015-08-02-util

コミケ (C88)

コミケでは、1日目および2日目は一般参加、三日目のみサークル参加だったため東 P-18b にて定点観測を実施。 動的観測の場合、列に並んだあとに観測開始し買い物が終わってビッグサイトから出て国際展示場に行くまでの間のどこかで停止している。

  • 列に並んだ時間 (西)
    • 1日目: 10:15頃
    • 2日目: 10:10頃
  • ビッグサイトを出た時間
    • 1日目: 12:50頃
    • 2日目: 11:10頃
  • 彷徨ったルート (覚えてる範囲で)
    • 1日目: 西(入場) → 東123→東456→西(退場)
    • 2日目: 西(入場) → 東123→東456→西(ホール)→西(退場)

1日目 (2015/08/14)

2015-08-14-util

2日目 (2015/08/15)

2015-08-15-util

3日目 (2015/08/16)

2015-08-16-util

YAPC::Asia Tokyo 2015

こちらは CONBU チーム (いわゆる Wi-Fi 班)として参加したときのもの. 作業時に邪魔にならない場合、ショルダーバッグにデバイスを入れて彷徨うようにはしていました. が、バックヤードに起きっぱなしの時間も大分あったため有為なデータが取れていない可能性は多々ありそう。

1日目 (2015/08/21)

2015-08-21-util

2日目 (2015/08/22)

2015-08-22-util

コミティア113 (2015/08/30)

2015-08-22-util

考察

  • 何となく移動が見える
    • 特にビッグサイト(ホール)
      • 5GHz帯 36、48、64、100 chの濃淡
        • ホールから抜けたかどうかが判断できそう
      • C88 1日目、2日目の移動に連動していそう?
    • YAPCの結果を見ても、場所変化には連動している模様
    • Wi-Fiをオフされた時も同様の状況になりうるので一概に逆は言えないが….
  • 2.4GHz帯側の分布具合
    • 8/2 と YAPCのそれはだいぶ綺麗にみえる
      • 1、6、11 chの中央とそれらの両隣が濃く出ている
      • これらのイベントでは、会場内無線LANのコントロールが提供側でそこそこなされていたため?
      • 野良APまたはクライアントの絶対数の有無?
    • “人の密集度 == 2.4GHz帯側の濃度” という仮説
      • C88 1日目、2日目の2.4GHz と 5GHz の比較より
      • ホールから出て 5GHz 帯側が明らかに薄くなっていて、2.4GHz帯側はそこまで落ちない時間がある
        • まだ列に並んでると思しき時間
        • ホール間移動と思しき時間
        • 帰途についてビッグサイトを出たと思しき時間
      • モバイルルータの影響?

実装

以下、軽く実装についてメモ

情報源として用いる情報

チャネル利用率の算出には iw コマンドの以下のオプションを用いました。

1
% iw wlan0 survey dump

survey dumpでは以下の様にそのチャネルに移動してからのアクティブ時間(=移動後の経過時間)とビジーだった時間が得られます。

1
2
3
4
5
6
Survey data from wlan0
        frequency:                      2412 MHz [in use]
        noise:                          -83 dBm
        channel active time:            35900 ms
        channel busy time:              24814 ms
        channel transmit time:          0 ms

今回用いたデバイス(WLP-UC-AG300, チップはRT2870)の場合、この値はソースコード上の以下の部分で計算しています。 https://github.com/torvalds/linux/blob/master/drivers/net/wireless/rt2x00/rt2800lib.c#L7984

なおここでの”ビジー”は、送受信またはノイズによりこれらがストップしていたチップの動作時間であり、以下の様な関係式がなりたちます。

1
2
channel busy time   = receive time + transmit time + other time
channel active time = busy time + idle time

チップによっては transmit time の他に receive time も個別に取り出せるので other つまり 802.11 以外の電波により送受信ができていなかった時間も取れるのですが今回は対象外としました。

tochkad での記録

このように取れるチャネル利用率を、パケットキャプチャデバイスの主観部分を担う tochkad のチャネル遷移部分で取得するようにしました。

tochkadは0.5秒毎にチャネル遷移するので大分短い時間ではありますが、ログ上に以下の様に utilization (利用率)が載るようになります。

1
[2015-08-02 15:20:43 +0900]     DEBUG: channel moved to 11 from 10 (dur=6510、size=481767780、walk=6062、utilization=59.68 uch=10)

この利用率は tochka デバイスについている LCD ディスプレイ (tochka-miniui) にも出すようにしています (赤枠部分)

tochka-miniui

Comments