Featured image of post 【超初心者向け】DNSとは何か?URLを入力するだけでサイトが開く仕組みをやさしく解説

【超初心者向け】DNSとは何か?URLを入力するだけでサイトが開く仕組みをやさしく解説

DNSとは、「google.com」のようなドメイン名をIPアドレスに変換するための仕組みです。Webサイトを開くとき、画面の裏側ではDNSが自動的に「名前から住所を調べる」作業を行っています。この記事では、DNSがなぜ必要なのか・どうやって変換が行われるのかを、比喩を交えながらやさしく解説します。


はじめに

これまでの記事で、IPアドレスがインターネット上の「住所」として機能すること、ルーターがその住所をもとにデータを届けることを学びました。

ここで一つ疑問が生まれませんか?

「ブラウザに『google.com』と打ち込むだけでWebサイトが表示されるけど、IPアドレスなんて入力していない……」

その疑問への直接の答えが、今回のテーマ「DNS」です。


なぜDNSが必要なのか?

DNSが必要とされる理由は、人間とコンピューターの「得意な表現」の違いにあります。

人間はIPアドレスを覚えられない

IPアドレスの記事で学んだように、インターネット上のすべての機器には「142.250.196.110」のような番号が割り当てられています。Webサイトを運営するサーバーにも、当然IPアドレスがあります。

理屈の上では、ブラウザのアドレスバーにIPアドレスを直接入力してもWebサイトにアクセスできます。しかし、現実にはほとんどの人がそうしていません。なぜでしょうか。

答えは単純です。 人間はIPアドレスを覚えられない からです。

「142.250.196.110」と「google.com」——どちらが覚えやすいか、一目瞭然ですよね。インターネット上には無数のWebサイトが存在します。それらすべてのIPアドレスを記憶するのは、どんな人にも不可能です。

そこで登場するのが、「人間にわかりやすい名前」と「機械が使うIPアドレス」を変換するための仕組み—— DNS です。


ドメイン名とは何か

「google.com」「amazon.co.jp」「wikipedia.org」——これらを ドメイン名 といいます。

用語/英単語 意味 イメージ・補足
ドメイン名 / Domain Name インターネット上のWebサイトやサービスを識別するための人間向けの名前 電話帳に載っている「会社名・個人名」のようなもの

ドメイン名は人間が覚えやすく、意味を持たせやすいように設計されています。また、IPアドレスはサーバーの状況によって変わることがありますが、ドメイン名はその裏側で変換先を更新することで変わらないまま維持できるという利点もあります。


DNSとは何か ― インターネット版「電話帳」

DNS(Domain Name System) とは、ドメイン名をIPアドレスに変換するためのシステムです。

用語/英単語 意味 イメージ・補足
DNS / Domain Name System ドメイン名をIPアドレスに変換するシステム スマートフォンの連絡先アプリのようなもの。「名前」から「番号(IPアドレス)」を自動で調べてくれる

スマートフォンで「田中さん」に電話するとき、わざわざ電話番号を暗記して入力しますか?ほとんどの人は連絡先アプリから「田中さん」を検索しますよね。アプリが「田中さん → 090-XXXX-XXXX」という変換を自動で行ってくれているからです。

DNSもまったく同じ仕組みです。ブラウザに「google.com」と入力すると、DNSが自動的に「google.com → 142.250.196.110」という変換を行い、正しいサーバーへ接続させてくれます。

図:連絡先アプリとDNSの対比(名前→番号の変換)

この「ドメイン名をIPアドレスへ変換する」処理のことを 名前解決 といいます。

用語/英単語 意味 イメージ・補足
名前解決 / Name Resolution ドメイン名をIPアドレスに変換する処理 「田中さん」という名前から電話番号を調べ出す動作に相当する

名前解決の仕組み ― 裏側で何が起きているか

「google.com」と入力したとき、裏側では次のような流れで名前解決が行われています。以前に調べた記録(DNSキャッシュ)が残っているかどうかで、流れが変わります。

以前に調べた記録がある場合(すぐに回答できる)

図:名前解決の流れ(以前に調べた記録がある場合)

以前に調べた記録がない場合(台帳管理者に問い合わせる)

図:名前解決の流れ(以前に調べた記録がない場合)

DNSリゾルバへの問い合わせ

あなたのスマートフォンやパソコンには、あらかじめ「どのDNSサーバーへ問い合わせるか」が設定されています。IPアドレスの記事で学んだDHCPが、この設定も自動で行ってくれています。

この最初に問い合わせを受け付けるサーバーを DNSリゾルバ といいます。通常はプロバイダ(インターネット接続業者)のサーバー、またはルーター自身が担当します。

