スマートフォン 表示
メールフォームでよろづ質問受付中
スマートフォン速度統計への人柱ご協力をお願いします。

石川先生の2.5GHz最強説についてツイートで軽く補足しようかと思っていたのですが、案外長くなりそうなので記事を一つ起こすことにしました。

さて、記事では「2.5GHzを先んじてゲットしたKDDI/SBMがそれを良く活用しており、2.5GHz帯の世界的エコシステムも整ってきたから最強のバンドなのかも」という感じの説が展開されています。これに関しては私は全く否定するところはないですし、以前私が「ドコモがなぜ品質が悪いのかのデータ見ちゃった」とつぶやいたのもこの件です。

ただ、私がそのデータを見たとき、もう一つ重要な背景が含まれてる、と感じたので、補足というか補強というか、そういう説明を改めてしておきたいと思うのです。単にいい感じの周波数ですよ、というだけではないのです。あくまでこれは私の仮説なので、これが正しいを言い張るつもりはありませんが。

さて、世の中、低い周波数と高い周波数というのがざっくりとあります。2.5GHzというのはちょうどその中間くらいではあるんですが、おおよそ、2GHz以下は低い周波数、それ以上は高い部類、くらいに考えておきます。で、高い周波数は飛びにくい、ちょっとした遮蔽でも止まっちゃう、という話はあまりに有名すぎる話なので理屈は省略しますが、とにかくそういう性質があるので、逆に、高い周波数はそもそも小さなセルになるように設計します。

こんな感じで、低い周波数で広いエリアを実現し、高い周波数をその上に重ねて通信容量を稼ぎます。基本的に携帯電話のエリア設計はこの応用で、東京都心部なんてのはすさまじい数の周波数が飛んでいますが、ど田舎のへき地ではいわゆるプラチナバンドしか飛んでない、なんてことになっているのが普通です。また、キャリアアグリゲーションなどの技術が向上したので、低い周波数を使いながら高い周波数をサブにくっつけて高速通信することもできるようになっていますので、割と柔軟に「ここは使う人多くて品質下がって来たあな、よし、周波数足したろ!」みたいな感じで品質向上施策を打つことができるようになっています。

また、これも原則論として「高い周波数は帯域幅も広いので容量もめっちゃ大きい」というのがあります。というのも含め、「容量が厳しくないところは低い周波数だけで効率よくカバーしつつ、使う人が多いところは大容量の高い周波数をガツンと置く」という戦略が成り立つわけです。

では、こんなエリアの中を端末が移動していくとどうなるか。

こんな感じで、低い周波数はべったりと塗ってあるけど高い周波数は飛び飛び、みたいになっている場合です。

こんな風に、「容量の大きい高い周波数が見えたらそっちに飛び乗って、見えなくなったら飛び降りる」という動きをするでしょうか。実際にはそういうことをする場合というのは結構レアです。

一つ目の切実な理由が、「飛び乗ったり飛び降りたりする」というのは「周波数間リセレクション」「周波数間ハンドオーバ」という動作になってしまうため、周波数サーチのために結構時間がかかるということに加え、ハンドオーバはまだしも、リセレクションの場合は「本来必要のなかった制御チャネルの通信が発生してしまう」という問題が出てきます。LTEといえど制御チャネルとデータチャネルは分かれていて、制御チャネルは容量を増加させるための各種技術がほとんど使えません。つまり、制御チャネルは容量が小さい。データチャネルを削って容量を増やすこともできますが、制御チャネルの容量を1ビット増やすためにデータチャネル容量を5ビット削る、みたいな無駄が生じます。ということで、エリアを設計するとき、特に「どの周波数帯で待ち受けするか」という設計では、こういった無駄を減らすためになるべく一続きの周波数に居続けるような設計をすることになります。

もう一つの理由は、そもそもキャリアアグリゲーションで高い周波数を後から足せるので、無理に高い周波数に飛び乗る必要はない、ということです。キャリアアグリゲーションという強力な武器があるのに周波数間リセレクションなんていう無駄なことをする必要はないよね、という話ですね。

ということで、ドコモのエリアはこのセオリー通りのエリアになっているようです。端的に言うと「高い周波数で待ち受けしない」というポリシー。で、この「待ち受け周波数」というのは、データ通信を始めようとした最初の瞬間に接続されるファーストステップの周波数であり、データ多いからキャリアアグリゲーションで周波数足すか、という判断がされるまでの間のつなぎで使われる周波数でもあります。

だんだん見えてきましたね。そうなんです。ドコモは、800MHz帯や1.7GHz帯という低めの周波数になるべく滞在するようになっているため、大概の人が最初の通信をその辺の周波数で始めてしまいます。当然、最初のちょっとの間だけとはいえ、ユーザ数が多ければバカになりません。通信のしはじめでやたらパケットが止まるのはおおよそコレ。

加えて、5G対応端末であればすぐに5G周波数を足してあげようという動作もしようとします。この5Gがまた曲者なんです。もうお分かりかと思いますが、5G周波数は高い周波数で、上の図のように飛び石エリアになってるんですね。しかし、低い周波数のセルは「このセルは対応する5Gのセルがあるよ」という情報しか持ってないので、端末に5Gが実際に見えるかどうかサーチさせて5Gを足す動作を判断します。サーチする、飛び石の端っこが見える、見えるから足したろ、5G足したんだからデータは全部そっちに流したろ、足してみたら結構品質悪くて全然データ流れんやん、というのがパケ止まりの正体。何しろ飛び石がダメなんです。

