DNSとは?名前解決の仕組みを初心者向けにやさしく解説
普段Webサイトを見るとき、私たちはIPアドレスではなく example.com のようなドメイン名を入力します。
では、コンピューターはどうやって接続先を見つけているのでしょうか。
そこで重要になるのがDNSです。
DNSとは?
DNSは Domain Name System の略です。
簡単にいうと、ドメイン名とIPアドレスなどの情報を対応付け、名前から必要な情報を調べられる仕組みです。
たとえばブラウザで、
www.example.com
へアクセスするとき、通信には接続先のIPアドレスが必要になります。
DNSを利用することで、ドメイン名から対応するIPアドレスを調べられます。
このように名前から必要な情報を調べることを、一般に名前解決と呼びます。
なぜDNSが必要なの?
もしDNSがなければ、WebサイトへアクセスするたびにIPアドレスを覚える必要があるかもしれません。
人間にとって、
www.example.com
のような名前の方が覚えやすいですよね。
DNSがあることで、人間は分かりやすい名前を使いながら、コンピューターは通信に必要なIPアドレスを利用できます。
DNSは巨大な1台のサーバーではない
DNSは、世界中の情報を1台のサーバーだけで管理しているわけではありません。
DNSは階層的・分散的な仕組みになっています。
大まかには、
- ルートDNS
- TLDを担当するDNS
- 各ドメインの権威DNSサーバー
などが協力しています。
名前解決の流れ
利用者の端末は通常、設定された**DNSリゾルバー(再帰問い合わせを行うDNSサーバー)**へ問い合わせます。
必要な情報がキャッシュされていなければ、リゾルバーはDNSの階層をたどって情報を調べます。
イメージは次のとおりです。
PC
|
| example.com のIPアドレスは?
v
DNSリゾルバー
|
+--> ルート
|
+--> TLD
|
+--> 権威DNS
|
v
IPアドレスを取得
|
v
PC
実際にはキャッシュなどによって毎回すべての問い合わせが行われるわけではありません。
DNSキャッシュ
一度調べたDNS情報を一定時間保存して再利用する仕組みをキャッシュと呼びます。
キャッシュを利用すると、毎回同じ問い合わせを最初から行う必要がなくなり、効率よく名前解決できます。
どれくらい情報をキャッシュできるかに関係する値が**TTL(Time To Live)**です。
DNSレコード
DNSではさまざまな種類の情報をリソースレコードとして管理します。
代表例は次のとおりです。
| 種類 | 主な用途 |
|---|---|
| A | 名前とIPv4アドレスを対応付ける |
| AAAA | 名前とIPv6アドレスを対応付ける |
| CNAME | 別の正規名への別名を設定する |
| MX | メール配送先を指定する |
| NS | ゾーンを担当するDNSサーバーを示す |
最初から全部覚える必要はありません。
まずは「DNSにはIPアドレス以外の情報も登録できる」と理解しておきましょう。
DNSとWebサイト
DNSはWebサイトそのものを表示する仕組みではありません。
DNSの主な仕事は、接続先を見つけるために必要な情報を名前から解決することです。
その後、取得したIPアドレスなどを使ってWebサーバーとの通信が行われます。
つまり、
ドメイン名
↓
DNSで名前解決
↓
接続先を特定
↓
Webサーバーへ通信
という流れです。
🍯 はちみつメモ
今日覚えることは1つだけ!
DNS = ドメイン名からIPアドレスなど、通信に必要な情報を調べるための仕組み
まとめ
- DNSはDomain Name Systemの略
- ドメイン名とIPアドレスなどを対応付ける
- 名前から情報を調べることを名前解決と呼ぶ
- DNSは階層的・分散的に構成されている
- キャッシュによって効率よく名前解決できる
- A、AAAA、CNAME、MX、NSなどさまざまなレコードがある
次におすすめ
次は**「DHCPとは?」**を学びます。