社内では勉強会を定期的に開催しておりますが。
せっかくですので、勉強会で行った内容をまとめ、ご紹介したいと思います。
IPアドレス
IPネットワーク(インターネットやイントラネット)上で通信を行うためには、IPアドレスという住所が必要です。
住所が分からないと、行先いを特定できない為です。
IPアドレスは、通信を行う機器全てに必ず1つ以上割り振られています。
IPアドレスには、現在IPv4とIPv6の2つが混在しています(バージョン4とバージョン6)。
ここでは説明を簡単にするため、IPv4で説明します。
IPアドレスの例
182.22.59.229
↑ YAHOO! JAPANウェブサイトのIPアドレスです。
0~255で示される、4つの数字を「.」で区切った文字列がIPアドレスです。
このIPアドレスでのみ、インターネットをはじめとするIPネットワークは、通信相手を特定する事が出来ます。
IPアドレスとホスト名
上で示した通り、IPアドレスは数字の羅列なので人間にとって分かりにくいものです。
そのため、通信先をIPアドレスではなく英数字で「www.yahoo.co.jp」というように名前で表そう、という事になりました。
これが「ホスト名」です。
しかしながら(繰り返しますが)、IPネットワークではIPアドレスでしか通信相手を特定できません。
そこで、ホスト名からIPアドレスを変換するという作業が必要となるわけです。
この「ホスト名からIPアドレス」の変換のために使われる情報が、「hostsファイル」です。
Linuxであれば「/etc/hosts」ファイル。
Windowsであれば「C:\Windows\system32\drivers\etc\hosts」がそれです。
一度は見聞きした事ありませんか?
上のYAHOO! JAPANウェブサイトだとこのようなhostsファイルが出来るはずです。
182.22.59.229 www.yahoo.co.jp
182.22.59.229 yahoo.co.jp
IPアドレスとホスト名の管理
IPネットワークが出来た当初は、こういったファイルを皆で作成、管理しあうという事を行っていました。
※本当にファイルをコピーしあっていました。
通信機器(ホスト)が追加されたら、hostsファイルを書き換えて、そのファイルを全員に配布していました。
そのため、UUCP(Unix to Unix Copy Protocol)という通信手順が作られたり、独自の配布方法を考案したりと・・皆頑張っていました。
しかし、インターネットをはじめとするIPネットワークの利用者が増えてくると、こういった管理は段々難しくなってきます。
配布先が膨大になりますし、ホスト名を各々が勝手に決める事が出来てしまうので、ホスト名が重複する、事も起き始めてきました。
ドメインの発明
そこで偉い人達は考えました。
そして、膨大に増えたホスト名を、うまく管理するための概念「ドメイン」を発明したのです。
まず、ホスト名を次のような名前で管理するように決めました。
www.yahoo.co.jp
ホスト名を途中「.」で区切り、ホスト名を管理する範囲(つまりこれが「ドメイン」です)を明示出来る様にしたのです。
そして、
①範囲(ドメイン)単位でホストを管理して下さい(*1)
②ドメインを管理する人を決めてください(*1)
③ドメイン配下にドメインがあるのであれば、配下(1つ下)のドメインを管理する人(*1)を知っておいて下さい
というルールを作ったのです。
*1 管理する人とは、実在する人や組織、そしてネームサーバの事です
www.yahoo.co.jp というホスト名は
①yahoo.co.jp という範囲(ドメイン)内で、「www」というホスト名とIPアドレスを管理して下さい
②yahoo.co.jp というドメインを管理する人を決めてください
という事を行う前提で名前付けされたものなのです。
co.jp はドメインです
co.jp ドメインには、配下のyahoo.co.jpドメインがあります。しかしながらホストは持っていないようです。
つまり
②co.jpドメインを管理する人を決めてください
③配下にいる yahoo.co.jpドメインの管理者を知っておいてください。
というルールのもと、co.jpドメインは運営されているわけです。
jp もドメインです
jpドメイン管理者は、配下に「co.jp」ドメインがあります。こちらもホストは持っていないようなので
②jpドメインを管理する人を決めてください
②配下にいる co.jpドメインの管理者を知っておいてください。
というルールのもと、jpドメインは運営されております。
なお、jpドメインのように最上位に位置するドメインを「トップレベルドメイン」と呼びます。
ドメインは階層化されている
・yahoo.co.jp ドメインは、co.jp ドメイン配下です。
・co.jp ドメインは jp ドメイン配下です。
このように、ドメインは階層化されていると言うことができます。
この階層の上下関係を示すための言葉として、配下のドメインを「サブドメイン」と呼ぶようになっています。
委譲
co.jpドメインや jpドメインは、配下のドメインまでは管理しますが、「www.yahoo.co.jp」 というようなホスト名がどのIPアドレスになるのかまでは知りません。
配下のドメインで管理しているホストは、配下のドメイン管理者だけで管理しなさい、というように管理権限を「委譲」しているのです。
この概念はとても重要です。
なぜなら、ホスト名とIPアドレスの管理を配下のサブドメインに委譲することで、管理の負荷を分散させることが実現出来たからです。
IPアドレスとホスト名の関係で話しました、「利用者が増える事により管理が難しくなる問題」が解決出来たわけです。
本当に世の中には頭のいい人がいるものです。
なお、この仕組みは「DNS(Domain Name System)」と呼ばれております。
よく聞く名前ですよね。
ドメイン名とホスト名の関係
yahoo.co.jpというドメインがあります。
このドメイン管理者が、「yahoo.co.jp」というホスト名とIPアドレスを登録すれば、それはドメイン名でもありホスト名でもあります。
このドメイン管理者が、「www.yahoo.co.jp」というホスト名とIPアドレスを登録し、www.yahoo.co.jpというサブドメインを作らなければ、それはホスト名です。
このドメイン管理者が、「mail.yahoo.co.jp」というサブドメインを登録した場合(サブドメインの管理者を立てた場合)。
「mail.yahoo.co.jp」というサブドメイン管理者が「mail.yahoo.co.jp」というホスト名とIPアドレスを登録すれば、それはドメイン名でもありホスト名でもあります。
「mail.yahoo.co.jp」というサブドメイン管理者が「mail.yahoo.co.jp」というホスト名を登録しなかったら、それはドメイン名でしかありません。
この関係から、ホスト名は
ホスト名 =(ローカルホスト名.)ドメイン名
と定義付けする事が出来ます。
※実際のところ、ホスト名とIPアドレスの紐付けを
ローカルホスト名 IPアドレス
www 182.22.59.229 ← www.yahoo.co.jp というホスト名と、IPアドレスを定義しています
. 182.22.59.229 ← yahoo.co.jp というホスト名と、IPアドレスを定義しています
というかたちで登録しているため、このように「ローカルホスト名」という呼び方が必要となるのです。
お終い
本当はDNSの動きとか知ってもらった方が、なぜ反映に時間がかかるとか(浸透)、どうやって定義すればよいか、など理解が深まるのですが、長くなるので一旦おしまいにします。
IT相談役始めました
当社では、システム開発やサイト制作以外にも、システムにまつわる様々な相談をお受けしております。
・システム導入を検討しているが、ITに詳しい人間が社内にいないから判断がつかない。
・社内SEを育成したい。技術的な事で相談したい。
・ウェブサイトで集客をしたいがどうすればよいかわからない。
・システム業者、ウェブサイト制作業者の言っている事が正しいかどうかわからない。
システムにまつわる様々な相談を毎月のサブスクリプション契約でお受けするサービスです。
最初は単発で相談をいただいていましたが、問題になる前に解決出来た方がよく。
そのためには継続した関りが必要なので、毎月のサブスクリプション契約としました。
気軽に相談できる環境が良いと思い、月1万円で行っております。
初回のご相談は無料ですので、お気軽にお問合せ下さい。