その理屈だったら、KDDIもSBMも同じでしょ? という話になるんですよね。ここで、件の2.5GHzが登場します。実際の2.5GHzはですねえ、だいたい、こんな感じになってます。

みっちり。

で、ここからが2.5GHz独特の特徴なんですが、えーと、2.5GHz帯は、携帯電話ではありません。WiMAXとかXGPとか言ってたアレ、すなわち、「BWA(ブロードバンドワイヤレスアクセス)」という携帯電話とは別のシステムなんです(法的には)。そして、建前上、BWAはそれ単体でサービスを提供できなければなりません。また、BWAは「時速○○kmの移動でもちゃんと使えるよ」という宣言を最初にしています(細かい数字忘れちゃった)。そういう約束で周波数をもらってるんですね。つまり、BWAはBWAだけできちんと高速移動を担保できる連続したエリアを作らなければならなかったという事情があったんです。当然、BWAバンドでの待ち受けも必須要件です。このためにUQとかWCPとかはめちゃくちゃ汗かいてるはずなんです。

さらにここに5G事情の後押しが入ります。5GはBWAとはまた別の話じゃん、と思われるわけですが、一方、5Gのエリア構築を進めるときに、5Gのためだけに電波塔を建てるか? という話です。いや、電波塔とは言っても都市部ではビルの屋上の間借りとかではあるんですが、そういう場所を新しく準備するには、大都市中心部のビル屋上は枯渇しすぎ。ということで、KDDIとSBMがとった手段は、BWAの基地局が置いてあるところを使っちゃおう、というアイデア。で、「高めの周波数は飛ばないのであえてセルを小さめに設計する」というのがここで活きます。あえて小さく設計したセルは、BWAより高めの5G周波数にもマッチするんです。つまり、5Gでもみっちりカバーができるんです。だから、飛び石の端っこをつかんでパケ止まり、ということが起こりにくい。5Gの大容量を効率よく使える。2.5GHz自体の容量は大した問題ではなく、その場所に5Gの超大容量周波数をみっちり展開できた、これがKDDI、SBMの品質が良い理由なんです。

そして最後の決め手は、端的に言えば各社のポリシーの問題。「連続的にみっちり確保できないのであればできるだけ低い周波数だけで待ち受けさせよう」というドコモに対し、KDDI、SBMは「高いところもみっちり確保できる前提で高い周波数で待ち受けさせよう」になってるんじゃないかと思うわけです。なので、高い周波数や5Gを足すという動作を省けるし、低い周波数がファーストステップ通信でつぶされるということを防げている、というあたりが体感品質の差になってる気がするなあ、というところまで、当初データを見たときに感じたわけです。

ということで、私の説は、「2.5G TD-LTEが最強なのではなく、それを展開するときに余計な汗水を流したことが5Gエリア構築で活きてる」なのです。

という感じで補足をさせていただきました。

tweet TWEET

無線にゃん、ここ数年大規模通信障害を起こし、まことにもうしわけ

という話ではなくて。昨日のauとか、去年くらいのドコモとか、大規模通信障害というやつが起こっていますね。しかも、起こったらとことん大規模。

実際、この辺は避けようがないというのが実態だと思うんです。そもそも論ですが、携帯電話ネットワークというのは、どういう風に作られているのか、というと、超たくさんの基地局をたくさんの制御局に収容してそれらをほどほどの数の交換局に集約して、みたいな感じに作られているものですよね。LTE以降、この辺はIPアクセスによるフラットなネットワークを志向、なんていうことも言われていますが、実際に物理的にネットワークを作ろうとすると、どうしてもどこかに「呼処理」が集中するポイントが生じてしまいます。

呼処理というのは、簡単に言えば、ある携帯電話が正当なものであることを確認しその通信要求が正当なものであることを確認し適当なポリシーのもとに通信リソースを割り当てる、一連の処理のことです。ある一人の加入者が全国どこでも使えるようにする、という要求を満たす場合、すべてのネットワークノードは必ずつながっていなくてはなりません。さらに、その加入者の通信オプションや課金を正しく扱うためには、その加入者の情報がすべてのノードで整合性ある形でアクセスできなければなりません。今回のauの障害でもキーワードで出てきた、加入者情報の不一致云々、の話です。

仮に加入者情報サーバを二重化していたとしても、その二台のサーバの間に「データの不整合」が生じてはならないので、二台の間では常に整合性のためのやり取りが行われます。また、今回の障害の原因と言われているVoLTE交換機(IMS)も同じように「ある加入者の唯一性」を保証しなければ正常な処理はできません。そうした唯一性の保証が必要なサーバ類をたくさん置いて障害が起きても一部にしか影響が出ないようにする、というのは当然どこのキャリアもやっているわけですが、では、それらのサーバ間を直接メッシュ接続できるか? というと、そんなことはもちろん無理です。メッシュ接続というのは、例えば2台と3台のサーバ群同士をつなげる場合、6本の線を直結させる、というやり方。今や加入者情報サーバだのIMSだのは何十台という規模で、メッシュ接続するとなると数百本の接続が必要になります。もちろん、論理的にこれができることは当然ですが、じゃあ物理的にできるか、というと、一つの筐体に何百本のケーブルをつないでそれぞれが独立した回線で全国につながる、なんていうことは無理です。回りくどく書きましたが、物理的にはどこかで集約するための巨大なルータ的なものに入ることになります。このルータにはもちろんその他いろんな通信が論理的には別々の回線のようにふるまいながら収容されています。

