<ネットワークの基礎知識>


  02/06/15


◎基礎編

1.IPアドレス

 ます最初にIPアドレスというのは 255.255.255.255 という形式で表示されるインターネット上でのアドレス(住所)である。4つのブロックに分かれており、それぞれが0〜255までの値を取れるので、256の4乗(約40億)通りの区別が可能という事になる。

 極めて基礎的なことから解説しよう。IPアドレスというのは電話でいう[電話番号]の事であり、あるコンピューターに接続する際にはこれを頼りにして接続が行われる。電話と同様に「接続するコンピューターそのもの」に印が付けられているわけではないので、これがわからないと目当ての相手には接続出来ない(電話機を買った時に「電話機そのもの」に番号が割り振られていて、その番号に接続するのでは無いのと同様)。
 例えばあるサイト [www.abc.com]という所に接続する時は、このサイトの持っているIPアドレスに対して接続が行われる。電話と違う所はネット上にはName Serverと呼ばれる変換用サーバーが存在しており、番号で無く名前でアクセス可能なことである。電話番号というのは文字通りに単なる番号なので、例えばabc商事に掛ける時はその番号を参照しなくてはならない。しかしインターネットではネームサーバー上で名前と番号の1対1の変換が行われており、abc商事のサイトの名前 www.abc.com でアクセスすると、これがIPアドレスに変換されて接続が可能になる。もし電話と同じシステムだと、その都度abc商事のIPアドレスは 251.221.36.153だから.....等とメモを参照して打ち込まないとならなかったりする。ネームサーバーのお蔭で普段我々はそのサイトのIPアドレスを意識せずに接続をして回れるわけだ。
  なお一度サーバーに接続した後の事、そのサーバーの中身を見て回る事に付いては別にIPアドレスは関係無い。例えばあなたが接続したのがwww.abc.com/main/guide/help01/answer.html という所だとすると、これは言わば団地内の○○区画×号棟何階何号室というレベルの話であり、それぞれのページが個別にアドレスを持っているのでは無いということ。単なるディレクトリである。
  
 ここで重要なのは電話番号同様にIPアドレスというものは全世界で同じ物が二つとあってはならないと言うことである。理由は簡単でそうなれば目的 の場所に接続するのに問題が生じてしまうからだ。ただしここに問題があって、実はこの番号が足りないのである。この規格そのものが作られた当時はまさかここまでインターネットが普及するとは考えていなかったという事があり、このシステムでは到底番号が足りない。まず割り振りの規格上番号がフルに使える訳では無く(詳細略)、また例えばある企業で社員一人に一台、合計数百台のコンピューターが稼動してネットに単体で接続可能ならば、それだけのアドレスが必要になってくる。だから40億等という数字では全然足りないと言っていいだろう。
 もちらんこの区分数を6ケタにしようという案(これならば全てのコンピューターに個別に割り振っても全然問題ない)はあるのだが、これは二千年問題と同様に4ケタを6ケタにするだけという単純なものでは無いので(現在ネットに関わるプログラムを書き換える必要が生じる)簡単には切り替えられないというのが現状だ。そしてこれがネットワークでのゲームに問題をもたらしているのである。

2.基本的な接続  −プロバイダへのダイアルアップ−

 最も基本的な形態、1台のコンピューターからモデムやTAを使ってその都度プロバイダに接続する場合、について。これがどのような方式で行われているかであるが、これは接続をするたびにその都度そのプロバイダが所持しているIPアドレスの一つが与えられるということになる。つまりあなたが接続する毎にIPアドレスは変わっているのである。不便では無いのか?と考えるかもしれない。しかし普段使用する時はあなたのコンピューターに接続をしようと考える人間はいないわけで(ハッカー以外)、別に何の問題も無い。あなたがダウンロードしようとするデータはあなたのIPアドレスを目指して流れてくる訳だが、接続を切るまでは同じIPアドレスなのだから目的地を見失う事は無いのだ。
 基本的にこの形式がネット上でホストとしてサーバーをやる場合も、クライアントとしてゲームに参加する場合も問題が一番少ない。

