リビング+:連載 2003/03/26 22:02:00 更新
ブロードバンド診療所

ブロードバンド診療所:番外編
Xbox Liveの微妙な事情

今日は現場での“トラブル解決”を少し離れて、読者からの疑問に答えることとしよう。テーマは、第一回でもとりあげたXbox Liveだ

 今回は、第1回で扱ったXbox Liveの接続(記事参照)に関する、追加情報だ。その回では、DMZ機能を利用してXbox Liveに接続する方法を説明したが、その後ある読者から一通のメールが届いた。それを要約すると、以下のようになる。

 「記事では、UPnP非対応ルータでXbox Liveを使うには、DMZの設定が必要とあります。しかしMicrosoftの公式サイトには、マイクロ総合研究所のルータのように、UPnP非対応ルータながらDMZの指定がないものがあります。これはどういうことでしょうか?」

 こちらでも確認してみたが、確かに一部、UPnP非対応ルータでもDMZの設定なしで、Xbox Liveへの接続が可能なものがある。これについて検証し、どのようになっているのかを考察してみよう。

確かに問題なく接続する

 まず、実際にUPnP非対応ルータを用意し、Xbox Liveに接続できるか、確認してみた。前回と同じ環境を構築し、そこにテスト用のルータとして、マイクロ総研の「NetGenesis Super OPT70」を接続する。その配下にXboxを接続し、XBox Liveがつながるかどうか試した。

 結果として、確かにDMZの設定をせずとも、(というか、何の設定をせずとも)問題なく接続できてしまった。UPnP非対応ルータでも、機種によっては接続できることになる。

 ここで、ひとつ疑問が生じる。第1回でも説明したように、ルータ配下のNAT環境では、NATの内側から通信を開始しないと正常に通信ができない。外側からも通信が開始されるXbox Liveで、どうして正常な通信が可能になるのだろうか。

ルータが通信内容を監視している?

 これについては、実は対応策がないわけではないのだ。まず1つ目が、ルータが特定のポートを利用するデータを監視し、独自に処理を行う方法(*)。ルータは、通信内容を解析して、その内容から配送先を決めたり、パケットを加工したりする。いわば、特定のポートを利用して通信を行うソフトウェアに、“個別対応”している、と考えることができる。

*「相手側から開始する通信」と言っても、実際には、こちらから何らかのデータを送ることなしに、いきなりサーバ側から通信を開始することはほとんどない。そのため、このような手段が取れる

 たとえば、よく利用されるFTPに関しても、ルータ配下にある場合はこの方法で通信を行っている。現在は、ルータ側でFTPへの対応が進んでおり、ほとんど気にする必要はないのだが、初期のルータ(ISDNダイヤルアップルータなど)ではよく、FTPソフト側で「パッシブモード利用」の設定をする必要があったものだ。

 また、同種の対応を行っているソフトとして、メッセンジャーソフトが挙げられる。実際、OPT70でもWindows Messengerに関しては、TCPの1863ポートを監視して、そこを流れるMSNPパケットとそれに派生するSIPパケットを加工する動作をすることで、ボイスチャットに対応している。

/broadband/0303/26/ftp.jpg
 ケースA(クリックで拡大)

 それでは、今回のOPT70ではXbox Liveに関して、そのような対応を行っているのだろうか? その点に関してマイクロ総研に問い合わせたところ、奇妙な回答が返ってきた。

 「Xbox Liveの動作に関しては情報がなく、また特にゲーム機を意識して対応作業をしたようなこともない。したがって、こちらとしても、なぜ何の設定もせずに動作するのか不明だ」というものだった。

残る可能性は……

 そうなってくると、もうひとつの方法で対応できている可能性が、高いかもしれない。その方法は、第1の方法と近いのだが、NAT内部からの通信をチェックし、内部からある相手にデータを送信した場合、その相手からデータが送られて来たら、一定期間はそのデータを“相手にデータ送信したマシン”に送るというものだ。

 これは、NATの原理と似ているが少し違う。NATでは基本的にTCPのコネクションを利用して配送先を決めるが、この方式では一定期間無条件に通信の配送先を決めるのだ。

 これはストリーミング配信のようにTCPではなくUDPを利用する場合、UDPではコネクションの概念がないため。NATではうまく動作しないところを、カバーするために行う動作だ。

 UDPはTCPのようにコネクションを設定せず、一方的にデータを送信するプロトコルだ。そのためデータの信頼性は上位アプリケーションで確保する必要があるが、その分一度に多くのデータを送信でき、リアルタイム性に優れている。そのため、オンラインゲームなどでもTCPではなくUDPを利用する場合が多い。

/broadband/0303/26/udp.jpg
 ケースB(クリックで拡大)

 今回、Microsoft側にもXbox Liveでの通信プロトコルに関して問い合わせを行ったが、非公開ということで、詳細は分からなかった(これは私見だが、MicrosoftとしてはNAT環境ではUPnPを利用することを推奨しているのだろう)。したがって、Xbox LiveがUDPで通信を行っているという確証もないが、もしそうだとすると、この方法で通信がうまくいっている可能性がある。

 いずれにせよ、プロトコルの詳細が不明なので、どのようにして動作させているのかを判断するのは非常に困難。ただし今回に関していえば、マイクロ総研もOPT70でXbox Liveが動作することを保証できないようだ(これは、なぜ動作しているのかが不明なのでしかたないことだろう)。極端な話をすれば、ファームウェアのアップデートでOPT70内部での動作に変更が生じた場合、Xbox Liveでの通信が不可能になってしまう可能性も、ないとは言い切れない。

 ただ、マイクロ総研のコメントとして「今後はUPnPはますます必要になっていくものであり、現在対応の準備中だ」ということでもある。現時点ではやはり、将来のことを見越してUPnP対応ルータを利用するのがベストの方法といえるのではないだろうか。


関連記事
▼ブロードバンド診療所:「集合住宅のIPアドレス重複」を解決する
▼ブロードバンド診療所:「ルータのブラックホール現象」を解決する
▼ブロードバンド診療所:Xboxの接続トラブルを解決する

関連リンク
▼Xbox Liveのサイト
▼マイクロ総合研究所

[柿島真治,ITmedia]



モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!