こんにちは コーダーの小林です。
DNSやドメインについてはある程度知識を持っているつもりでしたが、深く突っ込まれるとあいまいなところがあったりします。今回、その辺をはっきりさせるべくまずはDNSやドメインについての基本概念を書くことにしました。
DNSとは
DNSとはDomain Name Systemの略です。ドメインとはいわばコンピュータの住所です。
コンピュータは通信の際に、IPアドレスで機器の判別を行っています。IPアドレスはIPv4の場合 157.7.188.191 というようにドットで4つに区切られた数列になっています。一方ドメインは example.com というような英数字です。
コンピュータ同士の通信ではドメイン名は必要ありませんが、管理しているのは人間ですので、人間からしてみたらIPアドレスは数字の羅列の為、比較的難解ではないでしょうか。
例えば、所在を人に表す際に「36.295879, 139.378984」とGPS座標を表すよりも「群馬県太田市東本町26-9 シティコーポ1F東」と住所を表した方が理解は早いでしょう。
というように、DNSではIPアドレスに「ドメイン名」という任意の名前を割り当て、人間でも読みやすいドメイン名にする役割をしているのです。
google.com ⇔ 216.58.197.238
例えばWebブラウザに google.com というアドレスを入力するとGoogleの検索ページが表示されます。実はこの瞬間にWebブラウザがバックグラウンドで google.com のIPアドレスをDNSに問い合わせ、そのIPアドレスを使ってアクセスしています。
このようにDNSサーバに問い合わせることを名前解決と呼びます。ホスト名からIPアドレスを問い合わせることを正引きといい、IPアドレスからホスト名を問い合わせることを逆引きと呼びます。Webブラウザをはじめとするほとんどの通信アプリなどは名前解決を行って通信しています。
DNS誕生の背景
1970年代コンピュータ通信の初期のころは、全てのホスト名とIPアドレスの対応表をファイルに記述していました。UNIX系OSには現在も/etc/hostsというホスト名とIPアドレスの対応表を記述するファイルがあります。数台程度の小さなネットワークではこのようなファイルに対応表を書いておくだけで事足りていましたが、端末の増加に伴い、この形式では管理が難しくなっていきました。
そこで、ホスト名とIPアドレスの対応を独立した別のシステムで一元管理するようになったのです。これがDNS:Domain Name Serviceです。
ドメインについて
ドメインは階層構造
ドメインは以下のように階層構造になっています。dicweb.co.jpを分解して説明します。
- . (ルートドメイン 後記)
- jp
- co
- dicweb
最後のdicwebが名前となっています。
トップレベルドメイン TLD
jp はトップレベルドメインと呼ばれる部分です。
トップレベルドメインには、組織別を表すgTLD:GenericTLDと国名を表すccTLD:country code TLDなどがあります。
gTLDは新規に追加され続けており、最近はshop、biz、asia、xyz、info、workなどが新たに追加されました。
com | 商用 |
---|---|
net | ネットワークサービス提供組織 |
org | 組織 |
edu | 教育機関 |
gov | 政府機関 |
mil | 軍事機関 |
jp | 日本 |
---|---|
us | アメリカ |
cn | 中国 |
kr | 韓国 |
セカンドレベルドメイン sTLD
co はセカンドレベルドメインと呼ばれる部分で、「co」はコーポレートサイトであることを示しています。
以下に主なセカンドレベルドメインを列挙します。
co | 商用 |
---|---|
ne | ネットワークサービス提供組織 |
or | 組織 |
ac | 研究機関 |
ed | 教育機関 |
go | 政府機関 |
以下に例として3つのサイトのドメインを挙げました。上記を踏まえて改めて各サイトのドメインを見てみましょう。
自衛隊 日本政府機関なのでgo.jp
www.mod.go.jp
日本銀行 日本の組織なのでor.jp
www.boj.or.jp
東京大学 大学ですが研究機関でもあるのでac.jp
www.u-tokyo.ac.jp
サブドメインとは
www.dicweb.co.jp というようにドメインの頭に www. という文字が付く場合があります。これをサブドメインと呼びます。
これはドメインに属するコンピュータが複数ある場合にそれらのアドレスを振り分ける際に登録する場合があります。
例えばftpサーバであれば、 ftp.dicweb.co.jp だとか、メールサーバであれば mail.dicweb.co.jp など。これらは dicweb.co.jp 所属のFTPとメールサーバを意味します。
隠れて存在するルートドメイン 「.」
我々は普段意識しませんが、実はドメイン名に省略されている文字があります。ドメインにはルートドメイン「.」というものが存在し、その直下にトップレベルドメインが位置しています。
そのため、 www.dicweb.co.jp は正式には www.dicweb.co.jp. なのです。ルートドメインは暗黙の了解なので略すことは可能ですが、DNSの仕組みを理解する上では知っておかなければなりません。
サブドメイン(あれば)とルートドメイン「.」を含めたフルのドメイン名「www.dicweb.co.jp.」をFQDN:Fully Qualified Domain Name(完全装飾ドメイン名)と呼びます。
ドメインはどこが管理しているの?
ドメイン名は世界中で絶対に重複が許されないユニーク名です。そのためドメイン名はレジストラと呼ばれる公式な団体が管理しています。レジストラの有名どころですと、お名前.comなどが挙げられます。ドメイン名の取得後DNSサーバに反映され次第、世界中から参照できるようになるのですが、ドメイン名はDNSサーバー同士でリレーすることによって浸透していくため、瞬時に切り替わる場合もあれば、完全に浸透するまで数日から数週間ほどかかる場合があります。