2014年3月9日日曜日

参考:Riotが今回の接続障害について調査しようとしていること



* ネットワークの構造についての自明のことですので、あくまで参考程度の記事です。

日本時間 2014/03/09 14:00 現在も接続障害の現象が続いており、ChampionSelectの後のゲームクライアント起動時に接続に失敗するプレイヤが日本、海外含めて多数存在するようです。

公式フォーラムではRiotがバッチファイルを作成し、生成されたテキストを提供してくれるよう呼びかけています。
http://forums.na.leagueoflegends.com/board/showthread.php?t=3944677&page=26#post45639638

上記バッチファイルでRiotは何を調査しようとしているのでしょうか?




一言で言ってしまうとネットワーク経路です。
インターネットの基本構造として、バケツリレー方式であるという大前提が存在します。

AというPCからBというサーバに対して通信をする場合、

A > 中継1 > 中継2 > 中継3 > B

いくつもの中継地点を通過します。ここで重要なのは「直前の中継は渡す先を知っていなければならない」ということです。上記中継3はBの位置を知っていなければ通信を渡せません。同様に中継2は3の、中継1は2の位置を知っていなければなりません。(これをHopと呼びます)

Riotが提供したバッチファイルを、私のPCから実行した結果を引用します。

192.64.168.0/24 Game Servers (PDX):
192.64.168.1 へのルートをトレースしています。経由するホップ数は最大 20 です
  1    <1 ms    <1 ms    <1 ms  ntt.setup [192.168.1.1]
  2     3 ms     3 ms     3 ms  i222-150-92-99.s99.a049.ap.plala.or.jp [222.150.92.99]
  3     3 ms     2 ms     3 ms  222.150.92.133
  4    12 ms    13 ms    12 ms  60.36.158.197
  5    12 ms    14 ms    11 ms  i118-21-197-93.s99.a049.ap.plala.or.jp [118.21.197.93]
  6    12 ms    11 ms    11 ms  i118-21-178-3.s99.a049.ap.plala.or.jp [118.21.178.3]
  7    11 ms    11 ms    11 ms  218.43.251.129
  8    12 ms    14 ms    12 ms  118.23.146.49
  9    12 ms    15 ms    11 ms  118.23.168.90
 10    11 ms    11 ms    11 ms  ae-11.r20.tokyjp05.jp.bb.gin.ntt.net [129.250.12.197]
 11     *       98 ms     *     ae-2.r20.sttlwa01.us.bb.gin.ntt.net [129.250.3.12]
 12   100 ms   100 ms   100 ms  ae-1.r04.sttlwa01.us.bb.gin.ntt.net [129.250.5.43]
 13   108 ms   107 ms   121 ms  xe-2-0-0.cr1.sea1.us.nlayer.net [63.141.219.6]
 14   232 ms   217 ms   134 ms  as11404.ae2-417.cr1.sea1.us.nlayer.net [63.141.219.70]
 15   135 ms   125 ms   125 ms  216.243.25.82
 16     *        *        *     要求がタイムアウトしました。
 17     *        *        *     要求がタイムアウトしました。
 18     *        *        *     要求がタイムアウトしました。
 19     *        *        *     要求がタイムアウトしました。
 20     *        *        *     要求がタイムアウトしました。
トレースを完了しました。
自明ですが15行目で接続が失敗しています。これは15ホップ目の中継が次の渡し先を知らない(あるいは仕事をしていない、起動していない)可能性を表します。

最初の行、目標である「192.64.168.1」の場所を確認してみると
http://en.utrace.de/?query=192.64.168.1
確かにRiot所有です。バッチファイル記載通りこれはRiotのゲームサーバでしょう。

では接続が失敗している「216.243.25.82」の場所は
http://en.utrace.de/?query=216.243.25.82
所有が全く違います。推測に過ぎませんがおそらくネットワークプロバイダの提供するルータについているIPアドレスでしょう。

重要なのは上記は私のPCから実行した結果である、ということです。この経路を通らない通信もありえますし、この経路でない状態で別の場所で通信が止まっている可能性もあります。(逆に言えば、現在問題が発生していないプレイヤはこの経路を通っていない、と言えます)

上記をRiotは既に把握しているはずですし、解決への対策も取られているでしょう。時間がかかっているのは以下の2つの理由によると思われます。


  1. 複数経路で止まっている可能性があるのでもっと情報が必要
  2. 止まっていると思われるホップがRiot所有でないので働きかけが必要


今回の現象はクライアントやサーバでの問題ではなく、ネットワーク経路上の問題である可能性が非常に高いです。クライアント(PC)やサーバではなく、ネットワーク経路にRiotが働きかけないと解決できないと思われます。

原因究明において情報は力です。是非上記フォーラムへバッチファイルの結果テキストを送りましょう。






3/09/2014 nodecat