コンテンツへスキップ
ホーム » 記事一覧 » DNSとは?ドメイン名からWebサイトが表示される仕組みを解説

DNSとは?ドメイン名からWebサイトが表示される仕組みを解説

ドメイン名からIPアドレスを調べるDNSの役割を表したイラスト

Webサイトを開くとき、私たちはURLを入力したり、リンクをクリックしたりします。数字で書かれた接続先を覚えていなくても、目的のページを開けますよね。

その裏側で、名前から接続先を調べるために使われているのが「DNS」です。この記事では、DNSで接続先を調べるところから、ページが表示されるまでを順番に見ていきます。

💡 このページでわかること

  • DNSの役割と、ドメイン名・IPアドレス・URLの違い
  • 接続先を調べてから、ページを受け取るまでの流れ
  • DNSサーバーが情報を分担する仕組み
  • 調べた情報を一時保存する理由と、変更がすぐに見えない理由

DNSとは?名前から接続先を調べる仕組み

DNSとは、ドメイン名を手がかりに、IPアドレスなどの情報を調べる仕組みです。「Domain Name System」の略で、「ディー・エヌ・エス」と読みます。

ドメイン名は、example.com のような、インターネット上で使う名前です。IPアドレスは、データの送り先や送り元を示す「通信に使う住所」のようなものです。

スマートフォンの連絡先を思い浮かべてみてください。相手の名前を選ぶと、登録された電話番号を使って電話をかけられます。DNSも、名前をもとに通信に必要な情報を調べる、という点で似ています。

「このドメイン名のIPアドレスを教えて」といった問い合わせに答えるのが、DNSサーバーです。世界中のドメイン名に関する情報を1台ですべて管理するのではなく、複数のDNSサーバーが担当する範囲を分けて管理しています。

ドメイン名・IPアドレス・URLはどう違う?

Webサイトを見るソフトを「ブラウザ」といいます。ChromeやSafariなどがその例です。ブラウザのアドレスバーに、次のURLが入っている場面を考えましょう。

https://example.com/news/

URLは、Web上のページなどの場所を示す文字列です。この例は、次のように分けられます。

部分表していること
https://HTTPSという、通信を暗号化してWebのデータをやり取りする方式を使うこと
example.com接続先の名前。この例ではドメイン名
/news/そのWebサイト内で、どの場所を開きたいか

DNSでIPアドレスを調べるときに使うのは、このURLでは example.com の部分です。 URL全体をIPアドレスに変えるわけではなく、/news/ のページ内容をDNSに尋ねることもありません。

ここからは、example.com のIPアドレスを調べると 192.0.2.10 が返ってくると仮定します。

Webサイトが表示されるまでの流れ

パソコンで https://example.com/news/ を開く場面を追ってみましょう。ここでは、以前調べた情報や既存の接続を使わず、新しく接続する基本の流れを説明します。

1. ブラウザが接続先の名前を読み取る

ブラウザはURLから、接続先の名前が example.com であることを読み取ります。相手と通信するために、まず、その名前に対応するIPアドレスを調べます。

2. パソコンがDNSの窓口へ問い合わせる

パソコンは、ネットワークやブラウザの設定で指定されたDNSサーバーへ、example.com のIPアドレスを問い合わせます。ここでのDNSサーバーは、パソコンの代わりに必要な情報を調べる窓口です。

窓口は調べた結果をパソコンへ返します。この例では、192.0.2.10 という答えを受け取ります。

名前をもとにIPアドレスなどの情報を調べることを、名前解決といいます。「DNSで名前解決する」と聞いたら、名前から通信に必要な情報を調べることだと考えてください。

3. ブラウザがWebサーバーへページを要求する

接続先が分かると、ブラウザはそのIPアドレスを使って通信します。相手は、Webページのデータを提供する「Webサーバー」です。

今回はHTTPSを使うため、ブラウザは相手の証明書を確認し、暗号化して通信する準備をします。証明書は、接続先がURLのドメイン名に対応する相手かどうかを確認するために使う情報です。ページの内容そのものの安全性を保証するものではありません。

そのうえで、ブラウザがWebサーバーに example.com の /news/ を要求します。

4. ブラウザが受け取ったデータを表示する

Webサーバーは要求に応じてページのデータをブラウザへ返します。ブラウザは文章や見た目の指定を読み取り、必要な画像なども取得して画面に表示します。

DNSは接続先を調べる役割、Webサーバーはページのデータを返す役割、ブラウザは受け取ったデータを表示する役割です。

パソコンがDNSの窓口で接続先を調べた後、Webサーバーへページを要求し、データを受け取る流れ

実際のページでは、画像などを別のドメイン名の接続先から取得することもあります。その場合は、その名前についても必要に応じてDNSで調べます。

DNSサーバーはどうやって答えを見つける?

では、パソコンから問い合わせを受けたDNSの窓口は、どうやってIPアドレスを調べるのでしょうか。

答えや途中の案内をまだ保存していない場合、窓口はほかのDNSサーバーから案内を受けながら調べます。

