7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ネットワーク入門】DNSの仕組み

Last updated at Posted at 2024-09-29

DNSの概要

ブラウザにドメインを入力するとアプリにアクセスできる。そんなことは当たり前ですが、アプリケーションを動かしているサーバーなどは本来IPアドレスによって居場所が管理されているはずです。

それにも関わらず、ドメインを入力して目的のサーバーに到達できる仕組みがDNS(Domain Name System)です。

本記事ではDNSの仕組みについて解説してみたいと思います。

DNSの仕組み

本記事ではtaka_2525.comというドメインが名前解決される例を取り扱っていきます(筆者のQiitaアカウント名から採用しました)。
taka_2525.comがブラウザに入力されてからIPアドレスが返却されるまでの大まかな流れが以下の図です。

見出し (3).png

第1章: DNSリゾルバ

まず、ブラウザにドメインが入力されたらDNSリゾルバにアクセスします。

DNSリゾルバの役割は、

  • ここから色々なサーバーに問い合わせをして、目的のドメインのIPアドレスを取得する
  • 取得したIPアドレスをクライアントに返却する
  • 名前解決の結果をキャッシュする

です。

つまり、ブラウザがIPアドレスを探しにいくのではなく、DNSリゾルバがIPアドレスを探しにいってくれます。

ただし、DNSリゾルバにキャッシュがある場合は、IPアドレスを探しに行く過程をすっ飛ばしてブラウザにIPアドレスを返却します(上の図の②〜⑦がスキップされる)。

ここからIPアドレスを取得するための旅が始まります。

第2章: ルートサーバー

DNSリゾルバは、まず最初にルートサーバーに問い合わせます。ただし、ルートサーバー自身はtaka_2525.comのIPアドレスを返却してくれません。なぜならtaka_2525.comの情報の保持を他のサーバーに委任しているからです。

ルートサーバーはcomの情報を委任しているサーバー(権威サーバー)の情報を返却してくれます。つまり「自分に聞かれてもわからないのでBさんに聞くといいよー」と教えてくれます。

第3章: TLDの権威サーバー

ルートサーバーに問い合わせたのち、次はcomの権威サーバーへの問い合わせを行います。

このように、名前解決はドメインの右側から行われるのがポイントです。comjpのように一番右側にある箇所をTLD(top level domain)と言います。また、それ以降の箇所は右から順に2LD(second level domain), 3LD(third level domain)...と呼ばれます。

しかし、TLDの権威サーバーも目的のIPアドレスは返却してくれません。そのかわりに2LDの情報を教えてくれます。先ほどと同じように「自分に聞かれてもわからないのでCさんに聞くといいよー」と教えてくれるのです。

第4章: 2LDの権威サーバー

上記の流れでようやくtaka_2525の権威サーバーに到達しました。このサーバーはtaka_2525.comのIPアドレスを持っているので、DNSリゾルバにIPアドレスを返却します。

今回の例では2LDまでの例でしたが、ドメインがもっと長い場合は3LD, 4LD…と問い合わせが続いていきます。

感想

DNSについてはぼんやりと理解してましたが、図に書いてみると整理されてより理解が深まりました。これだけの通信が一瞬の内に行われるなんてすごいですね。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?