さて、もしこのルータが壊れたら。当然、このルータも冗長化されていますから、即座にスタンバイ系に切り替わるわけで、一見、あらゆる呼処理が集中していても問題がないように思われます。ただ、この冗長化した二台のルータは、つながっています。比喩でもなんでもなく、冗長、というのは、その二台を束ねる何らかのコントローラの上で成立するものです。このコントローラ機能は、古くは独立した装置だったりしましたが、最近では二台のルータ間やルータの下位ノードとの間で成立している冗長化プロトコルのステートマシンという論理的な存在が担っています。なんにしろ、その二台の状態を把握して障害時に正しく切り替え処理を行う頭脳の役割が存在し、それを介して必ず冗長した二台のルータはつながっている、ということです。

そしてこの頭脳そのものは、冗長化できません。だから、もしこの頭脳に何らかの変調が起きると、冗長機能が働かなくなります。もちろん、その状態でもルータ自身が正しく動いていれば問題ありませんが、この頭脳が変調を起こすような設定の誤りやバグというのは、えてして、片方のルータが落ちたときに顕在化するものです。つまり、あらゆる呼処理が集中しているルータ自身、どんなに完璧な冗長を組んだとしても全台破綻、ということがありうるわけです。これは隕石が落ちてくるほどの低い確率ですが、でも実際に隕石は落ちてくる。だから、そうした事態に備えた訓練を各キャリアは欠かさないわけです。

こうした呼処理が集中する場所で通信断が起きると、先ほどの「唯一性」と「整合性」を重視するサーバたちは一斉にうごめき始めます。データの不整合が発生した可能性がある以上、何とかして最新の情報を得なければならないからです。また、そういった状態になると、端末側も通信の接続や再開ができないために、何かあったのかもしれない、ということで、通信の手続きを最初からやり直そうとします。こうしたことが雪だるま式に膨らんでいくことで設備の処理能力が枯渇し、なおかつ「唯一性」に自信が持てなくなった各種ノードは通信手続きをやめてしまうわけで、大規模な障害に至るということです。

こうした大規模な障害を回復させるには、まず、入ってくる量を減らすところから始めます。つまり、基地局で「規制」をかけます。これで、端末が何度もアクセスすることを防ぎます。次に、「唯一性」と「整合性」を回復させなければなりませんが、これも、冗長を組んだたくさんの装置を一台ずつ同期させていくという地道な作業になるはずです。なおかつ、その同期させようとするデータが大きすぎるとこれまた設備負荷になり、安全弁が働いて途中で止まり、芋づる式にデータすべてが再び不整合、なんていう面白いことが起こったりします。面白くないですねすみません。そんなことを考えると、一度集約部分で混乱が起きるとその終息にどのくらい時間がかかるかというのは全く誰にも読めない、と思われるわけです。

実際、最近は小規模な障害は比較的減っていますが、ごくまれにこういうどでかいのが起こる感じですよね。それは、障害を防ぐ仕組みがどんどん進んでいるから、ということの裏返しでもあります。標準化でも障害耐性というのは大きなテーマで、障害を防ぐ、障害が起きた時も小規模で済ます、起きた障害が速やかに収束する、そうした仕組みを標準の中にどんどん作り込んでいるので、実は日常的に小さな障害は起こってるんだけど利用者にばれるほどにまで大きくならない、みたいなところはあります。で、最後に残ったのが、こういう物理的にドカンとくるやつ。こういうのもしっかりと機能と収容加入者数をばらして分散化していけばいいわけですが、いかんせん、「唯一性」の問題があり、どこかにどうしても集中する場所が生じることになります。仮にそういうのを物理的にばらして置いたとしても、その物理的に離したサーバの間を加入者が移動するような場合には情報を交換する必要があるわけで、やっぱりそこでは最低二台の間での集中は起こります。ついでに言えば、昨今の官製値下げの影響で、各社ともぎりぎりまで設備を集約して効率化しようと頑張っています。三社ともアホみたいに利益を出しているように見えますがそれぞれがそれぞれに帳簿上の利益を減らせない大人の都合があってしわ寄せは設備投資に向かうわけです。

こういうことが起こらないようにするにはどうすればいいのか? という話については、まあぶっちゃけ、完全に物理的に隔離された冗長ネットワークがあればいいんじゃね? ってことになります。簡単に言えば、別キャリアです。もちろん別キャリアにしてローミングで救済する仕組みにしても、そこに「ローミング接続」があったら無意味です。なので、ローミング情報も何らかの形で隔離して持っていく必要があります。13桁のパスワードをかけたUSBとかで。というのは冗談にしても、実際、一つのキャリアの全域である加入者の唯一性を保証するという条件でネットワークを物理的に分断することはできないので、最悪他キャリアにローミングできる仕組みを全キャリアでしっかりと話し合った方がいいよね、と私は思うのです。もちろん、大障害の時にローミングアクセスが集中してローミング先も落ちた、なんていう本末転倒なことは必ず起こるので、ローミングでの利用については相当に絞った形にするしかないでしょうが。で、そのローミング利用料をお互いに払うようにすれば、ある意味、障害のリスクをカネで解決してるわけですから、お互いいろいろと楽になるよね。

