ルーティング

今日は、ネットワークのお話を。あらかじめお断りしておきますが、多少専門的な話題を含む上、かなり長くなります。

先日の定期メンテナンスの少し前に、大規模な切断がありました。病院行く前にちょっとだけ遊ぼうとログインしていた自分も巻き込まれ、wizのおねーさんも相棒ナイトと狩りに行っていて混戦中に切断しました。当然ながら、誰ひとり助かりませんでした。たまにやる気出せば、これだよ…。後で知人に聞いたら、およそ半数くらいが切断したようだとの話でした。先日の仕様変更で接続人数の確認ができなくなっていますから、正確なことはわかりませんが。

切断規模から考えて「一部プロバイダの問題」とは考えにくいのですが、実際自分が調べてみた限りでは、切断時にはNCJルータのうち1台から応答がなくなっていました。もし2台あるルータのうち1台での通信がすべて切断されたとすれば、「およそ半数が切断」というのと話が合います。

なぜ自分がNCJにルータが2台あると知っているかと言うと、公式サイトのゲームガイド内に「プレイ上のご注意」というコーナーがありますが、そこの「回線状況の確認について」に情報が載っているからです。ここにNCJの「当社側機器」として挙がっている61.215.209.86 と 61.215.209.94 というIPアドレスが、NCJのルータなのです。

このアドレスがNCJのルータのものであることは、コマンドを実行すると確認できます。コマンドプロンプト(Windows 98/MeだとDOSプロンプト。スタートメニューのアクセサリの中にあります)に「nslookup 61.215.209.86」と入力すると、そのIPアドレスのホスト名が「router-NCJapan-1.abovenet.ad.jp」と表示されます(Windows 98には、nslookupコマンドがありませんが…)。名前からして、AboveNetという会社がNCJ用に用意したルータらしいと判断できます。おそらくNCJは、AboveNetのデータセンタにサーバを置いているのでしょう。

AboveNetは、Tier1接続や大手IXと直接接続していることを売りにしていて、簡単に言うと「通信品質の高さ」を強みにしている業者です。実際にNCJがAboveNetのデータセンタを利用しているのか、単にAboveNetのネットワークにつながっているだけのデータセンタを利用しているのかはわかりませんが、少なくともNCJがユーザに対して「当社側機器」として公表しているのは、AboveNet内に置かれたルータのわけです。

ユーザにしてみたら、NCJとデータセンタの契約がどうなっているかなんて知ったこっちゃありませんから、サーバからNCJのルータまでが「リネージュ関連のNCJの設備」です。このルータの障害で切断したのですから、ゲーム内で補償して欲しいと考えるのは当然でしょう。

問い合わせフォームから苦情を出したところ、「サーバには異常がなく、上位プロバイダまたは大手IXが原因の切断であるため、補償対象外」との回答がありました。しかし納得いかないので「データセンタ内のNCJの設備は、通信設備を含めて管理して欲しい」とさらに苦情を出したところ、こんな回答が。

データセンター内の設備にも異常がなかったことを確認しております。個別のインターネット回線上の切断につきましては、弊社で把握する事ができかねてしまいますため、誠に恐縮でございますが、何卒ご理解賜りますようお願い申し上げます。

ルータはデータセンタ内に置かれてないってことなんでしょうか。どこに置かれてるかなんてどーでも良くて、ちゃんと管理して欲しいだけなんですけど…。

切断原因が回線ではなく、ルータが落ちたためらしいことも、ちょっとコマンドを叩けばわかります。「回線状況の確認について」に載っている tracert と ping というコマンドです。

インターネットというのは、無数のルータによって網の目状につながれているネットワークです。余談になりますが、もともとはアメリカ軍が国防のために開発したネットワークで、戦争でどこかの都市が壊滅しても、生き残った都市間では通信が途絶えないように、との目的で設計されたため、このような構造になっているそうです。

どの経路(ルータ)を通って通信しているかは、tracert というコマンドで確認できます。このコマンドは、経路上のルータをすべて表示してくれるのです。NCJの2台のルータに対してtracertを実行すると、よほどへそ曲がりなネットワーク管理者のいるプロバイダでない限り、たいていは両方とも同じ経路が表示されるはずです。つまり、図にするとこんな感じ(図中の■がルータ、線が回線)。

         61.215.209.86          ┌─■─┐自宅──■─…─■─┤   ├─ Vegaサーバ          └─■─┘         61.215.209.94

