0
0

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についての整理

Posted at

はじめに

タイトルにもなっている「ネットワークはなぜつながるのか」を説明することができるようになるために、本書を読みました。

本記事では、その中でもデータ送信前の準備であるDNSについてピックアップし、自分なりに整理しながらまとめていきます。

DNSサーバー

DNSサーバーとは、ドメイン名とIPアドレスの対応関係を管理するサーバーです。

Webページにアクセスする際などに、ドメイン名から対応するIPアドレスを取得するために利用されます。

Webページ表示までの流れ

ここでは、Webページ表示するまでの流れを簡単に整理し、その中でDNSサーバーが果たす役割について見ていきます。

  1. ユーザーがURLを入力する
  2. ブラウザが入力されたURLからドメイン名を抽出する
    • 例:https://example.com/page1 の場合、ドメイン名であるexample.com を抽出する
  3. ブラウザがDNSサーバーに対して、ドメイン名の名前解決(IPアドレスの問い合わせ)を行う
  4. DNSサーバーからIPアドレスの応答を受け取る
  5. ブラウザが取得したIPアドレスを使ってWebサーバーに接続する
  6. ブラウザがWebページのデータを取得し、画面に表示する

ドメインの階層化

ドメイン名の数が膨大であるため、すべてのドメイン情報を1台のDNSサーバーに登録することは現実的ではありません。

そのため、DNSでは複数のDNSサーバーが階層構造を成し、それぞれの役割を分担しながら連携しています。

DNSは以下のような階層で構成されています:

  • ルートDNSサーバー:すべてのドメイン名解決の起点となる最上位のDNSサーバー
  • TLD DNSサーバー:トップレベルドメインを管理するDNSサーバー
  • 権威DNSサーバー:特定のドメインに関する最終的な情報を持つDNSサーバー

ドメイン名とIPアドレスとの対応の管理方法

DNSでは、あるドメインの情報を管理しているDNSサーバーの場所(IPアドレス)は、そのドメインの1つ上の階層にあたるDNSサーバーに登録されています。
例えば、.com のDNSサーバーには、sample1.com の情報を管理しているDNSサーバーのIPアドレスが登録されており、そこに問い合わせることで www.sample1.com のIPアドレスを取得できます。

登録のルールとして、以下の2点があります:

  1. 1つのドメインの情報は、1つのDNSサーバーにまとめて登録する(分割は不可)
    • 例:sample1.com の情報(Webサーバー www.sample1.com やメールサーバー mail.sample1.com など)は、sample1.com のDNSサーバーにまとめて登録される
    • www.sample1.com だけを別のDNSサーバーに分けて登録することはできない
  2. 1つのDNSサーバーには、複数のドメインを登録できる
    • 例:.com のDNSサーバーは sample1.com だけでなく、sample2.com など複数のドメインを管理している
    • .jp のDNSサーバーも同様に、example1.jpexample2.jp など複数のドメインを管理できる
ルートDNS
  ├── .comのDNS
  │    ├── sample1.comのDNS
  │    │    ├── www.sample1.com(Webサーバー)
  │    │    ├── mail.sample1.com(メールサーバー)
  │    │    └── sub.sample1.comのDNS
  │    │         ├── www.sub.sample1.com
  │    │         └── mail.sub.sample1.com
  │    └── sample2.comのDNS
  │         ├── www.sample2.com
  │         └── mail.sample2.com
  │
  └── .jpのDNS
       ├── example1.jpのDNS
       │    ├── www.example1.jp
       │    └── mail.example1.jp
       └── example2.jpのDNS
            ├── www.example2.jp
            └── mail.example2.jp

DNSの検索プロセス

  1. 最寄りのDNSサーバーへの問い合わせ
    • ユーザーがドメイン名を入力すると、まず最寄りのDNSサーバーに問い合わせが行われる
  2. ルートDNSサーバーへの問い合わせ
    • 最寄りのDNSサーバーは、ルートDNSサーバーに問い合わせを行う
      • これらのルートDNSサーバーの情報は、DNSサーバーソフトをインストールした時点であらかじめ登録されている
    • ルートDNSサーバーは、TLD(例:.com.jp)を管理するDNSサーバーのIPアドレスを返す
  3. TLDのDNSサーバーへの問い合わせ
    • 最寄りのDNSサーバーは、ルートDNSサーバーから返された情報を基に、TLDのDNSサーバー(例:.com.jp)に問い合わせを行う
    • 該当ドメインを管理している次の階層のDNSサーバー(権威DNSサーバーなど)のIPアドレスを取得する
  4. 権威DNSサーバーへの問い合わせ
    • 最寄りのDNSサーバーは、TLDからの応答に基づいて、該当ドメインのDNSサーバーに順に問い合わせを行い、最終的に目的のドメイン(例:www.sample1.com)のIPアドレスを取得する

感想

  • 前回の記事では、既にIPアドレスが分かっている前提で、どのようにデータが相手に届くのかを学びましたが、今回は、そのIPアドレスを「どのように取得するのか」を理解できました。
  • 一冊を通して学習には時間がかかりましたが、ネットワークの全体像を把握でき、以前よりも自信を持って説明できるようになったと感じています。
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?