ということで、無線にゃん、今後一切このような長期間の障害を起こすことのないようしっかりと見直しを・・・いや、別にしなくていっか。ではまた来週か来月か来年か♪

tweet TWEET

 ロシアが近々、インターネットを完全に遮断するというニュースがありました。そんなこと本当に可能なんでしょうか。

 結論から言うと、理屈上は可能です。が、条件付きで抜け穴は作れます。

 インターネットが相互に通信できている核となっている技術は、ルートDNSサーバの存在と、経路広報の仕組みです。

 ルートDNSは世界に13個ぐらいしかない、最大の権威を持つDNSサーバで、事実上すべてのドメイン名の解決の「根っこ」になっています。近隣の権威サーバでたいていは事足りますが、国をまたぐようなドメイン名の解決ではまれにこのルートDNSが解決の役を果たすことになります。逆に言うと、最後の最後にはルートDNSが大岡裁きをしてくれることがインターネット上の他のDNSサーバの権威を支えているということです。

 ではロシアはそのルートDNSへのアクセスまでも遮断してしまって通信は成り立つのか? という疑問については、成り立ちます、と答えます。なぜなら、ルートDNSへのアクセスは遮断されているので、ロシア国内の権威DNSがルートDNSと同等の権威をもつことになるからです。どれだけ好き勝手な名前解決をしても上から怒られないんだから、やり放題です。google.co.jpというアドレスをロシア国内のてきとーなサーバのアドレスに読み替えるくらいのことをしてもいいですし、なんなら、トップレベルドメインが.ru以外のドメインは全部特定のアドレスに割り当てちゃえばいいんです。そのサーバにアクセスすると、「残念、それはプーチンのおいなりさんだ」とでも表示するようにしておけば。逆引き? 何それおいしいの? 逆引きが必要なのは(ユーザ・サーバ間の公平な)セキュリティを確保したいときくらいです。政府に都合のいい似非セキュリティを確保するためにインターネット切り離すっつてんだからセキュリティなんて確保するわけねーじゃん。

もういっこ、大切なのは、経路広報です。アドレスを解決しても、そのアドレスにパケットが飛んでいかなきゃならない、その時、大まかにこのアドレス帯はこのルータのこっちのポートの先にあるっぽいよ、とお互いに教えあっているのが、経路広報の役割です。この情報をもとに、パケットを受け取ったルータはバケツリレーでパケットを運びます。通常は、そのアドレスを持っている団体なりなんなりが自分の責任で「このアドレス帯域はここだよ」と隣のルータに広報しています。それを受け取った隣のルータが、必要なら他のアドレス帯域と併せてさらに隣のルータに伝達するわけです。

 じゃあやっぱりインターネットを遮断したらその広報情報も届かないからダメじゃん、ってなりますが、別にいいんです。だってそれやりたいんだもん。ロシア国内のルータのロシア国内からロシア国外に通じるすべてのポートをシャットダウンして、代わりに、そのポートで受け取っていた経路広報情報をあたかもロシア国内の別の場所にあるかのように偽装して広報すれば完了です。こうすることで、DNSを使わずにIPアドレスでアクセスしようとした人を、ロシア国内のてきとーなサーバに誘導することができます。そのサーバにアクセスすると、「残念、それはプーチンのおいなりさんだ」とでも表示するようにしておけば。

 という感じのことをやるんだと思いますし、実際に2019年末にそれらしい演習をやったらしいですね。詳しくはわかりませんが。演習の成果を出せる、とウキウキしている技術者がいっぱいいそうです。

 しかし。これは、ロシア国境を超える通信がIPである場合の話。非IP通信の場合は、そう簡単にはいきません。いや、インターネットっつってんだから非IP通信なんてありえないだろ、と思うことなかれ。

 一番強力で対処方法がないのは、イリジウムです。そう、あの衛星携帯電話の。あれ自体は、独自の伝送方式でポイントツーポイントで結んだトンネルの中にIPを通しているだけです。さらに重要なのが、イリジウムは衛星間通信を使って地球局がない場所から地球局がある場所へと伝送路をつなぐことができます。イリジウムが南極でも使えるのはそのためです。話題のStarlinkは、その方式がありません。あくまで、地球局から直接見える衛星を経由してユーザ端末との間でデータリンクを張る方式。なので、ロシア国内でStarlinkを使うためにはロシア国内にStarlinkの地球局を置くしかなく、その地球局が当局に抑えられたら終わりです。

 また、アナログな方法ですが、国際電話でモデム通信をする、という方法で逃れることもできます。電話は単なる音声ですから、IP遮断の対象ではありません。じゃあ電話も全部禁止ー、というところまで踏み込めるかっていうと、そこまではやり切れない気がします。フィンランド国境とかならアマチュア無線でIP交換やってる猛者もいるかもですね。

 実のところ、これに似た非IP的手法でいろんな通信をロシア国内外でやり取りしている会社は結構あると思います。衛星とか光ファイバとかで非IPの信号をやり取りしているパターンですね。今我先にとロシアから逃げ出している会社はまさにそういった会社なんじゃないですかね。拠点にロシア兵が踏み込んでくるかも、って状況では営業どころじゃないですからね。特に、データセンターを持ってる会社はやばいので、とっとと電源落としてディスク叩き割ってるんじゃないかな。

