hgot07 Hotspot Blog

主に無線LANや認証連携などの技術についてまとめるブログです。ネコは見る専。

2.4GHz帯無線LANのチャネルはぶつけてしまった方がよい

もう少し正確に書くと、
2.4GHz帯無線LANのチャネルは、少しずらすよりは、ぶつけてしまった方がよい(スループットが上がる)」です。

 

無線LANがよく設計されたホテルや会議場、空港などでは、下の図のように1-6-11chに綺麗に山が立っています。

 

1-6-11ch

1-6-11ch

上はシドニー空港(SYD)の例ですが、おそらく無線LANコントローラの自動割り当てによるものでしょう。12chに居るAPはダメな子です。あと、8ch付近にチャネルボンディングが有効なAPが居ますが、2.4GHzでこれをやられると、周囲が大迷惑です。

次の例はどうでしょう?

bad channel assignment

bad channel assignment

よく見ると1-6-11chにホテルWi-Fiが見えますが、持ち込みのAPが隙間に入っていて、かなり酷い電波状況です。実際、この時の無線LANはまともに使える品質ではありませんでした。

 

なぜ1-6-11ch構成が一般的なのか

2.4GHz帯の無線LANでは、隣り合うチャネルのスペクトルが大きく重なっているため、この重なりをできるだ避けるようにチャネルを割り当てようとすると、全部で13ch (USでは11)ある中で3つしか取れません

例えば1chと3chのように、隣接するAPのチャネルが少しだけずれていた場合、隣の通信はノイズになり、データ転送のエラーが増えることになります。

このため、多数のAPを並べるような用途では、1-6-11chを使うのが業界のベストプラクティスになっています。

[2021/5/21追記1] EUでは日本と同じ13chが使えるので、少しだけ重なりを持たせた4チャネル構成(1-5-9-13ch)というのも検討されていました。しかし、隣に3チャネル構成のエリアがあると当然干渉しまくるので、使わない方がよいとする文書が多数あります。(私は4チャネル構成を見たことがありません)

 

チャネルがぶつかったらもっと酷いことになるのでは?

無線LANシステムが一つしかない場合でも、ある空間に複数のAPから同じチャネルの電波が届くことがあります。このような環境で、複数の端末が異なるAPと通信していると、同じチャネルの通信が時空間でぶつかり、スループットが低下するでしょう。

「それなら、スペクトルが多少重なっても、チャネルをずらした方が得策では?」

どうでしょうね?既に1-6-11chが使われているなら、隙間の3chを使ってみるとか?

結論としては、近接したチャネルを使うよりも、同じチャネルを使ったほうが「マシ」です。次節で見てみましょう。

 

実験!

twitterで() 識者に紹介されたビデオです↓

www.youtube.com

近いチャネルを使うよりも、チャネルをぶつけてしまった方が、スループットへの影響が若干小さいことが分かります。

この理由として、以下のような説明を見かけたことがあります。どれだけ合っているのかは不明ですが。
「隣接チャネルの信号は、単純なノイズとして(電子レンジと同様の)、妨害になる。同チャネルの通信ならば、APや端末は互いに制御パケットをデコードできるので、ある程度の制御が可能」

2011年のビデオなので、11nの機材が使われていますが、11acや11ax、MIMOではどうなるのかも気になるところです。あと、機材によって違いが出るかどうかも、気になります。

 

[2021/5/20追記] 参考まで、チャネルをぶつけた場合に有意な差が出なかったケースもあるようです。

 

[2021/5/21追記2] 上の例で「なーんだ、スループット上がらないじゃん!」と思うかもしれませんが、この結果が興味深いのは、「同チャネルに設定しても隣接チャネルと比べて大幅に性能劣化するわけではない」ところでしょう。

1-6-11chが埋まっている場合を考えてみます。例えば隙間の3chや4chを使おうとすると、自分は両側(1ch, 6ch)から干渉を受けることになり、逆に両側に干渉を与えることになります

 

[2021/5/21追記3] Ciscoが11bで4チャネル構成を試していたときの文書を見つけました。(11bは古いぞ!)

  • "Channel Deployment Issues for 2.4-GHz 802.11 WLANs,"  Cisco Systems Technical References, 2004.  (Ciscoリンク切れ)

