2017年3月24日金曜日

スプラトゥーン2を快適に楽しむためのネットワーク環境づくり

2017.7.15追記
前夜祭でも変わらなかったです。


■はじめに

 スプラトゥーン2試射会たのしかった。
 スプラトゥーン2を快適に楽しむためのネットワーク環境づくりについて、Twitter、2chまとめブログ等では嘘やデマも拡散されているので、正しい情報をここにまとめます。
 別にスプラトゥーン2に限った話ではなく、オンラインゲームでは共通の話ですが、こう書いたほうが拡散されやすいじゃん?

■スプラトゥーン2の通信方式

 WiiUの前作とほぼ同じでした。
 まず、8人とマッチングするために、AWS(Amazon Web Service)内にある任天堂サーバーと通信します。任天堂サーバーからは、他の7人のIPアドレス等の情報をもらいます。
 対戦がはじまると、操作情報などを他の7人に直接送ります。8人がフルコネクト型のP2P通信をしているということです。対戦相手のホスト名も分かるということですので、相手の契約しているプロバイダや都道府県くらいは確認することができました。
 対戦中も定期的に任天堂サーバーと少量の通信をして、自身が対戦中であることを送信しています。今回の試射会では、試射会時間が終わると試合中でも試合が強制終了したことから、試合強制中断の命令も任天堂サーバーから受信していることが分かりました。


 試合中の通信速度を測定しました。上りも下りも500kbps程度でした。7人と通信しているので、1人あたりに70kbps程度使っていることになります。ナワバリバトル1試合の通信量は、上り下り合わせて20MB程度でした。


 試合中の通信速度は、前作と比較すると2/3に低下していました。やりとりする操作情報の削減、データ圧縮などしているんでしょうかね?
 (2017/8/9追記)ティックレートが前作の25Hzから今作の16Hzに低下していることが要因の可能性があります。参考記事


■必要なネットワーク要件

 以上の結果から、スプラトゥーン2を快適に楽しむためのネットワーク要件がわかります。
  • End-to-Endで有線・固定回線であること
  • 速度 上り下り 1Mbps が、常にでること
  • 対戦相手とのRTT(*)が常に低いこと(目安は50ミリ秒以下)
 (*)RTTとは、Round-Trip Timeのことで、自分が発したパケットが相手に届いて、それがまた自分に帰ってくるまでの時間(ミリ秒)のことです。一部の方は「ping値」と言ったりしていますが、これは誤用ですのでやめましょう。pingとはRTTを測定するツールの名前です。
 RTT = アプリケーション遅延 + 伝送遅延(ルータ処理) + 伝搬遅延(光ファイバ) + キューイング遅延 で表されます。

■日本に住め

 対戦相手とのラグを少なくするためには、対戦相手とのRTTを低くすればよいです。そのためには、対戦相手と物理的に近い場所にいる必要があります。対戦相手が日本在住なら、あなたも日本に住みましょう。対戦相手と物理的に近い場所にいれば、経由する光ファイバの距離が短くなり、また、経由するルータの台数も少なくなりますから、伝送遅延(ルータ処理) + 伝搬遅延(光ファイバ) を減らすことができます。
 鹿児島の人が、隣の家の人と対戦する場合でも、インターネットの仕組み上、東京を経由してから隣の家の人と通信することが多々あります。プロバイダの接続点が東京に集中しているためです。よって、東京に住むのがベストです。数ミリ秒ですが、RTTを短縮することができます。スプラトゥーンではここまでやる必要はないかもしれませんが。


■有線・固定回線をつかえ

 Nintendo Switchがインターネットに接続する過程で通信が不安定になる箇所は主に2箇所です。

 まず①の箇所です。Nintendo Switchは無線LAN(Wi-Fi)は使わずに有線LANでルータと接続しましょう。無線LANは電子レンジや、他所の家の無線LANや、他の無線機器から干渉を受けます。しかもその干渉がいつ来るかわかりません。今無線環境が安定している自信があっても、肝心な試合終盤でも無線環境が安定する保証はどこにもありません。隣の家がいつ電子レンジを使うかなんて分かるわけがないのですから。
 Nintendo Switchに使える有線LANアダプタは1000円くらいで買えます。たった1Mbpsでればいいのですから、高価な有線LANアダプタを買う必要はありません。また、LANケーブルは最大100mまで引き回せます。家の1Fと2Fの間くらいなら、LANケーブルでつなぐことができます。
 次に②の箇所です。自宅のインターネット回線は、固定回線を使いましょう。スマホのテザリング、ポケットWiFi、ソフトバンクAir、au Speed Wi-Fi HOMEの使用はやめましょう。これらはアクセス回線に携帯電話の無線を使っています。携帯電話の電波は、パケ詰まりなどと言われることもあったように、同じ基地局を多数の人が使おうとすると通信できないことも当たり前のように発生します。数km近辺の人に、試合中は携帯電話を使わないで、などと言えないので、いつ通信環境が不安定になるかわかりません。また、携帯電話の回線はその仕組み上、経由するネットワーク機器が多いためにRTTが大きくなることも、避ける理由です。
 固定回線は、光回線がベストです。自宅がNTT局舎まで距離的に近く、上りが1Mbps出るのであればADSLでも十分です。

■フレッツIPoEを使え

 光回線にも種類はいくつかありますが、多くの人はNTTのフレッツ光を選択すると思います。そして普通はPPPoE契約となっています。しかしこのPPPoE契約は、IIJが周知しているように、網終端装置を経由する仕組みとなっており、近年のフレッツ光混雑の原因となっています。これが原因で、光回線を契約しているのに回線速度が遅い、イカ中に回線落ちする、ラグい、といった報告を、私は多数聞いてきました。
 混雑の原因である網終端装置を経由せずにインターネットを利用する方法があります。IPoE契約です。IPoE対応のプロバイダは多数あり、下記にまとまっています。
 v6プラス対応のプロバイダを使用中で、NTTのHGWもv6プラス対応であれば、v6プラスを申し込むだけでIPoEが使用できます。
 意味が分からない方は、ソフトバンク光、Yahoo!BB光の契約をおすすめします。面倒なネットワーク機器の用意、設定を自分ですることなく、届く機器をつなぐだけで、IPoE契約となることができます。また、NTT提供機器が何であってもIPoEが使用できます。ポイントは、下記をすべて満たすことです。
  • ソフトバンク光、Yahoo!BB光
  • 「IPv6高速ハイブリッド IPv6 IPoE + IPv4 オプション」を申し込む
  • 光BBユニットをレンタルし、使用する

 上記の方法によってネットワークの混雑を避けることができれば、回線速度も高くなり、キューイング遅延も少なくなることから、RTTも低下させることができます。

■最終確認

 スプラトゥーン2を快適に楽しむためのネットワーク環境づくりが完了しました。22時になったら回線速度を測定しましょう。日本のインターネットのトラフィックは下記のように22時~23時がピークです。それ以外の時間で測定することは全く無意味です。

ぷらら トラフィックモニター より引用

 次にRTTを測定したいですが、RTTとは自分が発したパケットが対戦相手に届いて、それがまた自分に帰ってくるまでの時間(ミリ秒)のことです。実際の対戦相手とのRTTを都度測定するのは面倒なので、目安として「www.ocn.ne.jp」へpingを打ちましょう。


■おわりに

 イカ、よろしく~