tweet TWEET
NFV
2019/9/4 10:00 · 技術動向, 技術解説 · 1 comment

楽天が携帯電話網構築で導入することで話題になっているNFV。Network Function Virtualizationの略らしいですが、これが一体なんなのか、という点と、私がちょっと疑問に思っている点を軽く紹介。

NFVのキモは、ネットワークの機能を仮想化することです。読んで字のごとし。ではここでいうネットワークの機能とは何でしょうか。

これはNFVのプラットフォームごとにいろんな考え方があるので一概にこれだとは言い切れませんが、スイッチ、ルータといった基礎的なネットワーク要素から、DNS、DHCP、NATといった応用的なネットワーク要素までをおおよそ含んでいるように見えます。

具体的にどのように仮想化するのか、というと、ざっくりというと、物理基盤の上に仮想基盤を動かしてネットワーク機能に特化したバーチャルマシンを作って動かす、という感じ。バーチャルマシン自体も汎用OSだったりするパターンもあったり、バーチャルマシンがネットワーク装置をそのままエミュレートしているようなパターンもあったり、なので、これまた一概に言えませんが、共通しているのは「物理的な計算リソースを仮想化して間接的に使う」ということです。

そんなもん何十年前からあった話や、とツッコミが入りそうですが、いや、実のところ、その通りなんですよ。ネットワークの仮想化自体は、20年前の技術でもちょっとしたノウハウさえあれば素人でもなんとか一つ二つは組み上げることができた程度のものなんです。オープンソースのスイッチ・ルータエミュレータだのDHCPだのDNSだのは仮想基盤の上で動くものができて久しいですし。

じゃあなんで今頃になってNFVが注目されるようになったのか。これは逆説的に、私がNFVを懐疑的に見てしまう理由になってしまうんですが。

単純に、性能です。

計算機の物理的な計算リソースの性能が桁違いに向上し、どうやらいろんな仮想ネットワーク要素を同時に動かしても何とかなるレベルになってきたところでNFVという話題が盛り上がって、主要なネットワークベンダもNFV製品をどんどんとリリースし始めた、というのが昨今の状況なんですね。

でね、私が懐疑的なのは、「そこまで計算性能上がってないだろ」ってことなんです。もう少し具体的に言うと、「1コア単位の性能」でみると、ハイエンドのスイッチやルータをエミュレートするにはまるで足元にも及ばないってことなんです。仮想化すると、最終的にはパケットバイパケットで「どのCPUコアが処理するか」が決まってきます。つまり、一つのパケットを同時に1コアしか処理できないんです。そんなもん瞬時の話やん、って思うかもしれませんが、例えば一般的なハイエンドのスイッチ製品、基本的にパケット転送を専用のハードウェアで処理していますが、何らかの理由で(スイッチ内部に搭載している)CPUのコアで処理しなければならなくなると、その処理性能は百分の一以下に落ちるんです。別にスイッチ製品だからと言ってボロCPUを使っているわけはなくて、1コアあたりの性能でいえば最新サーバ製品にさほど劣るものではありません。仮想化しているオーバーヘッドを無視したとしても、CPUでのパケット処理ってのは、ちょっと無理があるんじゃね、ってのが私の印象なんです。

いや、実のところ、ごくごく普通の企業向け製品であれば、全然問題ないと思うんです。そもそもから言えば、そういう「ハイエンドのスイッチ製品」なんて企業向けで使うわけないですもん。じゃあ、ハイエンドのスイッチ製品を使うのってどんな人? ・・・はい、ご名答。通信キャリアやデータセンター屋さんです。そういう人たちは、NFVをちょっとかじっては去っていきます。彼らの求める処理性能を一ミリも満たせませんから。もちろん、DHCPやDNSやFWなどの「もともとCPUで処理していた機能」に関してはガンガンNFV化しているようですが、それを言ったらデータセンター屋さんなんて「マシンを仮想化してナンボ」のプロですからね、やって当たり前のところをやってるだけ、NFVなんていう大層なお題目を掲げたりなんてしてないわけです。

ということで、楽天の言う「オールNFV化」みたいなのに、すごく疑問を持ってしまうんですね。そもそもeNB/EPC関連ノードなんて仮想ノード以外の製品をいまさら探すほうが難しいくらいですし、じゃあそんな大層なお題目を掲げてNFV化するのはまさかネットワークインフラ部分? えー、いくらなんでもそんなん無理やろ、なんて思っちゃうわけです。

何はともあれ、NFVと一言で言っても、「NFV化に適していない部分」ってのはまだまだ残っていて、不適部分を無理にNFV化するとコスパすっごい悪いよ、っていうお話なのでした。

tweet TWEET
2019/9/4 10:00 · 技術動向, 技術解説 · 1 comment

 キャッシュレス化には、懐疑的なんです。こんにちは無線にゃんです。

