2

サブドメインと CNAME を使用すると、DNS ルックアップ時間が遅くなりますか? 私が理解しているように、たとえばクライアントがルックアップを希望する場合、rweb.stat.ucla.edu少なくとも 4 つの手順が必要です。

[registrar] NS ucla.edu ==> ns2.dns.ucla.edu
[ns2.dns.ucla.edu] NS stat.ucla.edu ==> dns.stat.ucla.edu
[dns.stat.ucla.edu] CNAME rweb.stat.ucla.edu ==> id-86-243.stat.ucla.edu
[dns.stat.ucla.edu] A id-86-243.stat.ucla.edu  ==> 128.97.86.243   

これは、クライアントがページにアクセスするときに、これらの各サーバーに接続する必要があるということですか? それとも、DNS サーバーは相互に接続して直接解決 (およびキャッシュ) しrweb.stat.ucla.edu ==> 128.97.86.243ますか? また、ルート ドメインの最初のレコードを見つけるのにどれだけの作業が必要なのかもわかりません。

4

1 に答える 1

5

まず、レジストラは実際の DNS ルックアップには関与しません。レジストラ (および実際にはレジストリ) は、DNS プロトコルの範囲外の管理エンティティです。実際の検索プロセスは次のようになります。

  1. ルート サーバーにAofを要求しrweb.stat.ucla.edu.ます。
    • 彼らはあなたに教えませんが、edu..
  2. サーバーにのedu.を要求します。 Arweb.stat.ucla.edu.
    • 彼らはあなたに教えませんが、彼らはあなたにサーバーを紹介しますucla.edu.
  3. サーバーにのucla.eduを要求します。 Arweb.stat.ucla.edu.
    • stat.ucla.eduさらに別の一連のネームサーバーに委任されたゾーンである可能性があります。その場合、3 回目の紹介応答が得られます。
    • しかし、そうではないとは言いません。
    • 答えが得られます: rweb.stat.ucla.edu.has CNAME id-86-243.stat.ucla.edu.

今、あなたは最初からやり直して見上げなければなりませんid-86-243.stat.ucla.edu...

...ただし、のターゲットはCNAME元のレコードと同じゾーン内にあるため (または、一般的に、同じネームサーバーから提供されるゾーン内にあるため)、ネームサーバーは役立つようにAレコードを提供id-86-243.stat.ucla.eduしますDNS 応答の追加セクション。リゾルバーはこれを認識し、Aレコード自体の後に実行する必要はありません。

リゾルバーは回答をキャッシュするため、多くのクエリはキャッシュから回答でき、実際には毎回質問する必要はありません。特に、クエリの最初の数ステップは、コールド キャッシュで起動した直後を除いて、すべてリゾルバーによって既にキャッシュされている可能性があります。したがって、リゾルバーは通常、ステップ 3 (キャッシュからネームサーバーが何であるかを覚えているため) から開始するか、最終的な答えがまだわからない場合はucla.edu.少なくともステップ 2 (ネームサーバーが何であるかを覚えているため) から開始できます。edu.

したがって、質問に対する簡単な答えはyesです。使用CNAMEすると、リゾルバーの作業が増え、解決プロセスに時間がかかります。しかし実際には、リゾルバーのキャッシュが非常に役立つため、それほど問題にはなりません。CNAMEのターゲットがレコード自体と同じゾーンにある場合CNAMEは、追加のレコードが役立つため、問題はさらに少なくなります。

于 2013-04-12T21:31:35.783 に答える