DNS

DNS

執筆済 ソフトウェア開発ネットワーク

ドメイン名を IP アドレスに変換する分散データベース。

example.com  →  93.184.215.14

階層構造#

.                  ルート(13 系統の権威サーバ)
└ com              TLD
   └ example.com   権威サーバ
      └ www.example.com

名前空間が階層的に委譲されているので、 中央で全てを管理しなくてよい。 Web と同じく、分散が設計の核心。

解決の流れ#

クライアント → リゾルバ(ISP など)
                 ↓ キャッシュに無ければ
              ルートサーバ  「com は あのサーバへ」
                 ↓
              TLD サーバ    「example.com は あのサーバへ」
                 ↓
              権威サーバ    「93.184.215.14 です」

主なレコード#

種類 内容
A / AAAA IPv4 / IPv6 アドレス
CNAME 別名。ルートドメインには使えない
MX メールサーバ
TXT 任意の文字列。所有証明、SPF
NS 権威サーバの指定

TTL とキャッシュ#

各レコードに TTL(秒)があり、その間キャッシュされる。

TTL 帰結
長い 問い合わせが減る。変更の反映が遅い
短い 反映が速い。負荷が増える

移行の前に TTL を短くしておくのが定石。 変更してから短くしても、 古い TTL でキャッシュされた分は待つしかない。

セキュリティ#

DNS は当初、認証も暗号化も無かった。

仕組み 内容
DNSSEC 応答に署名して改竄を検出
DoH / DoT 問い合わせを暗号化して盗聴を防ぐ

両者は別の問題を解く。 DNSSEC は完全性、DoH/DoT は機密性。

参考文献#

ノート一覧を閉じる