(なんだこの書き出しは)

 なんか政府肝いりでキャッシュレス社会がどーとか言い出して猫も杓子もキャッシュレスな昨今。キャッシュレスって本当に便利かな? なんていうベーシックな疑問からもっと深堀した課題まで考えを進めると、どうしても懐疑的にならなきゃならなくて。どうなんでしょね。

 キャッシュレス化を進めようとしている意図は、オリンピックとその先のインバウンドの拡大を見据えたものだろうことは容易に想像がつきます。現金って刷れば刷りっぱなしでそれ以降はコストがかからないもの、ではないんですよね。現金の回転数が増えれば損耗も増えますし、現金の流通範囲が広がれば偽造リスクも上がります。なんにしろ、使う人の数と範囲が広がることは日銀に負荷をかけることが分かっているので、そうした負荷を下げたい、という意図があるんだろうなー、と思うわけですけど。

 物理カード内部にセキュアに保存された電子マネー。まあ、これは分かる。現金代替物としてはたぶんこれが唯一にして最良のソリューションだと思います。使うための準備が面倒なんですけど。

 クレジットカード。これも、分かる。まあ、いろんなところに目を瞑って、なんとか認められる範囲。

 QRコード決済。ないわー(笑)。

 なんでこんな評価になっているのかというと、それは私が通信オタクだからです。

 電子マネーは、内部の電磁的な記録を、接触か非接触かで店舗の『金庫』に移し変えるものです。接触型であればほとんど心配は有りません。まあ、接触型電子マネーって逆に見たことないんですけど。非接触でも、NFC的な近接無線は結構な信頼度が有りますから、それほど心配していません。店舗の『金庫』にたまった電子マネーも、一日に一度かそのくらいで電気通信的な手段で口座に入金すればいいわけですから、現金を使っているのとほとんど同じです。仮にその一日一度の入金作業のときに通信が途絶しても、「じゃあ明日でいっか」で済むわけです。当然ながら、入金に使う通信回線はお店が自分で契約しているものですから、シビアな入金管理をしているなら、それなりに信頼性と補償の充実した回線を契約すればよくて、通信起因で一日入金が遅れたらその分の損害を補償してもらうくらいのことまでお店でコントロールできるわけです。

 クレジットカードは、支払い行為をした瞬間にセンターと通信して承認を取る必要があるため、通信途絶時に買い物が出来なくなるというリスクがあります。まあそれでも、昔ながらの『券面のカーボンコピー+サイン』って方法があるので多少決済が遅れても買い物が全く不能になるってことはないんですけど。でも、未だにクレジットカードの券面をガチャコンッとカーボンコピーできるアレ(名前知らん)を置いてるお店なんてあるんですかねぇ(笑)。もちろんそのときにはオンラインでの信用照会が出来ないので、偽カードも使い放題だし。『店を停電させる』→『偽カードのオフライン決済で買い物する』という攻撃が成立します(笑)。まあなんにしろ、ほとんどの場合はお店が用意した通信回線の信頼性に依存するということです。つまり、決済の信頼性も信用補償もお店が自分の裁量でほとんどコントロール出来るわけですね。

 QRコード決済には、大きく二通りのやり方があります。『お店の印字QRをスマホで読み取り、金額を入力して支払い済み画面を店員に確認してもらう』『スマホ画面に表示したQRをお店で読み取り自動決済する』の二つ。後者は、どちらかと言うとクレジットカードに近いですね。というかほぼクレジットカード決済と同じ。決済する瞬間にお店の回線が繋がっている必要があります。回線が途絶すると、代用手段は有りません。また多くの場合、支払いごとに新しいトークンが生成されるため、客のスマホ側も通信回線が正常である必要があります。前者は、なんというか、やりたい放題です。犯罪者が(笑)。印字されたQRを読む方式は、言ってみれば、お店としてオンラインでQR決済システムに連携するシステムを(コストなどの理由で)持てないことが主な理由です。となると、スマホ画面に偽の「決済済み画面」を表示して店員に確認させたとしても、店員がその場で本当に決済が済んだのかを確認する方法が有りません。その方法を準備できるくらいなら後者の方法を取りますから。やっぱり、決済のためにそれなりに信頼性の高い回線を準備すると言うのはコストがかかります。読み取り機の購入金額とかよりも、将来的にも固定費となってしまう回線の維持費のほうが、クレジットなどの導入をためらう理由のはずで、だからこそ前者のQR決済方式がもてはやされているわけです。それが、やりたい放題(笑)。そのうち、絶対に各QR決済システムに対応した「偽決済完了画面生成アプリ」が出来ますよ。もちろんそんな不正なアプリはapp storeなりgoogle playなりで弾かれる。ほんと? その弾く作業が本当に正しく行われてるかってどうやって確認します? 海の向こうの言葉も通じない誰かの良心が決済の信用性のよりどころなんですよ。また、通信オタクの観点で言うと、どちらの方式も、『客が契約している回線の信頼性に依存している』という最大の欠点があるように思うわけです。先日のソフトバンクの全国全ユーザ断というとてつもない障害を引き合いに出すまでもなく、通信設備の小規模の障害は毎日起こっています。基地局1基が落ちるレベルの障害は発表さえされません。それがたまたま自分がお店を持つエリアで起きたら。たとえば基地局が置いてあるビルが火災になりました、基地局は全部焼け落ちてしまいました、店内の通信復旧は周辺局のアンテナ調整などで半日後です、じゃあ半日間売り上げが激減してもしょうがないとあきらめられますか。ねぇ。あきらめるしかないんです。自分とは全くかかわりのない客の契約した携帯会社の障害のせいで損害食らって、それで誰にも補償の請求を出来ない、万一海の向こうのアプリ審査者が不正アプリを見逃して不正決済で損害を食らってもアプリ掲載ストアには一切補償の請求なんて出来ない、そんな決済手段を喜んで導入しているお店はちょっとアレがアレなんじゃないかと思います。で、売り上げの0.5~2%の手数料を喜んで払ってるわけですよね、下手するとクレジットと同じくらい。ないわ~。

 ってことでね、普及するのは勝手ですけど、QRコード決済の普及を以って『キャッシュレス社会を実現しました』なんて吹いてほしくないわけです(笑)。もうそれ言いたいんだったら、政府が自分のお金で国民全員に電子マネーカードと電子マネー金庫(読み取り機能付き)を配るくらいしなきゃ。あ、キャッシュレス社会の実現は一応民間企業が自主的にやってる体になってるんでしたっけ? よくわかんないや。まあそんな感じで。

