DNS プロセス
100%

DNS · レッスン 3

DNS プロセス

stub resolver と recursive resolver がキャッシュ、referral、glue、権威を使って DNS 問い合わせへ応答する流れを学びます。

通常のアプリケーションは OS の stub resolver へ問い合わせます。stub resolver はローカルの名前サービス方針を参照し、設定済み resolver へ再帰問い合わせを送ります。recursive resolver が階層をたどるのは、有効なキャッシュだけでは回答できない場合です。

ローカルポリシーとキャッシュから始める

システムの resolver は、設定された順序で /etc/hosts、DNS などの情報源を参照できます。search suffix によって短い名前が複数の候補名へ変換される場合もあります。recursive resolver は上流へ問い合わせる前に、正と負のキャッシュエントリを確認します。

recursive resolver が問い合わせ時に authoritative server へ一切接続しない場合があるのはなぜですか?

Root Server へ問い合わせる

キャッシュミス時、recursive resolver は root server へ問い合わせられます。DNS root には A から M まで 13 個の名前付きサーバー identity があり、anycast などの耐障害性を高める配置技術を使って、多数の物理インスタンスから提供されています。通常、その応答は最終的なホストアドレスではなく、該当する top-level domain の authoritative server を resolver へ紹介します。

キャッシュにない www.example.com の検索に、root server は通常何を返しますか?

TLD と Authoritative Referral をたどる

resolver は com authoritative server へ問い合わせ、example.com に委任された authoritative name server を受け取ります。委任された子 zone の内部に名前を持つサーバーへ到達する必要がある場合、referral に glue address レコードが含まれることがあります。その後 resolver は、要求されたレコードを authoritative server へ問い合わせます。

DNS glue はどの問題の解決に役立ちますか?

別名とレコード型をたどる

回答に CNAME alias が含まれ、別の名前をさらに検索する場合や、アプリケーション固有レコードによって追加問い合わせが必要な場合があります。A の問い合わせが返すのは IPv4 address レコードと関連する chain data だけです。IPv6 アドレスは別の AAAA 問い合わせで取得します。最終応答には NOERRORNXDOMAINSERVFAIL など、意味の異なる status が含まれます。

NXDOMAIN は何を報告しますか?

検証、キャッシュ、アプリケーションでの利用

検証を行う recursive resolver は、DNSSEC 署名と chain of trust を使って、authenticated denial またはレコードの完全性を検証できます。DNSSEC は問い合わせを暗号化せず、返されたアドレス上のアプリケーションが信頼できることも証明しません。

resolver は TTL の規則に従って結果をキャッシュし、stub へ返します。その後アプリケーションがアドレスを選び、自身のネットワーク・セキュリティプロトコルを試します。

DNSSEC の検証が提供しないものはどれですか?

レッスン完了

DNS プロセス を完了しました

これで、ローカルポリシーからキャッシュ済み最終応答まで、再帰 DNS 検索を追跡できます。

  • ローカルの情報源と resolver キャッシュを最初に確認する。

  • root と top-level-domain の referral をたどる。

  • glue を使って適切な委任先サーバーへ到達する。

  • alias、no-data answer、存在しない名前を区別する。

  • DNSSEC の完全性とトランスポートの機密性を区別する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
DNS に戻る