DNS名前解決を追体験する
デバイスから権威サーバーまでクエリを追跡します。
「DNS名前解決を追体験する」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
検索の開始
ドメイン名を入力すると、デバイスは接続する前にそれをIPアドレスへ変換する必要があります。この処理がDNS検索であり、明確な手順に従って行われます。
目的は、途中でキャッシュを利用して処理を省きながら、できるだけ速く権威ある応答を見つけることです。
最初にローカルキャッシュを確認する
デバイスはまず、自身のローカルDNSキャッシュとhostsファイルを確認します。その名前が最近検索され、まだ有効であれば、キャッシュされたIPアドレスがすぐに使用されます。
これにより、ネットワークへの問い合わせを回避できます。2回目のサイト訪問が1回目より速く接続できることが多いのは、キャッシュがあるためです。
リゾルバーに問い合わせる
ローカルキャッシュに答えがない場合、デバイスは設定済みの再帰リゾルバーに問い合わせを送信します。通常はISPや、8.8.8.8のようなパブリックプロバイダーが運用しています。
リゾルバーは答えを見つける責任を担い、必要に応じて他のサーバーに問い合わせ、最終的なIPアドレスをデバイスに返します。
再帰検索と反復検索
デバイスからリゾルバーへの要求は再帰的です。つまり「完全な答えを見つけてください」という要求です。その後、リゾルバーは階層に対して反復的に問い合わせを行い、各サーバーから答えに近づくための情報を得ます。
再帰的とはすべての処理を行うこと、反復的とは次の手順を示すことです。リゾルバーはこの2つの方式を仲介します。
ルートサーバーに問い合わせる
リゾルバーにキャッシュが何もない場合、ルートサーバーから処理を開始します。ルートサーバーは最終的な答えを知りませんが、.comのようなドメイン末尾を担当するTLDサーバーを知っています。
ルートサーバーは、正しいTLDサーバーへ向かう紹介情報をリゾルバーに返します。
TLDサーバーに問い合わせる
次にリゾルバーはTLDサーバー(たとえば.comのサーバー)に問い合わせます。TLDサーバーも最終的なレコードは保持していませんが、対象ドメインの権威ネームサーバーを把握しています。
TLDサーバーは別の紹介情報を返し、検索対象をそのドメイン自身のサーバーまで絞り込みます。
権威サーバーに問い合わせる
最後にリゾルバーは、実際のレコードを保持するドメインの権威ネームサーバーに問い合わせます。権威ネームサーバーは、要求された名前に対応する実際のIPアドレスを返します。
これが最終的な答えです。これでリゾルバーは、最初のデバイスが必要とする情報を取得しました。
device -> resolver -> root -> TLD -> authoritative -> IP答えを返してキャッシュする
リゾルバーはIPアドレスをデバイスに返し、デバイスは接続できるようになります。リゾルバーとデバイスの両方が、答えを一定時間キャッシュします。
同じ名前への次回以降の検索では、すべての経路をたどる必要がなく、キャッシュが使用されます。これによりシステムが高速になり、サーバーの負荷も軽減されます。
検索にはUDPポート53を使用する
ほとんどのDNS検索はUDPポート53を通じて行われます。検索は小規模で頻繁なため、速度が重視されます。軽量でコネクションレスなトランスポートは、すばやい質疑応答に適しています。
より大きな応答やサーバー間のゾーン転送では、DNSはTCPポート53に切り替わります。DNSがポート53を使用することは、試験でよく問われるポイントです。
DNS query -> UDP 53 (TCP 53 for large transfers)手順を順番に並べる
何もキャッシュされていない場合の完全な経路は、ローカルキャッシュ → 再帰リゾルバー → ルート → TLD → 権威サーバー → 応答です。
この順番を試験に向けて覚えておきましょう。各レベルはキャッシュから答えるか、権威レコードに到達するまでリゾルバーを1段階深い場所へ案内します。
経路が重要な理由
検索経路を知っていると、トラブルシューティングに役立ちます。名前の解決に失敗した場合、リゾルバーが応答するか、権威サーバーに到達できるか、どの段階で連鎖が途切れているかを確認できます。
nslookupなどのツールを使えば、特定のサーバーに直接問い合わせて、検索のどの段階で失敗しているかを特定できます。
クイックチェック
検索の順番を並べましょう。
まとめ
DNS検索の流れを確認しました。
- 順序:ローカルキャッシュ → リゾルバー → ルート → TLD → 権威サーバー → 応答。
- デバイスは再帰検索を行い、リゾルバーは反復検索を行います。
- ルートサーバーはTLDサーバーを案内し、TLDサーバーは権威サーバーを案内します。
- 権威サーバーが実際のレコードを保持し、最終的なIPアドレスを返します。
- 将来の検索を高速化するため、応答はキャッシュされます。
よくある質問
「DNS名前解決を追体験する」レッスンは無料ですか?
はい。「DNS名前解決を追体験する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「DNS名前解決を追体験する」で何を学びますか?
デバイスから権威サーバーまでクエリを追跡します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「DNS名前解決を追体験する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- DNSが存在する理由
- DNS名前解決を追体験する
- よく使われるDNSレコードの種類
- キャッシュ、TTL、DNSの問題