tweet TWEET

 年末に質問をいただいていました。
 意訳すると、

「800MHz帯はLTE向けにBand18とBand19の二つが定義されていますが、実際は一続きですよね。なんで二つに分かれちゃったん?」

えー、なんでだろー。わかんなーい(棒読み)。

 バンドが二つに分かれた当時の話をすると、当時はまだLTEのような広帯域の無線デバイスの出来があまりよくありませんでした。なので、広いバンドをパスしつつその両端をきっちり切り落とすフィルターなんてものが結構高価で、一つのバンドをあまりに広くしすぎるとその周辺バンドに対する干渉基準を守れない恐れがあったんですね。なので、割と古い時代のバンドは、狭いバンドが多いです。

 2GHz帯についても、日本は隣にPHSがいるので干渉基準が世界でもとりわけ高く設定されていました。そのため、一番下のバンド(KDDI向けバンド)は、日本で使う場合は電力落とすかリソースブロック削減するかなんかしないとダメよ、と標準規格上も特別扱いされていたくらいです。800MHz帯もそれと似たような流れです。

 おや、この前見た夢の話を思い出した。ちょっと書いてみよう。

 日本の800MHz帯は、そのすぐ下にテレビ放送関連の周波数がいました。例によって、日本の周波数保護基準はものすごく手厚いので、テレビ放送関連の周波数への干渉基準はかなり厳しくなっています。一方、3GPP的なところでは、日本の800MHz帯を一つのバンドとして策定しようという作業が続いていました。しかし、上側のバンドを獲得した某キャリアにとってはちょっと面白くない話が持ち上がってきました。それは、「そのバンド全体をパスできるフィルターでは、下方のテレビ放送向け周波数帯への干渉を抑えきれない」というお話。デバイスのコストを下げたい各国のメーカーはこぞって「日本の800MHz帯では送信電力を低下させることにしましょう」と提案します。下側半分のバンドを獲得した別の国内キャリアもやむなしと考えていましたが、上側キャリアは、面白くありません。だって、自分のところのバンドを使う限りは下側には干渉を与えないはずなのにそろって電力規制になったらせっかくのプラチナバンドなのに通信エリアがめちゃくちゃに狭くなります。そこで、いろんなメーカーを焚きつけて「このバンドは二つに分けるべきだ、それなら両バンドとも送信電力規制から逃れられる」という議論を起こします。某3GPPは全員合意が原則。二案対立になった時点で作業はストップです。で、上側キャリアは、下側キャリアに対して、「ねぇ、このまま『メーカーたちの対立』が続いたらこのバンドいつまでも使えなくて僕も君も損だよね。ここはステークスホルダーたる僕らがリーダーシップを発揮して、早期標準化を進めるべきだと思うよ」とそそのかすわけです。どちらの案になっても干渉との厳しい戦いは避けられない下側キャリアは、まあバンド狭くすれば多少はマシかも、ということで、上側キャリアの意見を飲んで、分割案を支持。そうなると、このバンドを持っているたった二つのキャリア両方が分割案を支持した以上、分割案に決まるしかなかったわけです。

 その後、制限もなく使いやすい上側バンドに対応する端末は低コストでざくざくと出てきましたが、電力規制こそ逃れたもののすぐ近くに厳しい干渉制限がありフィルターコストばかりかかる下側バンドには世界中誰も見向きもせず、下側キャリアは地団太踏んで悔しがりましたが後の祭りでしたとさ。

 ……なんていう夢を見ましたが、なんでしょうね、これ。

 ということで、2バンドに分かれている理由は、策定当時のデバイスがまだこなれていなかったので「バンドはなるべく狭く」的な価値観がまだあったから、というのが理由です。夢の話は蛇足でしたね。でわ。

tweet TWEET

えー、auネットワークでiOS12にアップデートするとSMSが使えなくなるという話があるそうですが、どんなメカニズムでしょうか、というご質問をいただいているのですが。

知らん、アップルに聞け。

まあ一言で言うとこういうことになるんですけど。いや、単純にバグです。iOSのバグ。まあ、auのネットワークはCDMA2000と相互接続(?)している都合もあっていろいろと癖があるのは確かなんですが、それでも3GPP標準どおりに作ってあるのは確かです。なので、アップルの単純なポカ。です。

そもそもの話、しますね。アップル、iOS、バグ多いです。そんなこと無い、と主張する人も多いでしょうが、あくまで私の主観として、iOSは結構酷いOSです。

ユーザインターフェース部分に関しては、かなり洗練されています。なので、ユーザとして使う分にはほとんど不便を感じないと思います。