用語/英単語 意味 イメージ・補足
DNSリゾルバ / DNS Resolver 名前解決の問い合わせを受け付け、答えを探して返す「窓口係」のサーバー 図書館のレファレンスカウンター。「この本はどこにある?」と聞けば調べて教えてくれる

権威DNSサーバーへの問い合わせ

DNSリゾルバはすべてのドメイン名のIPアドレスを自分では持っていません。代わりに、「そのドメインについて正確な情報を持っているサーバー」を探し出して答えを取得します。

正確な情報を保持するサーバーを 権威DNSサーバー といいます。たとえば「google.com」なら、Googleが管理する権威DNSサーバーが正確なIPアドレスを知っています。Webサイトを運営する事業者は、自分のドメイン名とIPアドレスの対応を権威DNSサーバーに登録しています。

用語/英単語 意味 イメージ・補足
権威DNSサーバー / Authoritative DNS Server 特定のドメイン名に対する正確なIPアドレスを保持するサーバー 「google.comの住所は?」という問いに確実に答えられる「公式の台帳管理者」

IPアドレスが返ってきてページが表示される

権威DNSサーバーからIPアドレスを受け取ったDNSリゾルバは、その答えをあなたの機器へ返します。機器はそのIPアドレスを使って目的のサーバーへ接続し、Webページが表示されます。

この一連の流れは、ページを開くたびに自動で行われています。しかも所要時間は通常数ミリ秒——瞬きよりも短い時間です。


DNSキャッシュ ― 一度調べた答えを覚えておく仕組み

毎回DNSサーバーへ問い合わせていると、わずかながら時間がかかります。そこで、一度調べた名前解決の結果を一時的に記憶しておく仕組みが用意されています。これを DNSキャッシュ といいます。

用語/英単語 意味 イメージ・補足
DNSキャッシュ / DNS Cache 名前解決の結果を一時的に保存しておく仕組み 電話帳で調べた番号をメモしておくイメージ。次回は電話帳を引かずメモを見ればよい

キャッシュには有効期限があり、期限が切れると改めてDNSサーバーへ問い合わせが行われます。この有効期限のことを TTL(Time To Live) と呼びます。

用語/英単語 意味 イメージ・補足
TTL / Time To Live DNSキャッシュの有効期限。この時間が過ぎると再度問い合わせが発生する メモに「3日以内に確認すること」と書いておくようなイメージ

DNSが壊れると何が起きるか

DNSの役割を理解すると、身近なあるトラブルの原因も見えてきます。

「インターネットにはつながっているはずなのに、Webサイトが開けない」——こんな経験はありませんか?

このような現象は、DNSに障害が発生しているときによく起こります。ルーターの記事で学んだように、ルーターは正常に動いていてネット接続自体に問題はない。しかし「ドメイン名→IPアドレス」の変換ができないため、どのサーバーへ接続すればよいかわからず、ページが表示されないのです。

図:通常時とDNS障害発生時の通信の流れ

これは「IPアドレスを直接入力すれば接続できることがある」という現象が起きる理由でもあります。それは「変換(DNS)の問題」であって「接続(ルーティング)の問題」ではないからです。


まとめ

  • DNSとは 、ドメイン名をIPアドレスに変換するシステム
  • 人間が覚えやすい「ドメイン名」と、機械が使う「IPアドレス」を橋渡しする
  • この変換処理を「名前解決」という
  • 名前解決はDNSリゾルバ(窓口係)が問い合わせを受け付け、権威DNSサーバー(台帳管理者)が正確なIPアドレスを返すことで行われる
  • 一度調べた結果はDNSキャッシュとして一時保存され、次回以降の問い合わせが速くなる
  • DNS障害が起きると、ネットに接続していてもWebサイトが開けなくなる

Webサイトにアクセスするたびに、DNS・ルーター・IPアドレスの仕組みが瞬時に連携して動いています。これらが積み重なって、はじめてあの「ページが表示される」という体験が成り立っているのです。

用語表

用語 意味
ドメイン名 「google.com」のように、Webサイトやサービスを識別するための人間向けの名前
DNS(Domain Name System) ドメイン名をIPアドレスに変換するシステム全体の名称
名前解決 ドメイン名をIPアドレスに変換する処理のこと
DNSリゾルバ 名前解決の問い合わせを受け付け、答えを探して返す「窓口係」のサーバー
権威DNSサーバー 特定のドメイン名に対する正確なIPアドレスを保持する「台帳管理者」のサーバー
DNSキャッシュ 名前解決の結果を一時的に保存しておく仕組み。繰り返しの問い合わせを省略できる
TTL(Time To Live) DNSキャッシュの有効期限。この時間が過ぎると再度問い合わせが発生する