ストーリー
DNSとは
一言で言うと
ドメイン名(名前)をIPアドレス(番号)に変換する仕組み
DNS = Domain Name System
電話帳の例え
電話帳: 「田中太郎」 → 090-xxxx-xxxx
DNS: 「google.com」 → 142.250.196.99
- 人間は 名前 で覚える(google.com)
- コンピュータは 番号 で通信する(142.250.196.99)
- DNSがその変換を行う
なぜDNSが必要なのか
もしDNSがなかったら
IPアドレスで直接アクセスする必要がある:
Google: 142.250.196.99
YouTube: 142.250.196.110
Twitter: 104.244.42.129
Amazon: 52.94.236.248
数字を覚えるのは大変ですよね。
DNSがあるから
名前で覚えればOK:
google.com → DNSが 142.250.196.99 に変換
youtube.com → DNSが 142.250.196.110 に変換
twitter.com → DNSが 104.244.42.129 に変換
amazon.co.jp → DNSが 52.94.236.248 に変換
ドメイン名の構造
基本構造
graph LR
Sub["www\nサブドメイン"] --- Domain["example\nドメイン名"] --- TLD[".com\nTLD(トップレベルドメイン)"]
style Sub fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#065f46
style Domain fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style TLD fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
TLD(トップレベルドメイン)の種類
| TLD | 用途 |
|---|---|
| .com | 商用(最も一般的) |
| .org | 組織 |
| .net | ネットワーク |
| .jp | 日本 |
| .co.jp | 日本の企業 |
| .dev | 開発者 |
| .io | テック系(元はイギリス領インド洋地域) |
ドメイン名の読み方
ドメイン名は 右から左 に読みます。
graph RL
TLD[".com(TLD)"] --- Domain["google(ドメイン名)"] --- Sub["mail(サブドメイン)"]
style TLD fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style Domain fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style Sub fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#065f46
これは階層構造になっています:
graph TD
Root[".(ルート)"] --> Com["com"]
Com --> Google["google"]
Google --> WWW["www"]
Google --> Mail["mail"]
Google --> Maps["maps"]
style Root fill:#fee2e2,stroke:#dc2626,stroke-width:2px,color:#991b1b
style Com fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style Google fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style WWW fill:#d1fae5,stroke:#059669,color:#065f46
style Mail fill:#d1fae5,stroke:#059669,color:#065f46
style Maps fill:#d1fae5,stroke:#059669,color:#065f46
DNSサーバーの種類
DNSの仕組みには、いくつかの種類のサーバーが関わっています。
DNSリゾルバ(キャッシュDNSサーバー)
あなたのPCが最初に問い合わせるサーバー。
- ISP(プロバイダ)が提供していることが多い
- 過去の問い合わせ結果をキャッシュ(一時保存)している
ルートDNSサーバー
DNSの最上位のサーバー。世界に13系統(複数台で冗長化)。
TLDサーバー
.com、.jp など、トップレベルドメインを管理するサーバー。
権威DNSサーバー
特定のドメイン(例: google.com)の情報を管理するサーバー。最終的な「正解」を持っています。
DNSのキャッシュ
DNSの問い合わせは頻繁に行われるため、結果をキャッシュ(一時保存)します。
キャッシュの場所
1. ブラウザのキャッシュ → 最初にここを確認
2. OSのキャッシュ → 次にここを確認
3. DNSリゾルバのキャッシュ → 次にここを確認
4. 見つからなければ実際に問い合わせ
TTL(Time To Live)
キャッシュの有効期限。この時間が過ぎるとキャッシュが破棄され、再度問い合わせが行われます。
google.com の TTL = 300秒(5分)
→ 5分間はキャッシュを使い回す
→ 5分後に再度DNSに問い合わせる
/etc/hosts ファイル
DNS以前からある、名前とIPアドレスの対応表です。
# /etc/hosts の例
127.0.0.1 localhost
192.168.1.100 myserver
- OSはDNSサーバーに問い合わせる前に
/etc/hostsを確認する - 開発環境でよく使われる(例:
localhostの設定)
まとめ
| ポイント | 内容 |
|---|---|
| DNS | ドメイン名をIPアドレスに変換する仕組み |
| ドメイン構造 | サブドメイン.ドメイン.TLD(右から読む) |
| DNSサーバー | リゾルバ、ルート、TLD、権威の4種類 |
| キャッシュ | 問い合わせ結果を一時保存して高速化 |
チェックリスト
- DNSの役割(名前→IPアドレスの変換)を理解した
- ドメイン名の構造(TLD、サブドメイン)を理解した
- DNSサーバーの種類を知っている
- キャッシュとTTLの仕組みを理解した
次のステップへ
DNSの基本が分かりましたね。
次のセクションでは、実際にDNSの 名前解決がどのような順番で行われるのか を詳しく見ていきます。
推定読了時間: 30分