zerosant memo

zerosantのメモ帳

最終更新日: 2021.04.24
公開日: 2021.04.24

DNSについて調べたメモ

DNSとは

Domain Name System。ドメイン名とIPアドレスの対応関係を管理するシステム。インターネットの住所録のようなもの。

  • ドメイン名からIPアドレスを検索
  • メールアドレスから送信先メールサーバを特定

DNSの仕組み

ドメインの構造

hoge社が保有するhoge.co.jpというドメインがあるとする。

  • jp: TLD(Top Level Domain)またはccTLD(Country Code TLD)
    • TLDには他に、uk(ccTLD), edu, com(gTLD: Generic TLD)などがある。
  • co: 属性を表す汎用ドメイン。
    • 他にtokyoなどの地域名を表すものなどがある。
  • hoge: hoge社固有のドメイン名。

ネームサーバ

ドメイン名を管理しているホストやソフトウェアのこと。ネームサーバが設置された階層(ゾーン)のドメインを管理。

DNSの階層構造

DNSはツリー構造になっており、頂点にルートゾーンのドメインを管理するルートネームサーバがある。

下記のようなツリー構造

ルートネームサーバ → jpのDNSサーバ → hoge社のDNSサーバ

  • ルートネームサーバ
    • jp階層のネームサーバのIPアドレスが登録されている。
  • jpのDNSサーバ
    • jpのDNSサーバは日本国内のドメイン管理サーバ。
    • coの階層も管理している。
    • hoge社のネームサーバのIPアドレスが登録されている。

リゾルバ

DNSに問合せを行うホストやソフトウェアのこと。PCなど。最低1つ以上のネームサーバのIPアドレスが登録されている(通常はその組織内のネームサーバのIPアドレス)

DNSによる問合せ

hoge.co.jpからxxx.co.jpに問い合わせるとする。

  1. リゾルバから、最も近いDNSサーバ(hogeのDNSサーバ)にxxx.co.jpのIPアドレスを問い合わせる。
  2. hogeのDNSサーバはそのIPアドレスを知らないので、ルートネームサーバに問い合わせる。
  3. ルートネームサーバはjpのDNSサーバのIPアドレスを知っているのでそれを返す。
  4. jpのDNSサーバに問い合わせる。
  5. jpはcoのDNSサーバのIPアドレスを知っているのでそれを返す。
  6. coのDNSサーバに問い合わせる。
  7. coはxxxのDNSサーバのIPアドレスを知っているのでのでそれをリゾルバに返す。(xxx.co.jpのIPアドレスが判明)
  8. xxx.co.jpに問い合わせて通信が開始される。
  • ドメインのツリー構造を上からたどって目的の情報があるネームサーバを見つける。
  • 新たに知った情報を、リゾルバやネームサーバはしばらくの間キャッシュする。

権威DNSサーバ

ドメイン名とIPアドレスの変換情報を保持しているDNSのことで、変換情報を保持していないDNS(キャシュDNS)と区別するときに使う。

参考

ルートネームサーバの情報