Web で楽しく遊ぶための知識(2) – IPアドレスとDNSとバーチャルホストと

てなわけで、2回目です。 🙂

前回は、

hiromasa.another :o) » Blog Archive » Web で楽しく遊ぶための知識(1)

サーバやネットワーク機器があるデータセンター。 これが世界中にあって、相互に接続可能な状態になっているのがインターネットです。 Web だけの話をすれば、分散された各会社が運営するサーバに Yahoo! とか Google とかが入っているイメージです。

という話でした。

インターネットの基幹となるネットワーク技術は、TCP/IP と呼ばれる通信プロトコルです。 インターネットに接続されている全世界のホスト(サーバとかPC)は、この TCP/IP の約束に従うことにより通信ができています。

インターネット・プロトコル・スイート – Wikipedia

インターネット・プロトコル・スイートとは、インターネットおよび大多数の商用ネットワークで稼動するプロトコル・スタックを実装する通信規約の一式である。 インターネット・プロトコル・スイートは、最初に定義され最も重要な2つのプロトコル、Transmission Control Protocol(TCP)とInternet Protocol(IP)にちなんで、TCP/IPプロトコル・スイートとも呼ばれる。 今日のIPネットワーキングは、1970年代に始まりコンピュータに革命をもたらしたもの、すなわちLAN(Local Area Network)とインターネットの発展が統合されたものである。

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 は、 https://another.maple4ever.net/。 これをブラウザの URL 欄にうちこむと、日本のどこかにあるデータセンターに接続されて、html が表示されます。

先ほどの説明からすると、ブラウザを立ち上げているコンピュータから、接続先を特定するのは IP アドレス。 ってことで、DNS サーバは URL のホスト名を IP アドレスに変換してくれる役目を持ちます。

another.maple4ever.net がホスト名。 これが 202.172.28.9 というIPアドレスであることを教えてくれます。

「このホスト名の IP アドレスをくれ」というDNS への問い合わせは、接続元のコンピュータが行います。 最近はこれらの設定がオートであることも多いのであれですが、古くからインターネットをやっている人は、プロバイダの設定シートに DNS という項目があるのを覚えている方もいるでしょう。 PC にこの設定をすることにより、名前の変換ができるようになります。

ということはホスト名がIPアドレスに変換されて、https://another.maple4ever.net/ と、http://202.172.28.9/ は同じこと。 早速やってみよう・・・!

[tegaki]あれ?つながんね~[/tegaki]

なんででしょ? でもデータセンターのサーバに接続自体はできているっぽい。 ここからは、サーバで動作する 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アドレスなのに、別のホスト名が扱えるようになります。

種の元は実は、クライアント側。 ブラウザくんが持っていて、https://another.maple4ever.net/ と指定されて Apache に接続したブラウザくんは以下のような電文を一緒にだします。

Host: another.maple4ever.net

ブラウザ(意訳)「あんたにつないだとき、打ち込まれたホスト名は"another.maple4ever.net"だったぜ・・・。」

Masayan「・・・」

ぼの「・・・」

ブラウザは、このように URL 欄のホスト名を自己申告する決まりになっていて、うけた Apache くんは、これを元に、そのホスト名にあった場所のファイルを返すようにつくられています。 これで、複数のホストを1台のサーバでまかなうことができるようになります。

先のように、バーチャルホストが設定されたサーバに対して、 http://202.172.28.9/ とアクセスしてしまうとホスト名が不明なため、どこを返していいか分からず、期待する結果にならないわけです。

まとめ。

レンタルサーバにドメイン付きでサーバスペースを借りて設定した。 これはほとんどの場合、以上で説明した設定がされています。 大きく2つ。

  • DNS サーバには、ホスト名(ドメイン)と Web サーバの IP アドレスの対応設定。
  • Web サーバには、バーチャルホスト設定としてホスト名とファイルのありかのマッピング。

レンタルサーバを借りたときに、なんでこんなに設定がわかりにくいんだろうと思った方も多いと思いますが、これは2つのサーバに対して同時に対応する設定を行わなければならないためです。

実際に自分で Web サーバを設定してみたりするのが早道だったりするのですが、まぁまぁこんな説明でももしかしたら役に立つかも知れないと思って書いてみました。

結構省いて書いてしまったので、なんちゃって感はぬぐえませんが、わけわからなくなったら思い出して読んでみてもらえればと思います。 🙂