このテストでは、1chをぶつけた1, 1, 6, 11ch構成と、間隔を詰めた1, 4, 8, 11ch構成を比べており、前者でクライアントあたり601.1KB/s、後者で348.9KB/sの結果とのこと。比較条件が当記事の主題と異なるのですが、以下の技術的考察が関係ありそうです。

Note that even when two access points shared channel 1, the overall performance was greater than in the four-channel scenario. This is because the CSMA protocol created a holdoff when the clients on the same channel decoded that the interference was another 802.11 signal. In the four-channel scenario, the client could not decode the interfering signal, reacted as if it was low-level noise rather than a holdoff, and sent the packet. This resulted in a collision and a retransmission on both clients.

 

結論

  • 2.4GHz帯で隣接チャネルの利用は避ける。4ch以上離せないなら、むしろ同一チャネルの方がマシ。
  • 2.4GHz帯では1-6-11chのみ使う。チャネルボンディング(HT40)は周囲に大迷惑なので禁止。
  • コントローラの最適化機能をうまく利用する。
  • もちろん、同じチャネルの強い信号が同じ空間に入らないように、基地局の出力を調整する(絞る)方がよい。
    (家庭向けのハイパワーモデルは、集合住宅ではよろしくない)

 

余談 (追記)

干渉を避けるために「5GHz帯を使え!」はその通りですが、電波の届く範囲が狭くなるのと、屋外利用に制約があるので、公衆無線LANでは使いにくい面もあります。

 

 

hgot07.hatenablog.com

4750G, 5800X, 5950X……, いろいろRyzenベンチマーク

ちまたによくあるベンチマークプログラムではなく、手元の数値計算用のプログラム(中身はほぼ固有値計算)です。ベクトル化できない、if文の多いコードです。

様々なRyzenをとっかえひっかえしていたら、表が大きくなってきたので、前回のエントリ↓ から分離しました。

hgot07.hatenablog.com

ベンチマーク結果

OSは、Ryzen 5000シリーズがopenSUSE Leap 15.3 alpha、EPYCマシンがRHEL 8.1、それ以外がopenSUSE Leap 15.2です。5000シリーズでは15.2のカーネルが動かないので、仕方なくalphaを使っています。

コンパイラはg++-10を使用 (EPYCのみclang++-10)。Zen 3の最適化オプションがまだなので、znver2でコンパイルしたままの全く同じ実行形式です。経過時間は 時間:分 で記載。

 

  -O3 -march=znver2 -O3
(single)
-march=znver2 -O3
(4para)
-march=znver2 -O3
(8para)
4750G 8:30 8:18 9:00 11:45
5800X - 7:36 8:01 8:32
5950X - 7:59 8:03 8:27
3950X - 8:19 8:30 8:56
4800U - 8:30 11:30 -
EPYC 7702 10:30 10:40 - 10:42

 

考察

ベース周波数が、4750Gは3.6GHz、5950Xが少し低くて3.4GHzなので、シングルスレッド性能はあまり期待していなかったのですが、意外に5950Xが速かったです。いずれもTurbo Frequency上限付近で回っている状態なので、4.8GHz程度で回っていた5950Xが速いというのは納得です。5950Xで8並列にすると、4.47GHzあたりで平衡になり、平均処理時間は8:27になりました。

5800Xと5950Xでは、5800Xの方がベース周波数が高く、定格ブースト周波数が低いのですが、8並列では同程度の周波数で回っており、誤差程度の差しかありません。5950Xが必要になるのは、さらに高い並列度でもメモリに収まるような場合と、低並列度で5800Xより高いブースト性能を狙うニッチな場合でしょうか。後者は条件が難しそうですが。あとは、所有する歓び!?

モバイル用の4800Uが健闘しているように見えますが、複数プロセスを並行に走らせると、4750Gよりも顕著にクロック周波数が落ちて、1プロセスあたり+35%程度、実行時間が伸びます。4750Gでは+7.2%程度。

4750Gの8並列での落ちが大きく、周波数は4.0GHz付近をうろうろ。TDP 65Wとはいえ、それなりに熱いので、冷却不足の可能性もあり?

