DNSって、そもそもナニ?

はじめに

みなさんは、スマホやパソコンでWebサイトを見るとき、アドレスバーに https://www.example.com のような文字を入力しますよね。あの「www.example.com」の部分を ドメイン名(ドメインネーム)と呼びます。

でも、コンピュータは実は「www.example.com」という文字列を直接理解できません。コンピュータ同士がインターネット上でやりとりするときは、IPアドレスという数字の住所(例:192.0.2.1 のような数字の羅列)を使っています。つまり、こういうことです。

人間が使うものコンピュータが使うもの
www.example.com192.0.2.1
"渋谷スクランブル交差点"北緯35°39′32″ 東経139°42′3″

「渋谷スクランブル交差点」という名前のほうが覚えやすいですよね。ドメイン名もまったく同じ発想で生まれた仕組みです。

合わせて読みたい

ドメインの構造

ドメイン名は、右から左へ読むと構造がよくわかります。

  • TLD(トップレベルドメイン):.com、.jp、.net など。国や用途を示す大分類。
  • セカンドレベルドメイン:組織や企業の名前。example の部分。
  • サブドメイン:サービスや用途ごとの細分類。www(ウェブ)、mail(メール)など。

ドメインは世界中で重複しないよう管理されており、取得するには登録事業者(レジストラ)を通じて申請・購入する仕組みになっています。

DNSとは?

DNS(Domain Name System) は、一言で言うと

「ドメイン名 ↔ IPアドレス」を変換してくれる、インターネットの電話帳

です。

あなたがブラウザに www.example.com と入力した瞬間、裏側ではものすごいスピードで次のようなことが行われています。

DNS の仕組みを「宅配便」で例えてみる

DNS の動作は、荷物の宛先を調べる作業に例えるとわかりやすいです。

ステップ① あなたのPCが「聞く」

ブラウザが「www.example.com のIPアドレス教えて!」と、近くにある フルサービスリゾルバ(キャッシュDNSサーバー)に問い合わせます。 フルサービスリゾルバは、プロバイダやルーターが用意してくれているDNS係のことです。

ステップ② 「知らないから上に聞く」を繰り返す

フルサービスリゾルバが答えを知らない場合、さらに上位のサーバーへ問い合わせます。

この一連の流れは、体感では 0.1秒以下で完了します。まさに神速です。

ステップ③ 結果をキャッシュしておく

同じ問い合わせが何度も来ると無駄なので、フルサービスリゾルバは一定時間(TTL:Time To Live)、答えを記憶(キャッシュ)しておきます。 TTLは管理者が設定でき、「5分」から「24時間」など様々です。

DNSに登録される情報「レコード」とは?

DNS サーバーには、ドメインに関するいろいろな情報がレコードという形で保存されています。代表的なものを紹介します。

レコードの種類役割
A レコードドメイン → IPv4アドレスexample.com → 192.0.2.1
AAAA レコードドメイン → IPv6アドレスexample.com → 2001:db8::1
CNAME レコードドメインの別名(エイリアス)www.example.com → example.com
MX レコードメールの送り先サーバーexample.com のメールは mail.example.com へ
TXT レコードテキスト情報(認証用途など)SPFレコード、ドメイン所有確認など

DNSが無いと困ることは・・・

DNS がなかったら、インターネットはどうなるでしょうか?

  • ブラウザに www.example.com と打っても、どこにも繋がらない
  • 毎回 192.0.2.1 のような数字を覚えて入力しなければならない
  • サーバーのIPアドレスが変わるたびに、利用者全員に通知が必要になる

DNS のおかげで、管理者はIPアドレスを変えても DNS のレコードを更新するだけで済みます。利用者は何も気にしなくてOKです。

まとめ

ポイント内容
ドメイン名人間が覚えやすいインターネット上の「名前」
IPアドレスコンピュータが通信に使う「数字の住所」
DNS名前 ↔ 住所を変換する「インターネットの電話帳」
フルサービスリゾルバ身近な「DNS の取次役」
権威DNSサーバードメインの正式な情報を持つ「本家」
TTLキャッシュの有効期限
DNSレコードIPやメールなど、ドメインに紐づく各種情報

DNS は、インターネットを毎日使っていながら、ほとんど意識することのない縁の下の力持ちです。 しかし、Webサイトの公開・移転・メール設定など、あらゆる場面でこの仕組みが動いています。「なんとなく動いている」を「わかって動いている」に変えるだけで、トラブルへの対応や設定作業がグッと楽になりますよ。