Web で楽しく遊ぶための知識(1)

ふとですね、インターネットをあまり知らない人にその"実体"を教えるにはどうしらたいいのかを考えたことがあるのです。 ブラウザあげて、URL をいれるとなにかしらの画面がでる。 そこまでの理解はある人。 ネットワークとかサーバとか聞いたことはあるけど、よくわからん人。

ネットワークとかサーバなんか普段普通の人は見れないから、想像もつくわけもないですよね。 ってことで、ぼくは写真を見せるところから始めることにしています。

Datacenter-telecom

サーバやネットワーク機器があるデータセンター。 これが世界中にあって、相互に接続可能な状態になっているのがインターネットです。 Web だけの話をすれば、分散された各会社が運営するサーバに Yahoo! とか Google とかが入っているイメージです。

また、このネットワークにはいわゆるサーバだけでなく、ぼくらが家庭からつなぐようなコンピュータも参加でき、ISP と呼ばれる会社がネットワークにつないでくれています。

自分の使っているサーバや接続先が、どこのデータセンターなのか調べるのも楽しかったりするんですが、そうこうしているうちにインターネットの実体が見えてきます。 みなさんの使われているサーバははたしでどこでしょうか? ちなみに、hiromasa.zone は池袋のサンシャイン60ビルに入っています。 コアサバはどこなんだろ?

いまのインターネットの使われ方のメインストリームは Web と呼ばれる、http というプロトコルを使った、HTML ページの閲覧です。 最近はアプリケーション的なものも増えてきています。

この動作を理解するには、TCP/IP 系のいくつかの知識、http プロトコル、httpd と呼ばれる Webサーバの動作。 楽しく遊ぶくらいならそれほど多くの知識はいりません。

IPアドレスとか、DNS とか、Apache とか、バーチャルホストとか、GET とか POST とか。 ぼくも仕事ではなく、インターネットで遊んでいて覚えた知識です。 UG 時代は勉強になることが多かったですね(笑)

少し覚えれば、ちょいちょいやって、抜粋 RSS しかだしてないニュースサイトの全文 RSS を生成したり、ね。 こんなの公開したらたたきつぶされるので、自分でつくるしかないんですよ。 🙂

Image7

自由は自分の手で。 ってなんかに書いてありましたが、せっかくなので Web 系のお遊び知識をひろまさが書いていきたいと思います。(今時、知っている人はわざわざかかないのよね)

続く。

hiromasa.another :o) » Blog Archive » Web で楽しく遊ぶための知識(2) – IPアドレスとDNSとバーチャルホストと

インターネットの基幹となるネットワーク技術は、TCP/IP と呼ばれる通信プロトコルです。 インターネットに接続されている全世界のホスト(サーバとかPC)は、この TCP/IP の約束に従うことにより通信ができています。

WordPress で動画投稿を行う

といっても、youtube のタグはるだけなんですが、最近結構好きだったりします。 ちょっと敷居が高そうに感じますが、お手元のデジカメの動画モードでとった .avi ファイルを youtube にアップロードして、タグはるだけ。 思ったよりお手軽です。 🙂

youtube なら、320×240 のモノラル動画で十分。 最近のデジカメならもてあますかもしれませんね。 今時は携帯でも動画とれますか。

ぼくは、ブログの投稿に Windows Live Writer を使っているのですが、こちらは WP への youtube 動画投稿に対応しています。

右下の挿入ツールから「動画の挿入」を選択。

Image2

でもって、でてきたダイアログに youtube のタグを挿入。 youtube で挿入したい動画のURLを開いて、右のステータスのところ。

Image5

ここのタグを入れる。

Image3

そうすると、はいります。

Image6

うーん、便利便利。 🙂

yutaka さんの釣り動画とか、Masayan さんのバイク動画とか見てみたい今日この頃。 と人にふって、自分がやらないのもあれです。

[tegaki]やってしまぇぇ[/tegaki]

2008/1/4 正月。 札幌、気温 -4 度。 深夜 4 時の出来事である・・・。

日本三大ガッカリ、札幌時計台前でよっぱらってパラパラを踊るひろまさ(32)。

あ~、石をなげないで。(音声は諸般の事情でカットされています)

最近だんだんネタが、身を削っている気がするのですが、気のせいでしょうか(笑)