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】DNSについて勉強する新米エンジニア

Posted at

はじめに

URLとかURIは知ってるけど、DNSについてはあまり理解しておらず
危機感を感じたので、DNSについて勉強しようと思いました。
(あとQiitaでブログを書く習慣を身につけたい...)

本記事ではDNSを理解する上で必要な用語、仕組みを簡略的に
まとめる方針で書かせてもらいます。
(投稿主の文章力が壊滅的に乏しいです)

目次

  1. ドメイン名の構成
  2. DNSにおける階層化と委任の仕組
  3. レジストリ、レジストラ
  4. ドメイン名を登録する
  5. ドメイン名を使えるようにする
  6. DNSの構成要素
  7. DNSの処理の効率化と可用性の向上
  8. 参考文献

ドメイン名の構成

ドメイン

  • 名前空間の範囲

ドメイン名

  • その範囲を識別するために付けられた名前
  • ドメイン名は文字列を「.(ドット)」で繋げた形でされる
    • それぞれの文字列をラベルという
  • https://example.co.jp
  • info@example.jp

DNSにおける階層化と委任の仕組み

階層化と委任の仕組み

  • ドメイン名に対応する形で管理範囲を階層化し、委任することで管理を分散する
  • 委任した人(委任元)と委任された人(委任先)は「」と「」の関係になる

ゾーン

  • 委任によって管理を任された範囲
  • ゾーンを委任するためには、サブドメインを作ることから始める
    • サブドメインは委任元で作られる

ネームサーバー

  • ゾーンを管理するサーバー
  • 以下の2種類の情報を管理する
    • そのゾーンに存在するホストのドメイン名とIPアドレス
      • それぞれのゾーンのネームサーバーが、ドメイン名とIPアドレスの対応づけを管理する
    • 委任の情報
      • 委任先(子)のネームサーバーの情報で、委任先(親)のネームサーバーが管理する

レジストリ、レジストラとは

レジストリの役割

  • IPアドレスやドメイン名の割り当て・登録を担当する組織
  • ドメイン名を使えるようにするためには、レジストリに対して「このドメイン名を使いたい」という登録申請をする
  • 登録情報を蓄積し管理する登録原簿「レジストリデータベース」の運用管理
  • ネームサーバーの運用・管理
  • Whoisサービスの提供
    • レジストリが管理する登録・割り当て情報をインターネットに公開し、利用者が参照できるようにするサービス

レジストリ・レジストラモデル

  • レジストリ:ドメイン名の一元管理を行う役割を担う
  • レジストラ:ドメイン名登録者からの申請を取り次ぐ役割を担う
  • 1つのTLDに対してレジストリは1つだが、レジストラは複数存在する

レジストラの役割

  • 登録者からの登録申請を受け付ける
  • レジストリデータベースへの登録依頼
  • 自身が取り扱うドメイン名に関するWhoisサービスを提供する
  • ドメイン名の登録申請を受け付けた登録者の情報を管理する

ドメイン名を登録する

登録者が行うこと

  • ドメイン名が登録可能であるか調べる
    • Whoisサービスで登録されていないドメイン名を調べる
  • ドメイン名を申請可能な事業者を選ぶ
  • 提出するべき情報を揃える

レジストラが行うこと

  • 申請内容を確認する
  • レジストリデータベースへの登録を申請する

レジストリが行うこと

  • 登録申請の内容が登録要件(レジストリが定める登録要件)を満たしているか確認する
  • レジストリデータベースに情報を登録する
  • ドメイン名の登録が完了したら、レジストラへ登録完了通知を返す
    • レジストラは登録者へドメイン名の登録完了を知らせる

ドメイン名を使えるようにする

登録者が行うこと

  • 自分のドメイン名を取り扱うネームサーバーをインターネット上で動かす
  • 登録したドメイン名の情報をネームサーバーに設定する
  • ネームサーバーがインターネットから聞かれたことに答えられるか確認する
    • 上記確認が完了したら、レジストラに、ネームサーバー情報の設定を申請する

レジストラが行うこと

  • レジストリデータベースへネームサーバー情報を設定するための申請を、レジストリに提出する

レジストリが行うこと

  • ネームサーバー情報をレジストリデータベースに登録し、レジストリの関するネームサーバーにその情報を設定する
    • レジストリと登録者の関係がDNSにおける親子関係になる

DNSの構成要素

スタブリゾルバー

  • 名前解決の窓口のような役割を持ち、パソコンやスマホで動作する (ブラウザ、アプリ)
  • 自身では名前解決を行わず、予め設定されたフルリゾルバーに名前解決の依頼を出す(名前解決要求)

フルリゾルバー

  • スタブリゾルバーから名前解決要求を受け付けて名前解決を行い、結果をスタブリゾルバーに返す
  • スタブリゾルバーから名前解決要求を受け付けたフルリゾルバーは、以下の2つを行う
    • 名前解決を行う
    • 名前解決の際に得られた情報を蓄える(キャッシュ)

権威サーバー(ネームサーバー)の役割

  • 自分が委任を受け付けたゾーンの情報と、自分が委任しているゾーンの委任情報を保持している
  • ゾーンの設定内容(ゾーンデータ)を「リソースレコード」という形で保持する

リソースレコード

項目 意味
ドメイン名 example.jp
TTL キャッシュの保持時間
クラス ネットワークの種類(IN)
タイプ 情報の種類
データ クラスとタイプによって異なる、リソースレコードのデータ

リソースレコードのタイプ

項目 意味
A IPv4
AAAA IPv6
NS 権威サーバーのホスト名
MX 電子メール

DNSの処理の効率化と可用性の向上

キャッシュ

  • フルリゾルバーが権威サーバーの応答を保持することで2回目の名前解決に要する負荷と時間を軽減できる

ネガティブキャッシュ

  • 目的のリソースレコードが存在しなかったという結果を保持する

TTL

  • キャッシュの保持時間
  • リソースレコードに含まれる

ゾーン転送

  • 同じゾーンデータを持つ権威サーバーを複数台設置する仕組み
  • プライマリサーバー:コピー元となる権威サーバー
  • セカンダリサーバー:コピー先となる権威サーバー

RTT

  • 問い合わせを送ってから応答が返るまでの時間
  • 複数の権威サーバーがある場合、RTTをチェックして時間の短い権威サーバーを問い合わせる

参考文献

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?