問題は、通信。プロトコルの実装。本当にバグ多いです。バグと言うか、分かっててやってる感じがする変な実装が多いようです。アップルが世界中で「俺様商売」をしているのはご存知のとおり、なので、あえて変な実装をしてiOSとしての変な機能を実現したとしても、世界中のほとんどのインフラベンダーは泣く泣く変な実装にあわせてアップデートします。もちろんそのお金を出すのは通信事業者。通信事業者にお金を払っているのは一般のスマホユーザ。アップルのおかしなバグまがいの実装のために結構な金額がどぶに捨てられています。Androidユーザはもっと怒っていい(笑)。

Androidもプロトコルがらみのバグは少なくないですが、メーカ独自実装の部分に集中しています。3GPPにきっちり規定された部分に関してはかなりバグ少ないです。めちゃくちゃ品質高いです。「出来上がった標準を活用する」という立場と「俺様が標準だ」という立場の違いですかね。Androidはオープンなリソースを共有しようという精神からできたOSなので、通信プロトコルの実装に関してもあくまでオープン、素直に標準(オープンリソース)どおりに作られています。そこにあえて変なメーカカスタマイズを入れた部分が大体バグを出します(笑)。

あと数年はアップルもこういう商売ができるとは思いますが、その先は見てるでしょうかね。アップルのシェアがある程度下がったどこかの段階で「こんなマイナーで変な実装、もうケアしてやるのやめようぜ」と世界中のインフラベンダが声を揃えたとたんに破綻するんじゃないかな、なんて思います。

まあ、そういいつつも、そうなったらそうなったでiPhoneを切り捨てられないいくつかの国(特に日本)では独自ネットワーク化が進みインフラコストが上がってスマホ料金が諸外国に比べてどーんとあがる、ってことになるんでしょうけど。総務省の方にはこういう視点で見てほしいですけどね。無理か。

tweet TWEET
2018/3/30 10:00 · 技術動向 · (No comments)

質問たくさんいただいています。

高校生の発明した新方式「MARIA」について、あれって本当に実用化できるの? 本当にすごい効果があるの?

えー、元の論文を読めてないので、なんともいえません。さらに正直に言うと、論文を読んでもなんともいえないと思います(笑)。ざっくりニュースを流し読みしてその上で方式を想像してみたところ、何しろ高度な数学の素養が必要っぽいですから。自慢じゃないですが、私は数学が大嫌いです。無線なんて直感です(コラ)。

で、ニュースを見た感じ、変調方式そのものに色付けしておいて空間多重をする方式のように見えます。OFDMの発展方式として、各サブキャリアをさらにCDMAで拡散処理することで電力多重する方式ってのがありましたが、なんだか、それに近い方式のように思えます。

空間多重をした後、それを復調するとき、時間方向、周波数方向に広がった伝送波全体を見渡してみると、全体的にうすぼんやりとしているんですよね(イメージの話)。で、よーく目を凝らしてみるとどうやらいくつかのパターンが重なっているらしい。ってことで、特定のパターンに着目して復調パラメータをいじくるとあら不思議、きれいな伝送波が取り出せちゃう。別のパターンに着目するとまた別の伝送波が取り出せちゃう。これが、MIMOの基本。

その「着目するパターン」をどのように定義するか、ってのはそれこそ無限に考えられ、たとえば、LTEでは、広い伝送波の極一部のブロックに「既知の信号を埋め込んでおく」という方法を取っています。MIMOの多重数が増えるごとに、その「既知の信号(を埋め込んだブロック)」を増やしていく、ということで、多重数を増していく方式です。

MARIAが何をしているのかよくわからんのですが、伝送波全体にわたって、変調方式(位相差)のパターンを施すようなものなんじゃないかな、と思います。その位相差パターンは既知のものとして送信側と受信側で共有しておく前提で。すると、位相差パターンが一致しない伝送波は全体として相殺されて薄まり、一致するパターンが浮き出してくる。これを全部のパターンでやっていけば、定義したパターンの数だけ多重化できる。そんな感じかなーと思うんです。

MIMOは、各アンテナから別のストリームを送信してそれが反射などなどで別経路を通ることで既知信号の位相ズレを起こす、それを上手く受信側で取り出すわけですが、MARIAは、意図的に最初から位相ズレを埋め込んでおくわけですね。ということは、アンテナが複数である必要もありません。だから、MIMOよりはCDMAに近い概念なんだろうな、と。アナログレベルでコードを埋め込んじゃうわけです。

ってことで、そうなれば、効能も限界もCDMAと同じ。同時接続数とエリア半径を犠牲にすればいくらでも性能を向上させられるという恐ろしい方式になるわけです。最後期のCDMAもとにかく束ねるコード数を増やしまくってカタログスペックを上げまくっていましたよね。あれと同じことが出来るようになります。ただ、当然ですが、それを処理しきるだけのアナログデバイスの線形性とデジタルデバイスのパワーが必要になります。

デバイスが無茶だからといっても、CDMAでさえ登場当時は「そんな無茶な方式が成り立つものか」と言われていたくらいですから、今現在そんな無茶なデバイスが存在しないからといって将来的にMARIAが成り立たないとはいえません。似たような候補がいくつかある中で、候補として取り上げられる可能性はゼロではないだろうなー、と言っておきます。

もうちょっと詳しい解説記事とかないかなあ。

tweet TWEET
2018/3/30 10:00 · 技術動向 · (No comments)