【でぃーえぬえすなまえかいけつ】

DNS名前解決 とは?

💡 ドメイン名を「電話番号」に変換する電話帳
📌 このページのポイント
DNS解決の流れ ブラウザ example.com キャッシュ 確認 Miss 再帰リゾルバ (ISP/Public) ルートDNS "." を管理 TLD DNS ".com" を管理 権威DNS IPを保持 ⑥ IPアドレス返却 → 93.184.216.34 を取得!
DNS解決の流れのイメージ
ひよこ ひよこ

具体的にどういう流れ?

ペンギン先生 ペンギン先生

ブラウザが「example.com」にアクセス、②まずブラウザキャッシュ→OSキャッシュ→ルーターキャッシュを確認、③キャッシュになければISPDNSリゾルバに問い合わせ、④リゾルバがルートサーバー→.comサーバーexample.comの権威サーバーと順に聞いていく、⑤IPアドレスが返ってきて接続開始。これが100ms以内に完了するんだよ

ひよこ ひよこ

なんでキャッシュがそんなに多い?

ペンギン先生 ペンギン先生

毎回ルートサーバーまで問い合わせると時間がかかるし、ルートサーバーに負荷が集中する。TTL(Time To Live)という有効期間内はキャッシュを使うことで高速化する。TTLが300秒なら5分間はキャッシュが有効。Google Public DNS(8.8.8.8)やCloudflare DNS(1.1.1.1)は大規模キャッシュで高速応答するんだよ

ひよこ ひよこ

おもしろい!DNSが壊れるとどうなる?

ペンギン先生 ペンギン先生

インターネットが実質使えなくなる。2021年のFacebook大規模障害はBGPの問題でDNSサーバーに到達できなくなり、Facebook、Instagram、WhatsAppが6時間ダウンした。2016年にはDNSプロバイダーのDynがDDoS攻撃を受けて、Twitter、Netflix、Spotifyなど大手サービスが軒並みアクセス不能になったよ

ひよこ ひよこ

開発者がDNSで困ることは?

ペンギン先生 ペンギン先生

DNS変更後に反映されない(TTLキャッシュが残っている)、②サーバー移転時のダウンタイム(TTLを事前に短くしてから切り替え)、③開発環境のDNS設定(/etc/hostsやdnsmasq)、④DNS over HTTPS(DoH)でのデバッグ困難化。dig/nslookupコマンドでDNSの状態を確認するのはネットワークデバッグの基本だよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
DNS名前解決」って出てきたら「ドメイン名IPアドレスに変換する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「DNS Resolution / DNS Name Resolution」 = DNS名前解決
💬 Resolve(解決する)。ドメイン名という「名前」をIPアドレスに「解決」するんだよ
← 用語集にもどる