ホストレコードとAレコードの違い

ホストレコードとAレコードの違い

ホスト レコードと A レコードの実際の違いは何ですか? どちらも IP を指しているので、違いは何ですか?

答え1

実際のDNS仕様にはホストレコードというものは存在しません。ホストレコードは一般的に、DDI (DNS、DHCP、IPAM)次のようなソリューションインフォブロックスその他。これらは、さまざまな DNS レコード タイプ (A、AAAA、PTR、CNAME など) と、「ホスト」に関連付けられたその他のメタデータで構成されます。

答え2

他の人が述べているように、DNS 仕様には「ホスト」レコードというものは存在しません。DNS は、、、レコード タイプで表されるホスト名と IP アドレスの関係を保存するために頻繁に使用されるため、ほとんどの人がホスト名と DNS レコードを混同してAいますAAAAPTR

ただし、DNS はそれだけではありません。

  • DNS は、さまざまなものを保存するために使用できる、広く分散された階層型データベースです。インターネットがこのようなデータベースに最も必要としているのは、名前と IP アドレスのマッピング、およびその逆のマッピングであるため、DNS はこれに特化しています。
  • すべてのホスト名は有効な DNS ラベルです。(ラベル = DNS レコードの左側)
  • すべての DNS ラベルが正当なホスト名エンティティであるとは限りません。ここで人々は混乱します。Wikipediaはこのトピックをかなり詳しく取り上げている簡単に言うと、多くのDNS の構文チェックに合格するが、ホスト名に使用するには適さない文字。これは、DNS がホスト名の仕様に縛られていないことを示す重要なヒントです。

上記のトピックをまとめ、補強するために、私は以下の文章を引用します。RFC-2181:

  1. 名前の構文

ドメイン ネーム システムは、インターネット ホスト名をデータにマッピングし、インターネット アドレスをホスト名にマッピングする目的のみで機能すると考えられることがあります。これは正しくありません。DNS は、一般的な (多少制限はありますが) 階層型データベースであり、ほぼすべての種類のデータをほぼすべての目的で保存できます。

DNS 自体は、リソース レコードを識別するために使用できる特定のラベルに 1 つの制限のみを課しています。その 1 つの制限は、ラベルの長さとフル ネームに関係しています。1 つのラベルの長さは 1 ~ 63 オクテットに制限されています。完全なドメイン名は 255 オクテット (区切り文字を含む) に制限されています。長さがゼロのフル ネームは、DNS ツリーのルートを表すものとして定義され、通常は "." として記述および表示されます。これらの制限を除けば、任意のバイナリ文字列を任意のリソース レコードのラベルとして使用できます。同様に、任意のバイナリ文字列は、値の一部またはすべてとしてドメイン名を含むレコードの値として使用できます (SOA、NS、MX、PTR、CNAME、および追加される可能性のあるその他の値)。DNS プロトコルの実装では、使用できるラベルに制限を課してはなりません。特に、DNS サーバーは、一部の DNS クライアント プログラムで受け入れられない可能性があるラベルが含まれているという理由で、ゾーンの提供を拒否してはなりません。 DNS サーバーは、疑わしいと考えられるラベルを含むプライマリ ゾーンをロードするときに警告を発したり、ロードを拒否したりするように構成できますが、これはデフォルトでは行われません。

ただし、DNS データを使用するさまざまなアプリケーションでは、その環境で許容される特定の値に制限が課せられる場合があることに注意してください。たとえば、任意のバイナリ ラベルに MX レコードを含めることができるということは、任意のバイナリ名を電子メール アドレスのホスト部分に使用できることを意味するものではありません。DNS のクライアントは、DNS ルックアップ要求のキーとして使用する値、および DNS によって返される値に対して、状況に応じて適切な制限を課すことができます。クライアントにこのような制限がある場合、そのデータを使用する前に、DNS からのデータを検証して、そのデータが準拠していることを確認する責任はクライアントのみにあります。

最後の段落は特に重要です。DNS標準では、合法的に保存できるものに関して非常にオープンエンドです。DNS内しかし、他の標準ではサービスがどのように機能するかを規定している場合があります。消費するDNSは、アプリケーションがそこに何を見つけるべきか(または見つけるべきではないか)に制限を課す可能性があります。これは、RFCで定義されているホスト名の場合に当てはまります。DNS 標準の。

答え3

DNS は、A レコードをレコード タイプの 1 つとして指定します。A レコードはホスト レコードと呼ばれることもあります。これらは同じものですが、正式な名前である「A レコード」を使用することをおすすめします。

両方の概念が異なる意味を持つような状況に遭遇したことがありますか? Infoblox DNS アプライアンスは、「ホスト オブジェクト」の概念をサポートしています。これは、DNS サーバーで A レコードと PTR レコードに変換される構成内のデータ構造です。

答え4

はい、私は Infoblox を扱っていました。皆さんの言う通り、ホスト レコードは、A レコードと PTR レコードの両方を同時に作成するために Infoblox によって作成されたオブジェクトです。

また、個別の順方向検索と逆方向検索も作成できます。大規模なデータベースを検索するときには少し遅くなりますが、Infoblox は多くの用途に適しています。

ご意見ありがとうございます。とても勉強になりました :)

関連情報