EPYC 7702は最大ブースト・クロックが3.35GHzなので、シングルスレッドで遅いのは仕方ないです。大容量のメモリが必要でマルチスレッド化できる用途に向いているプロセッサなので。ただ、znver2を付けるとかえって遅くなるのが解せません。

ひと昔前のCPUなら、負荷をかけても定格周波数きっちりで回って、放熱が足りない時はプロテクションが働いていました。今時のCPUは、並列度が低い場合に、TDPと放熱が許す範囲で周波数を上げて動作するのですね。逆に言えば、並列度が上がった時に、TDPが低いとか、放熱が追い付かない場合は、速度が落ちてしまうということ。低TDPのCPUにあまり期待してはいけません。

 

[2021/5/13追記] 4750Gの8並列も測定したので、追記しました。

 

以下、分離前のエントリより転記。

[2021/3/9追記] 3950Xの4並列と8並列も測定して追記しました。このタスクだと意外に健闘している。5950Xはコンパイラのznver3最適化が待たれます。

[2021/3/10追記] GCC-10のmarchオプションで指定できるアーキテクチャの一覧は、gcc -c -Q --help=target を実行することで、"Known valid arguments for -march= option:" の項目に表示されます。手元の10.2.1にはznver2までしかありませんでした。

 

 

 

 

古いSATA-USB変換器にご用心

センチュリーの「裸族のお立ち台」シリーズ、名前がアレですが、HDDをとっかえひっかえ中身移したり、裸のドライブをバックアップメディアに使ったりするのに、とても便利です。変換コネクタ形式のものは、ケーブルの取り回しが面倒ですが、お立ち台ならHDDをポンと差し込むだけ!

(↓これらは新しいモデル)

 

これまでにUSB3.0対応のものを2台買って、長年の相棒でした……(過去形?)

 

さて、タイトルの通りなのですが、古い型番のものでトラブルが出たので注意喚起します

 

2010年頃の古い製品なのですが、CROSEU3という型番のものがあります。USB3.0対応なので、速度にも特に不満なく、2020年まで特にトラブルなく使えていました。それで安心しきっていたのですが、最近のHDDで使えないことが判明しました

購入したばかりの東芝MD04ACA400 (4TB, 6Gbps)を挿して、いざLinuxで使おうとしたところ、何やらエラーが出る。同型の別のドライブでもおかしい。こんなメッセージが出ていました↓ _(゚。3」∠)_

blk_update_request: I/O error, dev sde, sector 45824000 op 0x1:(WRITE) flags 0x4000 phys_seg 16 prio class 0

 

古いお立ち台 (CROSEU3)

古いお立ち台 (CROSEU3)

 

まさかHDDが2台とも初期不良とは考えにくかったので、新しい方のお立ち台CROSU3S6G (2012年モデル, 販売終了)に挿し替えてみたら、あっさりとエラー解消!

