1. DNS/返答/DJBの分類

DJBの分類にもどづき説明を試みる。

DNS/実装/djbdnsの付属文書 http://djbdns.qmail.jp/djbdns/notes/type.html

返答をしないサーバーとか、エラー返答は別途扱う。 DNS/返答/分類 も参照。 -- ToshinoriMaeno 2020-08-06 14:20:30

2. 5種類の DNS 返答

正常な DNS 返答を受け取るとキャッシュサーバは 以下の5つの情報のどれか一つだけを学習する。

1. The query was not answered because the query name is an alias.

「照会名が別名であったため問合せに答えは得られなかった。 照会名を変えてもう一度試みる必要がある。」

返答のanswer sectionに照会名に対するCNAMEレコードが含まれていて、
『かつ』CNAMEがquery typeとマッチしないときに当てはまる。

「照会名」をownerにもつCNAMEレコード以外は無視すべきである。-- ToshinoriMaeno 2020-08-06 14:17:19

2. The query name has no records answering the query, and is also guaranteed to have no records of any other type.

これは返答コードがNXDOMAINであって、#1があてはまらない時に適用される。 

3. The query name has one or more records answering the query.

返答のanswer sectionに照会名とタイプの合致するレコード(複数可)があるときに適用される。 
  ただし、#1 が当てはまらず、#2 も当てはまらないとき。

4. The query was not answered because the server does not have the answer.

「サーバが答を持っていないので、問合せには答えてもらえなかった。 別のサーバにコンタクトする必要がある。」

返答の authority section に NS レコードが含まれていて、 authority section に SOA レコードが含まれていないときに適用される。 
  ただし、#1, #2, #3 のどれも当てはまらないときに限る。 RCode NoError

(訳注)answer sectionがレコードを含むケースは#3に分類される。

5. The query name has no records answering the query, but it may have records of another type.


この手順は得られる情報が少ない割に、信じがたい位多大な手間のかかる(誤り易い)解析を必要とする。

根底にはDNSが人間にとって見やすい形式で情報を宣言するよう 設計されていて、 もっとも簡単な可能なやり方で 重大な操作をサポートするように設計されてないことに問題がある。

3. NXDOMAINに関する警告:

NXDOMAIN は 照会ドメインにサブドメインが存在しないことを保証することは RFC 1034 と RFC 1035 から明らかである。

あるサーバがa.ns.heaven.af.mil と b.ns.heaven.af.mil に対するレコードを持ち、 ns.heaven.af.mil に対するレコードを持たないなら、

そこで、相互運用上の破滅を引き起こさぬために、 キャッシュとしては上の推論をしないようにすることが必須である。

4. まとめと命名

参照の便のため、上の5種類の返答に名前をつけておく。-- ToshinoriMaeno 2020-08-06 14:17:19

-- ToshinoriMaeno 2015-04-01 05:44:28

ゾーンサーバからの返答がかならずこれらのどれかに分類できるのかは疑念が残る。

-- ToshinoriMaeno 2015-12-06 09:13:06

MoinQ: DNS/返答/分類/DJBの分類 (last edited 2021-06-04 00:46:39 by ToshinoriMaeno)