DNS (Domain Name System)(ディーエヌエス)
Paul Mockapetris 1983年設計のドメイン名↔IP アドレス変換システム。RFC 1034 / 1035・分散階層型データベースで Internet の名前解決を担う基盤プロトコル。
概要
DNS (Domain Name System) はPaul Mockapetris (USC ISI・Information Sciences Institute) が1983年にIETF RFC 882 / 883 で公開、1987年RFC 1034 / 1035 で現行標準化したドメイン名↔IP アドレス変換システム。Internet の「電話帳」として、人間が読みやすいドメイン名 (example.com) を IP アドレス (192.0.2.1) に変換する分散階層型データベース、Root DNS (13台 + Anycast)・TLD (.com / .jp等)・Authoritative・Recursive Resolver の階層構造で世界中の名前解決を担う Internet の基盤プロトコル。
DNS の階層構造
[Root DNS (13台 + Anycast)]
├── [.com TLD]
│ ├── [example.com Authoritative]
│ │ ├── www.example.com → 192.0.2.1
│ │ └── api.example.com → 192.0.2.2
│ └── ...
├── [.jp TLD]
├── [.org TLD]
├── [.net TLD]
└── [other TLDs ...]
解決フロー
1. ユーザ「example.com」をBrowser に入力
2. Browser → OS DNS Cache 確認
3. OS → ISP DNS Resolver (Recursive・例 8.8.8.8)
4. Recursive → Root DNS (.com TLD はどこ?)
5. Recursive ← Root: .com TLD = 192.5.6.30 (Verisign)
6. Recursive → .com TLD (example.com はどこ?)
7. Recursive ← TLD: example.com Authoritative = ns1.example.com
8. Recursive → Authoritative (www.example.com の IP?)
9. Recursive ← Authoritative: 192.0.2.1
10. Recursive → OS → Browser: 192.0.2.1
通常50-200ms 程度 (CDN利用で10-50ms)。
DNS Record 種類
| 種類 | 用途 |
|---|---|
| A | IPv4 アドレス |
| AAAA | IPv6 アドレス |
| CNAME | 別名 |
| MX | メール交換ホスト |
| NS | ネームサーバ |
| TXT | 任意テキスト (SPF / DKIM / SSL 検証等) |
| SOA | ゾーン情報 |
| PTR | 逆引き |
| SRV | サービス指定 |
| CAA | 証明書発行可能CA |
| HTTPS | HTTPS 設定情報 |
| SVCB | サービスバインディング |
TLD (Top-Level Domain) 種類
| 種別 | 例 |
|---|---|
| gTLD (Generic) | .com / .net / .org |
| ccTLD (Country) | .jp / .uk / .de |
| sTLD (Sponsored) | .gov / .edu / .mil |
| New gTLD | .app / .blog / .tech (1,500+ 種類) |
DNS 主要マイルストーン
| 年月 | 出来事 |
|---|---|
| 1983-11 | RFC 882 / 883 (DNS 初版) |
| 1984-09 | BIND 4.0 (UC Berkeley) |
| 1987-11 | RFC 1034 / 1035 (現行標準) |
| 1995-08 | RFC 1886 (IPv6 AAAA) |
| 2005-03 | DNSSEC (RFC 4033-4035) |
| 2010-07 | Root Zone DNSSEC 署名 |
| 2018-04 | Cloudflare 1.1.1.1 (DoH / DoT) |
| 2018-10 | DoH 標準化 (RFC 8484) |
| 2024 | 全Root DNS で DNSSEC 標準 |
DoH (DNS over HTTPS) / DoT (DNS over TLS)
DNS の暗号化:
| プロトコル | ポート | 用途 |
|---|---|---|
| 平文 DNS | UDP / TCP 53 | 伝統的 |
| DNS over TLS (DoT) | TCP 853 | 専用ポート |
| DNS over HTTPS (DoH) | TCP 443 (HTTPS) | Web トラフィック擬装 |
| DNS over QUIC (DoQ) | UDP 443 | DoH の上位 (2022 RFC 9250) |
DoH / DoT で「DNS 通信の盗聴・改竄防止」・特にCafe / Hotel のWi-Fi 環境で重要。
主要パブリックDNS
| プロバイダ | DNS | DoH / DoT |
|---|---|---|
| 8.8.8.8 / 8.8.4.4 | dns.google | |
| Cloudflare | 1.1.1.1 / 1.0.0.1 | cloudflare-dns.com |
| Quad9 | 9.9.9.9 | dns.quad9.net |
| OpenDNS | 208.67.222.222 | doh.opendns.com |
| AdGuard | 94.140.14.14 | dns.adguard.com |
| NextDNS | カスタム | dns.nextdns.io |
DNSSEC (DNS Security Extensions)
DNS 応答の真正性証明:
- RSA / ECDSA で署名
- Chain of Trust (Root → TLD → Authoritative)
- 2010年Root Zone署名・2024年 主要 TLD 100% 採用
- DANE / SMTP MTA-STS 等でメール / Web セキュリティ強化
関連用語との違い
- vs HTTP: アプリ通信 / 名前解決
- vs BGP: 経路 / 名前
- vs Active Directory DNS: 内部 / 公開
FAQ
Q1: DNS 速度確認?
A: dig +trace example.com (Linux/macOS) ・Namebench (Google) でベンチマーク。Cloudflare 1.1.1.1 が世界最速ランキング常連。
Q2: 自家DNS? A: BIND / Unbound / PowerDNS / NSD で自家設置可能。Home Lab / 教育用途・Pi-hole は広告ブロック DNS で人気。
Q3: DoH / DoT 推奨? A: 強く推奨。プライバシ・暗号化で対ISP / MITM 攻撃耐性向上。Cloudflare 1.1.1.1 DoT 設定がOS別に簡単。