web-dev-qa-db-ja.com

DNSのCNAMEとNSを理解する

DNSのさまざまなタイプ(A、CNAME、NSなど)を学習しようとしています。

私はそれらが何に使われているのか理解していますが、私が見ているように、CNAMEはNSが使われているときはいつでも使えますか、それとも間違っていますか?

例えば:

(dns.mysite.com, 1.2.3.4, A)
(mysite.com, dns.mysite.com, CNAME)

ここでNSのCNAMEを使用した場合、問題になりますか?

また、2番目の質問として、トップレベルドメイン(TDL)DNSサーバーにはCNAMEレコードがないと仮定するのは正しいでしょうか。

2
lawls

いいえ、CNAMEとNSはまったく異なります。

CNAMEは、エイリアスを標準名(「true」)に関連付けます。したがって、この例では、dns.mysite.comはcanonical/true name mysite.comのエイリアスになり、dns.mysite.comのすべてのDNSクエリはmysite.comを参照(つまり、再試行)します。

NSレコードは、ドメイン(より正確にはDNSゾーン)の信頼できるネームサーバーを識別します。ドメイン(ゾーン)に関する信頼できる詳細を探す場所をDNSクエリに伝えます。通常、ネームサーバーインフラストラクチャをセットアップする場合を除き、ドメインレジストラーはドメインの正しいNS詳細を提供します(通常は、ns1.registrarなど、レジストラーによって制御される冗長性のためのいくつかのネームサーバー)。 com、ns2.registrar.com)。

同じアドレスに解決されるサブドメインの場合、AレコードとCNAMEレコードのいずれかを選択できます。 AレコードとCNAMEレコードの実際の違いは、CNAMEによって追加の検索が行われ(エイリアスを正規名に解決するため)、直接のAレコードでは発生しないことです。したがって、サブドメインに個々のAレコードではなくCNAMEレコードを使用すると、ルックアップのパフォーマンスがわずかに低下します。

ルートゾーンファイルにはCNAMEレコードが含まれていませんが、それはできないためではありませんが、そうする必要はありません。主に、トップレベルドメイン、国コードトップレベルドメイン(および、最近では、.auctionなどのすべての新規/拡張TLD)のNSおよびアドレス(A&AAAA)レコードが含まれます。

3
Patrick