3.ネットワークゲームの仕組み

 あなたが誰か他人が開催しているゲームのサーバーヘ参加する、これは言い替えるとそのサーバーのIPアドレスに接続しているということである。自分がホストとしてゲームを開催し他人を接続させる場合、これは他人を自分のIPアドレスに接続させるということになる。いずれの場合も接続形態は大きく分けて二つ。

◎ゲームのネット用ブラウザを使う
 多くのゲームではマルチプレイのメニューから現在開催されているマルチプレイゲーム(サーバー)を検索可能である。この場合はホストの人間が付けたサーバーの名前が表示されるのでIPアドレスを意識する必要は無い。ホストをやる側の人間も名前を付けて公開してやれば良いので、IPを意識する必要は無い。
 例えばUnreal Tournamentを例に取ると、ホストが自分の立てるサーバーをリストで公開するというオプションにチェックを入れて開催するとこのデータが「現在開催されているゲームを管理するサーバー」に送られる。ゲームに参加したい人はサーバーリストにアクセスするとこのサーバー上のデータが送られてくるので、そこから参加したいものを選べば良い。当然そこには実際のIPアドレスの情報も含まれているので、今度はそのアドレスに直接接続されてゲームが出来る訳だ。なおゲームによりやり易さやその機能の有無は異なる、またGameSpyのような、複数の異なったゲームを同一のIF画面から検索出来るユーティリティーも存在する。

  ○ホスト側もクライアント側も簡単にプレイ可能
  ○IPアドレスを意識しなくて良い。仮にホストが落ちても、再度同様にして同じ名前につなぐだけである
  ×開催されているサーバーの検索に時間が掛かる(ものがある)
  ×ゲームが開始されても一定間隔で情報サーバーにデータは送られるので、ホストに余計な負荷が掛かる
  
◎個人レベルでIPアドレスを直接入力する
 例えば友人同士でゲームをする時にホストをする人から彼のIPアドレスを教えてもらい、その番号を直接接続画面から打ち込み接続する方式。要は直接番号に電話を掛けているような方式である。この方式の場合、ホストは自分の現在のIPアドレスを知らないとならない。ゲーム画面に表示されるものもあるが、基本的にゲームというのは最小化(window化)出来ない物が多いので、ゲームを立ち上げる前に調べておくべきだろう。WINであればC:\Windowsにあるwinipcfgというプログラムを起動するとわかる。当然のことだがこのIPアドレスは参加させたい人にわかるようにしておかなければならない。掲示板、チャット、ICQ、IRC等で事前に。

  ○公開しないので知らない人が乱入してくることがない(普通はパスワードを設定すれば済むが)
  ○直に接続するのでサーバー検索の手間がいらない
  ×ホストが落ちた場合。もしも回線ごと落ちたのならば再接続となるのでIPアドレスがその都度変わってしまう。よってその度に各人に何らかの
   手段で知らせる必要が生じる。
  ×IPアドレスは憶えにくいのでメモを取ったりとか面倒


*参考   接続方式には以下のような物もある。

 ・シリアル    ケーブルで直接複数のマシンを接続する
 ・モデム     直接電話を掛けてつなぐ方式で昔はこれがメインだった。当然2人でしか遊べないし電話番号を知らせる必要があるのでかなり
           限定的にしか遊べない。料金も掛けた方にだけ負担が掛かる。
 ・IPX/SPX    LAN接続の事。現在でもほとんどのゲームが対応しているが、日本ではこれで遊べるような恩恵に預かれる所は滅多にない。


◎トラブル編

