About
もうひとつの hiromasa.zone。-
Recent Comment
- WordPress Thematic フレームワークで hiromasa.another をつくる
(6)
02/23 Toru
02/23 ひろまさ
02/23 ひろまさ
02/23 M's Life 2
03/02 記事の下にでるメタ文字のカスタマイズ
- WordPress Related Post for Japanese 1.50 RC リリース (4)
- Eclipse PDT + XAMPP で WordPress の開発環境をつくる
(5)
03/05 power source*
- WordPress Thematic フレームワークで hiromasa.another をつくる
(6)
Kyodeki
Category
-
Random Post
WordPress
















Web で楽しく遊ぶための知識(2) – IPアドレスとDNSとバーチャルホストと
てなわけで、2回目です。
前回は、
という話でした。
インターネットの基幹となるネットワーク技術は、TCP/IP と呼ばれる通信プロトコルです。 インターネットに接続されている全世界のホスト(サーバとかPC)は、この TCP/IP の約束に従うことにより通信ができています。
Windows 95 はこの TCP/IP を標準でもった OS でした。 それまでの MS-DOS や Windows 3.1 は TCP/IP のプロトコルスタックを標準で持っていなかったために、インターネットに接続するのは別売の TCP/IP スタックを別途購入したり、やたらと手間がかかったものでした。 で、TCP/IP が標準導入された Windows 95 以降、めでたくインターネットが急速に発展していったわけです。
ここでは、"Web で楽しく遊ぶため"、なので小難しいことはおいておいて、ブラウザから URL をたたいてどのようにして世界中にあるデータセンターのサーバに接続され、画面が表示されるのかを書いてみたいと思います。
たぶん、以下が分かれば、「バリュドメとXREAの関係」とか「むーむーとロリポの関係」が読めてくるはずです。 レンタルサーバの設定がなんでこんなふーになっているかも、分かると思うのでトラブってもなんとかなるかもなのです。
まずは、IPアドレス。
インターネットに接続されているコンピュータには必ず IPアドレスという番号が振られます。 この番号で接続先を特定します。 202.172.28.9 とかこういうやつです。
で、この IP アドレスはインターネット上でユニーク(一意)なのですが、例外があります。 プライベートIPアドレスというやつです。 まず 10.*.*.*、172.16.*.*、192.168.*.*、というアドレスはインターネット上には存在しません。
一番最後 192.168.*.* のはよくみると思いますが、要は家庭や会社のネットワークにまでインターネット上の IP アドレスをふると、アドレスが枯渇してしまうので、そういったネットワークのホストにはプライベートIPアドレスをふります。
プライベートIP アドレスは世界中で重複するので、どーやって一意に通信しているんだ?って話にもなりますが、そこはそこ。 たとえば家庭での一般的な構成は、ルータがインターネット上のIPアドレスを持ち、ルータより中にいる PC はプライベートIPアドレスを持つ構成として、あとはルータくんがうまいことやってくれるようになっています。(こんなふうに、ルートをとってくれるから ルータ くんなのです)
これ以上書き始めるときりがないので、IP アドレスについてはここでおわり。 まずは、インターネット上のコンピュータには何らかの形で IP アドレスがつく、としておきましょう。
次は、DNS。 ドメインネームサーバ。 インターネットのデータセンターに配置されている、サーバの一つです。
ここのサーバの URL は、 http://another.maple4ever.net/。 これをブラウザの URL 欄にうちこむと、日本のどこかにあるデータセンターに接続されて、html が表示されます。
先ほどの説明からすると、ブラウザを立ち上げているコンピュータから、接続先を特定するのは IP アドレス。 ってことで、DNS サーバは URL のホスト名を IP アドレスに変換してくれる役目を持ちます。
another.maple4ever.net がホスト名。 これが 202.172.28.9 というIPアドレスであることを教えてくれます。
「このホスト名の IP アドレスをくれ」というDNS への問い合わせは、接続元のコンピュータが行います。 最近はこれらの設定がオートであることも多いのであれですが、古くからインターネットをやっている人は、プロバイダの設定シートに DNS という項目があるのを覚えている方もいるでしょう。 PC にこの設定をすることにより、名前の変換ができるようになります。
ということはホスト名がIPアドレスに変換されて、http://another.maple4ever.net/ と、http://202.172.28.9/ は同じこと。 早速やってみよう・・・!
なんででしょ? でもデータセンターのサーバに接続自体はできているっぽい。 ここからは、サーバで動作する httpd 、Web サーバソフトウェアのお話になります。
最後、Apache のバーチャルホスト。
データセンターに存在するサーバには、見せたい(見たい)ファイルが置いてあります。 閲覧者はブラウザをつかってそのファイルを取り出そうとするわけですが、その仲介をするのが Web サーバ(httpd) と呼ばれるソフトです。 よくつかわれているのが、Apache とよばれる httpd です。(他にもいろいろありますが便宜上 Apache でいきます)
httpd。 http はおいておくとして、最後の d はデーモン。 デーモン(demon)小暮閣下の方ではなく、守護神(daemon) のほうです。 たしか。
ここまでをまとめると、 Web サーバ というのは、データセンターにおいてある"物理的に1台"で、"1つのIPアドレス"をもち、"httpd が動いている機械"。 が実体になります。
しかし、冷静に考えると、たとえばこんな弱小 another.maple4ever.net に1台の機械と1この IP アドレスを割り当てていったら、かなりむごいことになります。。 いっくら、IP アドレスがあってもお金があっても足りません。。
ということで、考え出されたのがバーチャルホストです。 バーチャル、仮想。 なんとなく読めてきました。
バーチャルホストというのは、基本的に1台の Web サーバに1サイト(ホスト)しかおけないところを、複数扱えるようにする httpd の仕組みです。 接続先は同じ IPアドレスなのに、別のホスト名が扱えるようになります。
種の元は実は、クライアント側。 ブラウザくんが持っていて、http://another.maple4ever.net/ と指定されて Apache に接続したブラウザくんは以下のような電文を一緒にだします。
ブラウザは、このように URL 欄のホスト名を自己申告する決まりになっていて、うけた Apache くんは、これを元に、そのホスト名にあった場所のファイルを返すようにつくられています。 これで、複数のホストを1台のサーバでまかなうことができるようになります。
先のように、バーチャルホストが設定されたサーバに対して、 http://202.172.28.9/ とアクセスしてしまうとホスト名が不明なため、どこを返していいか分からず、期待する結果にならないわけです。
まとめ。
レンタルサーバにドメイン付きでサーバスペースを借りて設定した。 これはほとんどの場合、以上で説明した設定がされています。 大きく2つ。
レンタルサーバを借りたときに、なんでこんなに設定がわかりにくいんだろうと思った方も多いと思いますが、これは2つのサーバに対して同時に対応する設定を行わなければならないためです。
実際に自分で Web サーバを設定してみたりするのが早道だったりするのですが、まぁまぁこんな説明でももしかしたら役に立つかも知れないと思って書いてみました。
結構省いて書いてしまったので、なんちゃって感はぬぐえませんが、わけわからなくなったら思い出して読んでみてもらえればと思います。