今回はwnyanさんのブログ『無線にゃん』からご寄稿いただきました。
■iPhone5パケ詰まりの謎
iPhone5でパケ詰まりが大流行らしいですが原因はなんでしょうか、と言うお便りをいただきまして、元祖パケ詰まり博士の無線にゃんが解説します。なんだよパケ詰まり博士って。
検索するといろんな情報があるようですが、現象としては、LTEと3Gの境界で報告されている例が多いようです。いろんな説が出ていて、「800MHzを豪奢にLTEに使ったので3Gが細った説」「Qualcommチップのバグ説」「個体差説」等々。ちょっとだけ考えてみます。
と言っても、たいてい、パケ詰まりなんてのはネットワークが原因でおこるものです。元祖パケ詰まりと言えば、2000年初頭に話題をさらった使い放題PHSパケット(AIR-EDGE)のパケ詰まり。あのころは固定回線常時接続が引けない集合住宅などがまだ多く、常時接続需要が一斉にAIR-EDGEに流れ込んで、盛大なパケ詰まりを発生させていました。
原因はシンプルで、要するに集合住宅などで同じ場所で一斉に多くの端末がアクセスするために、無線チャネルがあふれていたり、あるいは地域ごとの接続サーバの許容量を超えていたり、と言うことが発生していただけです。
さてiPhoneのパケ詰まりの件で気になるのが、LTE-3Gの境界で、と言う症状ですね。LTE→3Gへの遷移が起こった時、と言うことになるかと思います。こういうことが起こるのは、要するにLTEのエリアの端っこ。たとえば、電車とかでみんな一斉に移動していると、みんなが同時にエリアの端っこを通過します。
と言うことは、結構な数の端末が一斉にLTEから3Gに遷移することになります。3Gに遷移すると、当然LTE→3Gハンドオーバが行われるわけですが、iPhoneの場合はoptimizedハンドオーバに対応していないので、この場合、いわゆる「ランダムアクセス」が行われます。
[追記] WCDMAでもハンドオーバ時はランダムアクセスがあります。
端末から基地局への「最初の一発目」の信号は、どうやっても基地局から制御することはできません。ですので、言ってみりゃあてずっぽうで短い信号を一発送り、基地局がそれを受けられたら即座に返答してちゃんとしたリソース制御が始まります。このあてずっぽう信号は、普通はみんなの通信開始契機がずれているのでぶつかることは稀ですが、「みんながほぼ同時に通信を開始しようとするような状況」が生じると盛大にぶつかり合って、なかなか一発目の信号が届かず、通信が開始できないということが起こります。
つまり、LTEのエリアの端っこをみんな同時に通過することで、3Gへのハンドオーバが一斉に起こって、その時の最初のランダムアクセスがぶつかり合ってなかなかチャネルの割り当てが行われない、と言うことが起こっているんだろうと思います。昔に書いた、地下鉄での混雑*1の後半に書いたような一斉アクセスが地上でも起きている、ってことです。で、たいていはチップの独自実装として一定回数ランダムアクセスが失敗するとしばらくお休みしちゃう、と言う動作をします(ネットワーク保護の観点で)。このチップの動作がおそらくパケ詰まりの原因。
*1:「携帯電話が地下鉄で混雑のワケ」 2012年5月31日 『無線にゃん』
http://wnyan.jp/3279
要するにLTEのエリアの端っこ(と言うよりたぶん「穴」)があちこちにあることがそもそもの原因かと思われます。さっさと穴ふさげ、ってのが、事業者に対して求めることでしょうね。auでの問題が多くソフトバンクでの報告が少ないのは、この穴の多さじゃないでしょうか。なんだかだでauの方は2GHzLTE局数も少なく、人口の多いところでもまだ穴がたくさんあるんじゃないかと思われます。
また、上のような理由ならauのAndroidでも起きてもよさそうですが、そこもやっぱり、AndroidはLTE800MHzを掴めるので穴に落ちにくいということもあるでしょう。また、iPhoneは非対応でAndroidは対応といわれるOptimizedハンドオーバは、eCSFBと同じように先に個別チャネルを割り当てる方式(すなわち「ランダムアクセス」が必要ない)みたいなので、ランダムアクセスのぶつかり合いによる輻輳が起きにくいのかもしれません。
ちなみにその他のいくつかの説について簡単に。「800MHzをLTEに使いすぎて3Gが細った」説は間違いです。元々、auがLTEに使っている800MHz帯の15MHzのうち10MHzは、今年7月までドコモが使っていた帯域なので、auが3Gで使える残りの帯域5MHz自体は太りも細りもしていません。2GHzで5MHzをLTEに割り当てた分については、こちらも実は、今年6月のPHS制御チャネル移行で2G帯5MHzが新たに使えるようになっているので、実質プラマイゼロだったりします。なんだかだでauはLTE開始にあたって3G帯域を全く減らさずに対応できてたりします(と言うか逆に元々それだけ少ない割当で3Gを全部捌いていたのが異常な状態だったと言えるんでしょうけど)。
Qualcommチップバグ説は、何とも言えないですが、ないとは断言できないところ。やっぱりLTE-CDMA2000のチップはマイナー系なので、バグが残りやすい傾向は強いはずです。内部的には全く親和性のないステートマシンが好き勝手に動いている状況でしょうから、それぞれの内部的なタイミングが延々とずれて、片方が通知信号を出したときにはもう片方は耳を閉じてる、みたいな状態が続いて連携が途切れている、と言うようなことは起こりうるとは思います。先ほどの「しばらくお休み」の実装がLTEとの相互遷移を考慮していないプアな作りなのかもしれません。
端末の個体問題と言う可能性もないとは断言できません。端末を取り換えたら直った、と言う報告が、検索すると出てくるので。たとえば、アンテナ感度の個体差が大きい場合は起こらないとも限りません。ハンドオーバするかどうかを決めるのは、端末が受信した電波の強さなのですが、たとえばこれがある一定の中にばらついていて、ハンドオーバするには弱すぎる(または強すぎる)受信レベルでハンドオーバが起動することで悪影響がある、と言う可能性もあります。
まぁ、上記の理由に限らず、無線でTCPをやるときは、パケ詰まりは永遠について回るテーマですね。いくつかの運の悪いパケ遅延・パケロスの重なりが雪崩式にパケ詰まりに発展する、と言うのは、PHSパケット時代にいやという程体験させていただきました。TCPはそれほどパケ遅延・パケロスが高くない前提で作られているので、無線のように遅延・ロスが日常茶飯事と言う伝送路にはあまり向かない方式だと私は思います。TCPに対してHARQみたいなモードを提唱しているところもあるようですが、標準技術になるにはまだまだ時間がかかりそうです。と言うことで、パケ詰まりについてでした。
[追記] ソフトバンクでもiPhone4S以前からiPhone5に変えたら多発しているというご指摘をたくさんいただいたため、「au限定」ではなさそうです。どっちにしろこの考察が正しいなら、ランダムアクセスが同時多発するLTE→3GハンドオーバであればWCDMAであれCDMA2000であれ理屈上は同じように発生するものと思われます。昔のメディアの山の手線一周調査とかを見てもソフトバンクは3G時代からハンドオーバ時にブチ切れるのは当たり前だったみたいなので、声が上がりにくいのだけなのかも。
執筆: この記事はwnyanさんのブログ『無線にゃん』からご寄稿いただきました。
■関連記事
iOS 6でもGoogleマップとストリートビューを使いたい人に裏技登場 これでアップル製マップとおさらば?
震災時に母から娘に送ったLINEが既読になることはなかったと話題→LINEリリース前でデマ確定
「そのタイツどうなってるの……?」男ウケの悪いファッション2012年夏
雅楽演奏者がブチ切れ「日本音楽著作権協会(JASRAC)はもっと勉強しろよ」