IT用語を超やさしく理解する
DNS
別名: Domain Name System / ドメインネームシステム / 名前解決
30秒で思い出す
DNSは、ドメイン名のような人が扱いやすい名前から、通信に必要な情報を探す仕組みです。
Webサイトを見るときは、たとえば example.com のような名前に対応するIPアドレスをDNSで調べ、その結果を使って通信先へつながります。
超やさしく理解
DNSは、よく「インターネットの電話帳」にたとえられます。
あなたが友だちへ電話するとき、名前は覚えていても電話番号を毎回暗記している必要はありません。連絡先から名前を探せば、対応する番号が見つかります。
DNSも似ています。
人が使う名前
example.com
↓ DNSで調べる
通信に使う情報
IPアドレスなど
人は 203.0.113.10 のような数字より example.com のような名前の方が扱いやすいため、DNSがその間をつなぐ役割をします。
ただし、電話帳のたとえには限界があります。DNSは世界中の情報を1冊の電話帳や1台のサーバに全部保存しているわけではありません。情報は複数のDNSサーバに分散して管理されています。
正確にはどういうもの?
DNSは Domain Name System の略です。
DNSの情報は分散して管理されています。利用者の端末は通常リゾルバへ問い合わせ、再帰的な名前解決を担当するDNSリゾルバが必要に応じて複数のネームサーバへ問い合わせて答えを探します。
DNSで取得できる情報はIPアドレスだけではありません。DNSには名前に対応するさまざまな種類の情報を登録できます。MVPでは細かなResource Recordの種類を暗記する必要はなく、**「名前を手掛かりに、その名前に関連付いた必要な情報を取得する仕組み」**と理解できれば十分です。
Webサイトを見るときの流れ
大まかには次のように進みます。
1. ブラウザにドメイン名を入力する
2. DNSでその名前に対応する情報を問い合わせる
3. IPアドレスなど、通信に必要な情報を得る
4. 得られた情報を使って通信先へ接続する
5. HTTP / HTTPSなどを使ってWebのデータをやり取りする
ここで重要なのは、DNSとHTTP / HTTPSは別の役割だということです。
DNSは主に「どこへつなぐかを調べる」ために使われます。Webページそのものを運ぶのはDNSではありません。実際のWebデータのやり取りにはHTTP / HTTPSなどが使われます。
なぜ必要?
もしDNSがなければ、利用者は通信先を指定するときにIPアドレスを直接扱う場面が大幅に増えます。
DNSがあることで、人は覚えやすい名前を使いながら、コンピュータは通信に必要な情報を取得できます。また、名前と実際の通信先を分けて管理できるため、サービス側が構成を変更しても利用者が同じドメイン名を使い続けられる場合があります。
キャッシュはなぜある?
同じ問い合わせのたびに遠くのDNSサーバまで最初から調べ直すと、時間も通信量も増えてしまいます。
そのためDNSでは、以前に取得した結果を一定時間再利用する キャッシュ が使われます。
前に調べた結果がまだ使える
↓
キャッシュから回答
↓
毎回すべてを問い合わせなくてよい
MVPでは「キャッシュによって問い合わせ結果を再利用し、待ち時間やDNSサーバへの負荷を減らせる」と理解できれば十分です。TTLなどの細かな制御は、さらに詳しく学ぶ段階で扱います。
よくある勘違い
DNSがWebページを送ってくれる?
いいえ。DNSはWebページ本体を運ぶ仕組みではありません。DNSで通信先を調べたあと、WebのデータはHTTP / HTTPSなど別の仕組みでやり取りします。
DNSはドメイン名をIPアドレスに変えるだけ?
それだけではありません。IPアドレスの取得は代表的な使い方ですが、DNSは名前に関連付いた複数種類の情報を扱える仕組みです。
DNSとドメイン名は同じもの?
違います。ドメイン名は「名前」で、DNSはその名前に関連する情報を問い合わせるための仕組みです。
DNSは巨大な1台のサーバ?
違います。DNSは分散した仕組みで、複数のネームサーバがそれぞれ情報を担当しています。
ここまで分かればOK
このKnowledgeでは、次のことを説明できればOKです。
- DNSが名前解決に使われる
- ドメイン名からIPアドレスなどの情報を取得できる
- DNSとHTTP / HTTPSは役割が違う
- DNSは1台の巨大サーバではなく分散した仕組みである
- DNSでは問い合わせ結果をキャッシュして再利用する場合がある
- DNSが扱う細かなRecord種類の暗記は、ここではまだ不要
資格との関係
ITパスポート試験
- シラバス
- Ver.6.5
- 必要な理解
- Level 2
- 重要度
- medium
- 分野
- technology / network-application
関連するKnowledge
理解できたか確認しよう
答えを選んで、なぜそうなるのかまで確認できます。
確認問題 1
名前解決に失敗したとき
あるPCでは、対象サーバのIPアドレスを直接使った疎通確認は成功します。しかし、同じ対象のドメイン名を使うと通信先を特定できません。
最初に確認する対象として最も適切なものはどれですか?
確認問題 2
DNSの基本的な役割
DNSの役割として最も適切なものはどれですか?