その出発点で、.com や .jp などを担当するDNSサーバーを案内するのが「ルートDNSサーバー」です。example.com について、窓口が各担当へ直接問い合わせる基本の例を見てみましょう。

  1. 窓口がルートDNSサーバーへ問い合わせる ルートDNSサーバーは、窓口に .com を担当するDNSサーバーを案内します。
  2. 窓口が .com の担当へ問い合わせる .com の担当は、窓口に example.com の情報を管理するDNSサーバーを案内します。
  3. 窓口が example.com の情報を管理する担当へ問い合わせる この例では、その担当が窓口にIPアドレス 192.0.2.10 を返します。
  4. 窓口がパソコンへ答えを返す パソコンは、調べてもらったIPアドレスを受け取ります。

担当する範囲の情報を管理し、その情報に基づいて答えるサーバーを「権威DNSサーバー」と呼びます。3番目の担当だけでなく、ルートや .com の担当も、それぞれの範囲についての権威DNSサーバーです。

ポイントは、各担当への問い合わせと返答が、窓口との間で行われることです。ルートが .com の担当へ問い合わせを転送し、そこから次へ転送していく図ではありません。

DNSの窓口がルート、.com、example.comの担当へ順に問い合わせ、案内やIPアドレスを受け取り、パソコンへ答えを返す流れ

ここでは案内をたどる基本の形に絞っています。実際には保存済みの情報を使ったり、別の名前をたどって調べたりすることもあり、いつも同じ回数の問い合わせになるわけではありません。

毎回調べ直さないための「DNSキャッシュ」

同じ情報を毎回最初から調べると、時間も手間もかかります。そこで、ブラウザやパソコン、DNSの窓口などは、調べた情報を一時保存して再利用します。この一時保存を「キャッシュ」といいます。

パソコン側に答えが残っていれば、窓口への問い合わせを省けます。窓口に答えが残っていれば、各担当へ問い合わせずにパソコンへ返せます。途中の案内だけが残っている場合も、ルートから調べ直す必要はありません。

DNSの情報には、通常、キャッシュとして保持できる時間を秒単位で示す「TTL」という値が付いています。

たとえば、Webサイトの引っ越しで、ドメイン名に対応するIPアドレスを変更したとします。古い情報を保存している側では、その情報が期限内で使われ、しばらく以前の接続先へ向かうことがあります。

このため、設定を変更しても、すべての利用者が同時に新しい接続先を使うとは限りません。いわゆる「DNSの反映に時間がかかる」理由の一つです。所要時間は変更内容や保存された情報の残り時間などで異なり、一律に何時間とはいえません。

DNSはどんな場面で関係する?

普段Webサイトを見るだけなら、DNSを手動で操作する必要はほとんどありません。ネットワークやブラウザなどの設定に従って、裏側で使われています。

一方、Webサイトを公開したり、利用するサーバーを変えたりする仕事では、ドメイン名と接続先の対応を設定する場面があります。DNSに登録する個々の情報を「DNSレコード」といいます。

DNSはWeb閲覧専用ではありません。メールを送る際に、宛先ドメインのメールを受け取るサーバーを調べる用途にも使われます。最初はレコードの種類をすべて覚えず、「名前に結び付いた情報を問い合わせる」と捉えておけば十分です。

DNSについてよくある疑問

DNSが使えないと、インターネット全体が止まる?

ネットワークにつながっていても、DNSで必要な接続先を調べられず、Webサイトを開けなくなることがあります。ただし、キャッシュや既存の接続を使える通信まで、必ず一斉に止まるわけではありません。

また、Webサイトが開けない原因はDNSだけではありません。ネットワークの不調やWebサーバーの停止なども考えられます。入力したURL、表示されたエラー文、ほかのサイトは開けるかを確認すると、担当者へ相談するときに状況が伝わりやすくなります。

IPアドレスを直接入力すれば、同じサイトを開ける?

開ける場合もありますが、必ず同じサイトが表示されるとは限りません。一つのIPアドレスで複数のWebサイトを提供し、要求されたドメイン名によって表示するサイトを分けている場合があるためです。

HTTPSでは、入力したIPアドレスと証明書が対応せず、警告やエラーになることもあります。Webサイトを見るときは、案内されたドメイン名を含むURLを使うのが基本です。

一つのドメイン名に、一つのIPアドレスが対応する?

必ず1対1になるわけではありません。同じドメイン名に複数のIPアドレスが対応することも、複数のドメイン名が同じIPアドレスに対応することもあります。

この記事では、基本の流れを追いやすくするために、IPアドレスを一つだけ示しています。

まとめ

DNSは、ドメイン名を手がかりに、IPアドレスなどの情報を調べる仕組みです。Webサイトを開く流れは、次のように整理できます。

  1. DNSで接続先を調べる
  2. ブラウザがWebサーバーへページを要求する
  3. Webサーバーから受け取ったデータをブラウザが表示する

保存済みの情報を再利用できる場合は、DNSの問い合わせを省略できます。まずは「接続先を調べること」と「ページを受け取ること」の違いを押さえておきましょう。

関連記事

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です