DNSの基礎知識
 Author: 水卜

DNSとは

ドメインとIPアドレスを紐づけるもの
(例)google.comとXXX.XXX.XXX.XXの紐づけ(Xは数字)

IPアドレスはネットワーク上の住所のようなもの。
ドメインは人が付ける文字列。

DNSの流れ

  1. ブラウザのURLを入力するところにgoogle.comを入力する。
  2. スタブリゾルバがキャッシュサーバーに問い合わせを依頼
  3. キャッシュサーバーのキャッシュにURLのドメインがあればIPアドレスを名前解決して終了。なければ4へ。
  4. キャッシュサーバーがDNSルートサーバーにgoogle.comに対応するIPアドレスを問い合わせる。(ルートサーバーの情報はPCが初めからもっている)
  5. ルートサーバーがDNSキャッシュサーバーに「.comのDNSサーバーに問い合わせて」と返答する。
  6. キャッシュサーバーが.comのDNSサーバーにgoogle.comに対応するIPアドレスを問い合わせる。
  7. .comのサーバーが「google.comのDNSサーバーに問い合わせて」と返答する。
  8. キャッシュサーバーがgoogle.comのDNSサーバーにgoogle.comに対応するIPアドレスを問い合わせる。
  9. google.comのサーバーがIPアドレスを返す
  10. キャッシュサーバーが
  11. PCがIPアドレスでwebサーバーにアクセスし、webページをリクエスト
  12. webサーバーがブラウザにページを返す

キャッシュサーバーが、google.comに対応するIPアドレスを探していろんなDNSサーバーを駆けずり回っているのがわかる。これを再帰的問い合わせという。

大まかな登場人物

  1. 自分のPC
  2. スタブリゾルバ
  3. キャッシュサーバー
  4. コンテンツサーバー
  5. 目的のwebサーバー

キャッシュサーバーとは

ドメインに対応するIPアドレスを探して、たらい回しにDNSコンテンツサーバーに問い合わせ続ける。

ルートサーバーから順にcom, google.comと順番に問い合わせ、IPアドレスにたどり着く。

ドメイン名に対応するIPアドレスをキャッシュする(一時的に保存する)。

コンテンツサーバーとは

ドメインとIPアドレスの組を管理するサーバー。

ゾーンファイルという、管理する範囲の情報が書かれているファイルを持っている。

キャッシュサーバーが問い合わせてきた時、ゾーンファイルを見て返答する。

他のDNSサーバーに管理が委託されているドメインの問い合わせが来ると、問い合わせ先を返す。

キャッシュサーバーが最初に問い合わせるコンテンツサーバーを、「ルートサーバー」と呼ぶ。世界に13台しかない。

スタブリゾルバ

キャッシュサーバーはPCの外部にある。PCの中にいて、キャッシュサーバーへ問い合わせの依頼を行うものをスタブリゾルバという。

(Appendix)正引きと逆引き

ドメイン名からIPアドレスに変換するのが正引き。
IPアドレスからドメイン名に変換するのが逆引き。