というわけで、後方互換性のあるHDDでも、古いSATA-USB変換チップが対応していないっぽいです_('、3」∠)_

まだデータを入れていないサラのHDDで発覚したのは幸運でした。データ入りだったらどうなったのかを想像すると、肝が冷えます。新しいのに買い替えましょう。

 

 

軽量フラットファイル型CMSのGravがよい感じ

研究室やプロジェクトなどのウェブサイトを充実させるのに、さすがにHTML手打ちでは管理的にも見栄え的にも苦しいので、手頃なCMS (Content Management System)がないかと探し始めて、はや三千年。

無茶な要求を並べているわけではないと思うのですが、合致するものが意外にないものですね_('、3」∠)_

メジャーどころのWordPressも触りかけたのですが、なによりデカいのと、セキュリティ問題が度々あって、これは管理しきれないなと。軽量CMSでは、Typesetter CMSやOneThird CMSなども触ってみたものの、どうも自分にはしっくりこない (あくまで個人の感想です)。面倒くさくなってしばらく投げていたところで、すっかり重くなった腰を上げて触ってみたら良さそうだったのが、Gravでした。

getgrav.org

他のCMSと比べると日本語の情報が少なくて、とっつきにくい印象はありますが、世界的には人気の軽量CMSらしいです。

 

CMSに欲しかった機能・仕様

どのCMSを使おうかと探し始めると、「ぼくのかんがえたさいきょうのCMS」みたいなのが検索にワンサカ引っかかってきて、くじけそうになりませんか……、ぇ、そんなことはない?そうですか。

私がCMSに求めていたのは、以下のような機能や仕様です。数多あるCMSでも、一つクリアするごとに候補がバサバサ減っていきます。もし「お前は俺か?」と思った人は、Gravを試してみることをお薦めしておきます。そうでない人は、この先読む必要はなさそうです。

  • DB不要で、導入が容易な、軽量CMS
  • XREAのようなウェブホスティングにも簡単に導入できること
  • 自分以外にもコンテンツをいじらせたいが、サーバにログインさせたくはないので、ウェブ画面上でコンテンツ管理できること。
  • ページの記述はなるべく標準的なフォーマットがよく、できればMarkdown対応のエディタがあるとよい
  • 自動生成された英数字の羅列などがURLに含まれないように、管理者が手動で命名・固定したURLが使え、他サイトから各ページを参照しやすいこと。
  • トップページをCMS管理下に置いても、既存コンテンツのツリーをできるだけ維持し、共存させられること。(過去に別のCMSを使っていた場合はこの限りではない)
  • ファイルのツリー構造がURLと対応付けられた、フラットファイル型CMSであること。
  • CMSのトップページの位置をサイト内で変更しても、コンテンツ内の内部参照リンクを変更しなくても済むこと。
    (例えば example.com/cms/ から example.com/home/ にリネームするような場合)
  • コンテンツのバックアップがとりやすく、ファイルシステム上でコンテンツの抽出や修正が可能なこと。(コンテンツがDBの奥底で触りにくいようなシステムは論外)
  • 軽量といっても、それなりに拡張性があると嬉しい。
  • 静的コンテンツの生成ができると、なお嬉しい。
  • 外国人でもコンテンツ編集できるように、海外でもメジャーなものだと嬉しい。日本語の情報もそれなりに欲しい。
  • 最近でもきちんとメンテナンスされていること。

どうでしょう。二分木みたいに、候補が急速に減ったのではないでしょうか。

 

インストールは容易 (のはず)

XREAの場合

XREAへの導入は恐ろしいほど簡単でした。

https://getgrav.org/downloads にある Grav Core + Admin plugin のURLをコピーしておき、XREAのサーバにsshでログイン、

 $ wget <コピーしたURL>

を実行すると、バージョン名のファイル (例えば 1.7.9) ができます。これはZip形式なので、

 $ unzip ファイル名

で展開し、ディレクトリ名を適宜変更すれば、ファイル一式の導入は完了です。XREAのコントロールパネルからPHP74を有効にして、展開したディレクトリに対応するURLの後ろに admin/ を付けてブラウザからアクセスすれば、初期設定画面が現れます。

Linuxの場合

Linuxというか、Apache2の場合ですが、環境によって千差万別なので、マイ備忘録だけ残しておきます。

openSUSE Leap 15.2に導入してみましたが、落とし穴が幾つか。

まず、Apache2がインストールされていても、PHP7は別パッケージなので、zypper install apache2-mod_php7 が必要です。他のディストリビューションでは、使うツールが違います (aptなど)。

yastHTTPD設定ツールは、折角設定したvhost.dを壊してしまうなど、色々と面倒くさかったので、使わない方が無難です。PHP7を有効にするには、/etc/sysconfig/apache2 の中の APACHE_MODULESに php7 を追加します。

バーチャルホストの設定で、PHP7の設定ファイル /etc/apache2/conf.d/mod_php7.conf をIncludeする必要があります。

<Directory ...> セクションの中で、

  AllowOverride All
  Options FollowSymlinks

の設定が必要です。このFollowSymlinksを忘れていたら、管理画面がブランクのままで、かなりの時間を溶かしました_(゚。3」∠)_

「私はドキュメントをよく読みませんでした」の札を首から下げている……

 

[2023/10/18追記] 別サイトを立ち上げるために久しぶりに初期設定から始めていたら、またもや管理画面がブランクのまま🫠 httpdがUID=wwwrunで動いているので、rootでunzipしていたらダメという話でした (忘れがち)。Gravを展開したディレクトリで chown -R wwwrun:www . して、無事に動き始めました。

 

設定の色々

テーマとカスタマイズ

気に入ったテーマをインストールして、そのまま使ってもよいでしょう。もし少しカスタマイズしたければ、下の「参考になったサイト」を参照して、ベースになるテーマの複製を作り、それをいじるとよいでしょう。(こういった方向性を示してもらえるだけで、ありがたいのです)

[2022/7/18追記]
参考になったサイトが404になっていたので、備忘録のために、自分で書きます。例えばテーマquarkをコピーしてmyquarkを作るには、以下のようにします。

  • usr/themes/quark の中身をごっそり usr/themes/myquark にコピーする。
  • usr/themes/myquark に入って、quark.php と quark.yaml をテーマ名に合わせてリネームする。
  • myquark.php を編集して、class 定義にある名前を myQuark に変更する。
  • blueprints.yaml を編集して、冒頭にある name: を myQuark に変更する。slug: を myquark に変更する。

タイトルの設定

真っ先にサイトのタイトルを変更したいと思いますが、これは管理画面のスパナのアイコンから、Configuration - Siteで設定できます。

ロゴとfaviconの設定

ヘッダーがGravのロゴのままでは恥ずかしいので、変更します。これは、テーマ設定の中にある Header Defaults, Custom Logoに画像をアップロードすれば変更できます。Mobile Custom Logoにも画像を入れておかないと、スマホで閲覧したときにGravのロゴのままになってしまいます。

ブラウザが使うアイコン、つまり favicon.ico も、すぐに変更したいでしょう。user/themes/<テーマ名>/images/favicon.png があるので、32×32画素のPNGファイルを作って、上書きすればよいようです。管理画面でキャッシュをクリアして反映。別の名前のファイル名にしたければ、templates/partials/base.html.twig を編集して、ファイル名を変更すればOK。(管理画面のどこかに、faviconを変更するところがあるかもしれませんが、未確認)

既存ファイルの同居

Grav管理下のディレクトリに、適当にサブディレクトリを掘ったりして既存のHTMLファイルなどを置けば、従来のURLのままでアクセスできるようです。Gravのファイル名やディレクトリ名とぶつかるとダメですが。

フォントを大きくする [2022/7/18追記]

標準のスタイルではフォントが小さすぎる気がします。少し大きくするために、user/themes/myquark/css/custom.css に以下のように書いてみました。Gravとブラウザのキャッシュをクリア (そのページだけリロード) しないと反映されません。

@media screen and (min-width: 480px) { html { font-size: calc(18px + 4 * ((100vw - 480px) / 800)); } }
@media screen and (min-width: 1280px) { html { font-size: 24px; } }

 

参考になったサイト

以下のサイトが参考になりました。

 

感想

日数も浅く、まだあまり使い込んでいないのですが、率直な感想は「ちょっと動作がトロいかな」といった程度です。静的コンテンツはまだ試していません。

 

Windowsによる無線LANパケットキャプチャ不親切ガイド

方向性を示すだけの不親切ガイドです

Windows無線LANのパケットキャプチャをしようと思って、色々と情報を漁ってみても、これが、まともに動く環境が出てこない出てこない……。「パトラッシュ、僕はもう疲れたよ」と言いたくなった人、それなりにいらっしゃるのでは?

やりたいこと

  • 無線LANトラブルシューティングの目的で、他の端末の無線LAN通信のパケットをキャプチャしたい。
  • モバイル用のメイン環境がWindowsノートなので、できればWindows上で実現したい。
  • 有線・無線とも定番のWiresharkで解析できるとよい。キャプチャだけ別環境でも仕方ないが、可能ならばWireshark上でそのままパケットを収集・観測できると嬉しい。
  • 5GHz帯も見たい。11acにも対応したい (今回は未確認)。
  • 製品なら高価なものがあるが、なるべく安上がりに実現したい。

要するに、Windows上で容易に、monitor mode (promiscuous mode)でキャプチャできる環境が欲しいということです。

MacOSなら簡単らしいのですが、追加で持ち歩きたくはないし、何よりもMacを買うつもりはないので。

 

Windowsでmonitor modeでキャプチャする方法

Windows上です(嘘は書いてないのでヨシ!)。

実は、散々調べた結果、Windows上のネイティブプログラムだけで無線LANをキャプチャする方法は、高価な製品を買う以外は困難という結論になりました。結果的に、最も楽だったのが以下の環境です。要するにこれが結論です。

  • Windowsだけでmonitor modeでのキャプチャは、きっぱりと諦める (その方が圧倒的に早道)。
  • Windows 10にVirtual Boxを導入し、Kali Linuxを走らせる (ズル)。
    Kaliは、VirtualBox用のVMイメージ(.ova)をダウンロードして、VirtualBoxにインポート、あとはVMを起動するだけで使える。
  • Kaliで対応できるWi-Fiアダプタを探してくる。
    (RTL8811AU使用のTP-Link T2U v3とT2U Nanoは使えました)
  • Kaliに対応する無線LANドライバを導入する。
    (apt install realtek-rtl88xxau-dkms など)
  • USBドングルの場合、Kaliの device>USB メニューでアダプタをアタッチする。
  • Kaliに必要なツールをインストールする。
    (wireshark, aircrack-ng, airgraph-ngなど、必要に応じて)
  • sudo -sでルートになってから、airmon-ngを使ってモード設定する (monitor modeやchannelなど)。これを忘れるとWiresharkにパケットが流れてこない。
  • airodump-ngでキャプチャして、パケットをファイルにダンプする。
    または、Wiresharkから直接パケットキャプチャする。

 

コマンド例

なにしろ不親切ガイドなので、細かい説明はしません。

無線LANアダプタを接続後、wlan0などのデバイスができていることを確認します。
# iwconfig

無線LANバイスの詳細の確認は以下のとおり。
# dmesg
# iw phy

アダプタをmonitor mode、channel 11に設定するには、以下のとおり。デバイス名は認識されたものに合わせる。
# airmon-ng start wlan0 11

コマンドラインからchannel 11のパケットをキャプチャする場合、以下のとおり。ファイル名は適当に付ける。CTRL-Cでキャプチャ停止。
# airodump-ng --channel 11 --write captFile wlan0

Wiresharkで直接キャプチャしたければ、認識された無線LANバイスを指定してキャプチャ開始すればよい。

 

Windowsだけではどうしても無理?

色々なドングルを集めて、散々試してみたのですが、何の成果も得られませんでした!

以下、暇がある人向け情報です。

Windowsにはnpcapというキャプチャ用ライブラリがあり、これを使うとmonitor modeでもキャプチャできそうなことが書かれているのですが、これがさっぱりさっぱり……(はっ)。

自分の端末で接続中の無線LANバイスを流れるパケットなら、Wireshark付属のnpcapで簡単に取得できます。しかし、monitor modeが使える無線LANアダプタはかなり限られています。キャプチャの設定の際に、monitor modeのチェックボックスが現れないと、他端末の通信を傍受することはできません。

定評があるのはRalink (MediaTek)のチップを使ったもので、NETGEAR A6210は定番の一つのようです。しかし、現在Wiresharkに添付されていたnpcap 1.1ではmonitor modeに入れても全然パケットがWiresharkに流れてきません。Realtek製も色々と試してみましたが、そもそもmonitor modeがなく、全滅でした。

色々と試した結果、npcap 0.922まで遡ったら、A6210で何やらパケットが流れてきたのですが、どうもきちんとキャプチャできていないような感じ。Buffalo WI-U2-300Dも似たような感じで使い物にならず。

研究室の棚から発掘された(笑) AirPcap Nxは、11nまでしか対応していなくて残念。それより、やはり満足にキャプチャできない感じでした。

Windowsで使えそうなものに、Acrylic Wi-Fiという製品があるのですが、やはりアダプタを選ぶようです。 (参考: いけりりさんの製品紹介)

ちなみに、AcrylicでrecommendedになっているTP-Link T9UHは、npcapでもKaliでも認識されませんでした。

 

Kaliで使えた / 使えなかったアダプタ

うまく動いている(と思われる)アダプタは以下のとおり。

TP-Link Archer T2U v3 (バージョン違いはチップ違いなので要注意)

TP-Link Archer T2U Nano

TP-Link Archer T2U Plus

Buffalo WI-U2-433DM

Buffalo WI-U2-300D

CACE AirPcap Nx

※ USBハブ経由では動かないドングルもあります。

 

使えなかったアダプタは以下のとおり。

NETGEAR A6210 (MediaTek MT7612U使用のLinuxの定番だが、Kaliで認識に失敗する)

TP-Link Archer T9UH

TP-Link Archer T3U

 

LinuxでもOpenWrtでも何かと苦労するTP-Link製品の方がまともに動いて、ちょっと驚いていたりします。T2U Nanoは小さいので、ノートPCにセカンダリアダプタとして付けておくと、何かと便利です。

 

 

 

OpenRoamingに参加するには (事業者向け)

「openというぐらいだから、OpenRoamingは誰でもサービス提供できるローミングシステムですか?」ー いいえ、参加には色々と条件があります。

(IT方面のopenやfree、simple、lightweightなどを文字通りに信じてはいけないと学びませんでしたか?SOAPLDAPの方を眺めながら……)

OpenRoamingのローミング基盤に自前の基地局や認証サーバを接続するには、事業者としてWBA OpenRoamingに参加する必要があります。通信事業者であれば、個人事業者でも大丈夫でしょうが、法人ではない個人で参加するのは無理です。

つまり、OpenRoamingは、昔あった「Fon」のようなコミュニティベースのローミングシステムではないということです。

「openじゃないやん!」

事業者や自治体、学校などがOpenRoamingに参加するには、どうしたらよいのでしょう。まだ流動的なところもあるのですが、現状での参加方法をまとめてみます

(面倒ですか?Cityroamに参加すれば、WBAとのやり取りもなく、簡単にOpenRoamingに乗れますよ(・∀・)ノ )

 

OpenRoamingの参加形態

要するに、Passpoint対応の無線LANシステムを運用できる事業者であれば何でもよいのですが、ざっくり分けてみると以下のとおりです。

  • 通信事業者
  • ローミングフェデレーション (eduroamやCityroam, govroam, Publicroamなど)
  • 販売・サービス大手 (ホテルチェーンなど)
  • 自治体 (公衆無線LAN事業)

ホテルや自治Wi-Fiでは、裏に無線LAN事業者がいることが多く、その場合はOpenRoamingに直接参加していないことがあります。

OpenRoamingの認証連携ネットワークは、RADIUSのトランスポートであるRadSecと、認証サーバの所在を探索するためのDynamic Peer Discovery (DPD)の組み合わせをベースに、構築されています。OpenRoamingサービスを提供したい事業者は、自前の基地局や認証サーバを、OpenRoamingの認証連携ネットワークに接続する必要があります。また、RadSecの接続には、WBAIDと呼ばれる、通信事業者やフェデレーションなどを識別するためのIDを取得する必要があります。

hgot07.hatenablog.com

通信事業者や各種組織がOpenRoamingに参加する形態は、概ね以下のとおりです。

  • WBAのメンバーになる
  • WBA OpenRoamingのエージェントと契約する
  • OpenRoamingのサービスを提供しているベンダと契約する
  • OpenRoamingに参加しているフェデレーションに参加する
  • OpenRoamingに参加している事業者のパートナーや下請けになる

以下、それぞれについて説明していきます。

 

WBAのメンバーになる

WBAのメンバーシップのうち、ローミングに参加しやすいように作られたImplementer memberが最も安価です。安いといっても、入会費と年会費がそれなりにかかります (執筆時点で各3,000USD)。

WBAのメンバーになると、WBAIDを無償で取得できます。

RadSecの接続には、サーバ証明書 (認証サーバ側)、クライアント証明書 (基地局側)、または両方が必要になりますが、これらはOpenRoamingから委託されている中間CA (I-CA)事業者から買う必要があります。

契約からシステム構築まで、基本的に自前で行うことになります。

 

WBA OpenRoamingのエージェントと契約する

OpenRoamingのエージェントと契約すると、そのエージェントのMainIDにSubIDを付加したWBAIDを取得できます。

様々な形態のエージェントが登場してくるでしょうから、料金もまちまちでしょう。

その他は基本的にWBAメンバーと同様の扱いになりますが、もし国内にエージェントがあるなら、契約が楽になる可能性はあります。

 

OpenRoamingのサービスを提供しているベンダと契約する

例えば、Cisco DNA Spacesや、Mist (Juniper Networks)には、設定画面のチェックボックスや選択肢だけでOpenRoaming周りの設定ができる仕組みが用意されています。これにより、DNA SpacesではRadSecなどの設定が不要、MistではPasspointの設定が不要(RadSecは別途必要)となり、既存の基地局や認証サーバを容易に接続できるようになります。

これらのベンダが、もしWBAIDを提供するエージェントの役割も持つならば、ベンダとの契約のみでOpenRoamingに乗れるようになるでしょう (ビジネスがまだ流動的です)。

 

OpenRoamingに参加しているフェデレーションに参加する

自機関が所属しているローミングフェデレーションがOpenRoamingに参加しているならば、そのフェデレーションを通してOpenRoamingのサービスを実現できる可能性があります。

eduroamはWBA Contributer Memberです。大学や学校など、eduroamに参加している教育・研究関係は、eduroamを介してOpenRoamingに接続できるようになります (各国で対応状況が異なる)。世界各地のOpenRoaming基地局で、自機関の構成員のアカウントを使えるようにする仕組みが、開発されています。

反対に、学校などの基地局で外部のOpenRoaming利用者を受け入れることも、技術的には可能です。ただし、実現するかどうかは各国のeduroam運営母体の判断次第です。

 

国内のセキュア公衆無線LANローミング基盤であるCityroamが、OpenRoamingの初期サポータの一つとして参加しました。Cityroamは、Implementer MemberとしてWBAに参加し、OpenRoamingでは世界で3, 4番手の実用化実績を持っています。

国内の通信事業者や自治体、フリーWi-Fi事業などは、Cityroamフェデレーションに参加することで、OpenRoamingとの連携が可能です (年会費が必要となります)。OpenRoaming周りの契約や技術調整はCityroamが代表して行っており、参加組織の技術的な負担が小さくて済むというメリットがあります。

Cityroamでは、小中高を含む学校へのeduroam・Cityroam・OpenRoaming導入(一部のみでも可)も支援しています。

 

OpenRoamingに参加している事業者のパートナーや下請けになる

既にOpenRoamingに参加している事業者と協働して、OpenRoamingのサービスを提供する方法です。パートナーの通信事業者としてシステム運用を代行したり、システムインテグレーションから運用までを代行する方法などがあるでしょう。

(執筆時点で、国内に該当する事業者はまだ見当たりません)

 

以上要するに、執筆時点ですぐに実現できるのは、自前でWBAのメンバーになる方法と、Cityroam経由で接続する方法の、二択となります。

 

おわり

HDMI接続のHDDレコーダの電源が勝手に入るのを止めたい

うちで使っているBD/HDDレコーダ、HDMIでTVに接続しているのですが、TVの電源を入れると勝手にレコーダまで電源が入ります。

「TVの電源を入れるだけで、ホラこのとおり、周辺機器の電源が入って、入力端子も切り替わります!」……なるほど、こりゃ便利……んなわけない!・・・・・(ノ`Д´)ノ彡┻━┻

TVの電源を切っても、レコーダの方は切れないので、いちいちレコーダのリモコンまで手を伸ばして切らないといけません(◞‸◟)

とりあえず他の機器の電源を入れて、立ち上がるまで今の機器を使い続けたくても、入力がひったくられてしまいます_(゚。3」∠)_

要するに、HDMICEC (Consumer Electronics Control)という機能が効いているので、これを切ればよいのです。なんと国内大手メーカーのこのTVとレコーダ、いくら探してもCECを切るオプションが見当たらないのでした。

それで、10年以上経った今さらですが、こんな製品があることを知りました。1,000円弱か、ちょっと高いかな、と思いながらも他の買い物のついでにポチり……。見事に解決されました。 

 

4Kには対応していないようです。うちのFullHDでは問題なく使えていますが、レビューによると少し相性もある?

 

それにしても、CECの無能な働き者、おせっかい機能のために、10年以上も不便を強いられてきたのかと思うと、やりきれません。気付いた時点で速攻で売り払えばよかったのかも。

技術者か製品企画者か知りませんが、これをヨシとした人、毎日ティッシュの箱をうっかり素足で踏んでください><