1.ルータ(ルーター)
 簡単に原理だけ説明する。ルータというのは複数のコンピューターから共通の回線を使用してネットにアクセス出来る機器である。バリエーションはいろいろとあるがここでは最も単純な形態のみ解説しよう。典型的な例として個人で2台のPCを所持していて片方はサーバーとして使用しており、両方のマシンから同様にネット上に接続可能にしてあるとする。モデムやTAは単体でシリアルで接続する為にこのような使い方には適さないので、こういう場合は(ダイアルアップ)ルータを使用することになる。つまり2台ともルータに接続されており、共通のルータを通してネットにアクセスしているという事だ。
 もし2台のマシンが異なったIPアドレスを持てるのであれば問題は無い。しかし通常は先に書いたようにIPアドレスが足りない為に、もらえるIPアドレスは1接続で一つだけである。よって内部的に番号を振って区別する。それぞれに01、02のような内部的な番号を付けてやり、データのやり取りをルータで制御してやるのである。つまりルータがネットからやってきたデータを、これは01の要求した物だから01へというように振り分けをするということだ。これならば混信は無いので通常のブラウズに関しては同時に行っても問題は無い。

 しかしネットでゲームをする場合には問題が生じる。自分がクライアントならば普通問題は無い。仮に01側からのアクセスとして、ホストにアクセスする時は通常と同じ事だし、要求に応じてホストから帰ってくるデータはルーターが01に送ればいいとわかっているからだ。しかし自分がホストをやる  場合、これは逆に外からアクセスされることになる。この場合01、02の区別はあくまでも自分の「ローカル」な環境での話なので、相手からは自分のコンピューターが見えない。本来は1台しかあってはならないはずのIPアドレスが2台で同時に使われているからである(外から見ると)。よってルータまでは来れるがその先へは進めないので、IPアドレスはあるのにホストは出来ないという事が生じる。電話で言うと子機から直接外へ電話は出来るが、外から親機子機を指定して直接電話は出来ないと言うのと同じ事。
 なおこの場合はクライアント側・ホスト側いずれの場合も、トラブル時にはルータの内部設定変更で通常は直せる。しかし具体的にどうやったら良いのかはそのゲームのネット上の管理の仕組み、使っているルータのメーカーや種類によっても変わってくるので、これはどこかで情報を集めるしかないだろう。

2.ファイアーウォール
 日本ではあまりいないと思うが企業内のLANから外部にアクセスしてネットワークで遊ぶとか、或いは個人的にマシンにFirewallソフトをInstallしている場合。後者の場合はちゃんとPort等の設定をしてやる事でホストは可能であるし、うまく行かなければ一時的にソフトを止めれば何とかなる。しかし前者の場合は自分がネットワークの管理者でもない限りは難しいと考えた方が良いだろう。特にホストをやるのは無理。ホストをやるというのは外部から無制限にそこへアクセスされるという事であり、そのような行為を許すセキュリティの企業サーバーは無いと思われるからだ。もちろんその辺詳しい人間でポート等をいじれる権限があるのならば可能になるが。

3.ケーブル(CATV)
 ケーブルネットワークに関してもほぼルータと同様に考えて良い。これは言わばケーブルの会社が全ての加入者の回線を束ねて外部にアクセスしている方式である。外部のインターネットに出ていくポイントが何箇所かあって、そこを加入者全員で共有しているといるイメージになる。ここで問題になるのがもらえるIPアドレスがLocalかGlobalかである。Local(局所)IPアドレスとはそのケーブルTV内での識別番号であり、その中でしか通用しない。だからこれだとネットにアクセスしてクライアントになるのは問題ないが、ホストの場合は外から来る人があなたのマシンまで来れないのでこれは不可能である。非常に残念なのだが、10数人を入れられるだけの回線容量を持ちながらホストを立てる事が出来ないというケースが多いのだ。
 逆にGlobal(全体)IPアドレスというのは普通のIPアドレスの事で、これがもらえるのであればホストは可能である。よってケーブルに切り替える時は加入会社がどちらのIPをくれるのかを調べてからでないとならない。これを知らないとその為に変えたのにホストが出来ないという悲劇が待っている。なお有料でGlobalをもらえる所もあるようなのでよく確認してから加入しよう。


  戻る