3. DNSヘッダーと応答コード
DNSメッセージのヘッダーは最初の12オクテットです。[RFC1035]のセクション4.1.1から4.1.3のヘッダー図の多くのフィールドとフラグは、その図の名前で参照されます。たとえば、応答コードは「RCODE」と呼ばれ、レコードのデータは「RDATA」と呼ばれ、権威応答ビットはしばしば「AAフラグ」または「AAビット」と呼ばれます。
[RFC1035]で定義されている応答コードのいくつかは、独自の略称を持っています。数値を参照せずに表示される一般的な応答コード名には、「FORMERR」、「SERVFAIL」、および「NXDOMAIN」(後者は「名前エラー」とも呼ばれます)があります。すべてのRCODEは http://www.iana.org/assignments/dns-parameters にリストされていますが、そのサイトは混合大文字小文字を使用していますが、ほとんどの文書はすべて大文字を使用しています。
NODATA: 「名前が指定されたクラスに対して有効であるが、指定されたタイプのレコードがないことを示す疑似RCODE。NODATA応答は応答から推測する必要があります。」([RFC2308]のセクション1から引用。)「NODATAは、RCODEがNOERRORに設定され、応答セクションに関連する応答がない応答によって示されます。権威セクションにはSOAレコードが含まれるか、そこにNSレコードがありません。」([RFC2308]のセクション2.2から引用。)参照はNODATA応答と同様の形式を持つことに注意してください。[RFC2308]はそれらを区別する方法を説明しています。
「NXRRSET」という用語は、NODATAの同義語として使用されることがあります。ただし、NXRRSETは[RFC2136]で定義された特定のエラーコードであるため、これは誤りです。
否定応答(Negative response): 特定のRRsetが存在しないことを示す応答、またはRCODEがネームサーバーが応答できないことを示す応答。[RFC2308]のセクション2と7は、否定応答のタイプを詳細に説明しています。
参照(Referrals): 非権威応答の権威セクションからのデータ。[RFC1035]のセクション2.1は「権威」データを定義しています。ただし、ゾーンカット(セクション6で定義)での参照は権威的ではありません。参照は、ゾーンカットNSリソースレコードとそのグルーレコードである可能性があります。ゾーンカットの親側のNSレコードは権威的な委任ですが、通常は権威データとして扱われません。一般に、参照は、サーバーが応答を知らないが、応答を得るためにクエリをどこに向けるべきかを知っていることを伝える応答を送信するサーバーの方法です。歴史的に、多くの権威サーバーは、権威的でない名前をクエリされたときにルートゾーンへの参照で応答しましたが、この慣行は減少しています。