実際に 61.215.209.86 と 61.215.209.94 のどちらを使っているかは、Vegaサーバに対して tracert コマンドを実行するとわかります。VegaサーバのIPアドレスは、Lineageがインストールされたフォルダ内のlist-j-j.txt というファイルに書かれていますが、このアドレスを指定してコマンドプロンプトで tracert を実行すれば(tracert 211.13.226.116)、いずれか一方のアドレスが最後の方に表示されます。自分の場合は、61.215.209.86 経由で通信していました。

ping というコマンドでは、指定したアドレスにテスト通信を行い、応答があるかどうかを表示してくれます。切断時に確認したところ、61.215.209.86 から応答がなく、61.215.209.94 からは応答がありました。回線の問題による切断だとしたら、同じ経路で通信している 61.215.209.94 からも応答がなくなるはずです。しかし、片方だけ応答がなかったということは、そのルータ自体が応答を返していない(つまり、落ちている)ためであると考えられます。

おそらくNCJでは、ユーザがどちらのルータを経由してログインしたかまでは、ログに記録していないのでしょう(ふつう、しないし)。ですから、「ルータが落ちたことによって切断したユーザが誰か」を正確に特定するのがほぼ不可能だというのはわかります。しかしそれは、ゲーム内での補償をしなくて良い根拠にはなりません。

時間も正確にわかっていますから、その時間に切断が原因で死亡した人の経験値を一律復旧すれば良いのです。ちゃんとログアウトしたのか切断だったのかくらいは、ログも残しているのでは。ルータ障害が原因でないけれどもたまたま切断しちゃったという人を余分に救済したって、怒る人はいませんしね。

しかし、NCJからのメール回答を見る限り、運用状態を管理するのはあくまでサーバのみ。通信回線に関しては、それが自社側ルータであっても他人事という姿勢に感じられます。「オンラインゲーム」なのに…。

「設備に異常がなかったと言われると、専門知識がないので反論できず、くやしい」と言っていたwizのおねーさん、NCJの回答に対して「フザけてやがる」と自分が言ったのは、こういうわけだったのですよ。

9 thoughts on “ルーティング

  1. ルータの1台のみping応答がないことを添えて「NCJ側通信機器異常による切断なので補償してほしい」とメールしたところ「サーバに異常なし」と回答が来ました(この時点でもう噛み合ってません)。それに対して「サーバだけでなく…」とメールした結果が上の回答です。これ以上続けても不毛そうなので諦めましたが、他の人からの苦情も重なれば、もしかしたら次回以降の対応が改善されることもあるかもしれません。仮にそうだとしても、今回の件は絶望的かなぁ…。でも、他の方にも正確な状況を踏まえた上で、一応苦情を出してみていただきたいかなとは思います。

  2. ping間隔にもよるでしょうが、その2つのルータいく前のどっかのルータで取りこぼしあったんじゃないの?と言われるとNCJが言い逃れしそうで残念・・・連続trcertしてればいいのかもですね。そんなツールないよなぁ・・・。失礼しました

  3. 切断中ずっと2台のルータに対してpingとtracertを繰り返してましたから、その言い訳は通用しませんねぇ。自分はCygwin使いなので、bash上で「while true; do date; ping 61.215.209.86; tracert 61.215.209.86; ping 61.215.209.94; tracert 61.215.209.94; done」を実行しました。コマンドプロンプトでも、ちょっとバッチスクリプト書けば同じことができます。特にツールは必要ありません。

  4.  まったく、子供騙しのテンプレですよね、自分はPCのことは詳しくありませんが、プロバイダー上の切断ではないこと位は、前後の状況でわかります。yahooのhpには接続できていますしね、、、その後ゲームに接続した所アカウント、パスワードまでは繋がっていましたし、、、まったくNCJには、誠意と言う言葉はないのでしょうかね。自分は徹底的に抗議を続けるともりです。

  5. 切断中にもWebページにアクセスできたのを理由にすると、NCJ以外のルータ(あるいは回線)障害でも同じことが起こり得ますから、NCJに逃げ口実を与えてしまうんですよね。やはり、面倒ですが正しく理解した上で抗議していただかないと、いまいち効果が…。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.