## page was renamed from DNS/リゾルバー動作/RRSetsの扱い ## page was renamed from DNS/リゾルバー/動作/RRSetsの扱い ## page was renamed from DNS/キャッシュサーバ/動作/RRSetsの扱い ## page was renamed from DNS/キャッシュサーバの動作/RRSetsの扱い ## page was renamed from DNS/キャッシュの動作/RRSetsの扱い #pragma section-numbers off RFC 2181 より http://dnsdoc.qmail.jp/rfc2181/s5.html からの抜粋(編集) 英文はRFC2181からのコピーであるが、翻訳の正しさは保証しない。 == 5.4. RRSets の受け取り (Receiving RRSets) == {{{ Servers must never merge RRs from a response with RRs in their cache to form an RRSet. If a response contains data that would form an RRSet with data in a server's cache the server must either ignore the RRs in the response, or discard the entire RRSet currently in the cache, as appropriate. Consequently the issue of TTLs varying between the cache and a response does not cause concern, one will be ignored. That is, one of the data sets is always incorrect if the data from an answer differs from the data in the cache. }}} サーバは返事として得られた資源レコード(RRs)とキャッシュ中の RRs とを __まぜあわせて別の資源レコード集合(RRSet) を作成してはならない__。 サーバがキャッシュしているデータと RRSetを構成するようなデータが返答中にある場合、サーバは 1. 返答中の RRsを無視するか、 2. 現在キャッシュにある RRSetを捨てさるか、 適当な方を選択する。 この結果、キャッシュと返答で TTL が異っていることは問題とはならない。 つまり、キャッシュと返答とが異なるデータ集合である場合、__どちらかが不正である__ということである。 {{{ The challenge for the server is to determine which of the data sets is correct, if one is, and retain that, while ignoring the other. Note that if a server receives an answer containing an RRSet that is identical to that in its cache, with the possible exception of the TTL value, it may, optionally, update the TTL in its cache with the TTL of the received answer. It should do this if the received answer would be considered more authoritative (as discussed in the next section) than the previously cached answer. }}} サーバにとっての課題は正しいものがあるとして、どちらのデータセットが正しいかを決定することと、 正しい方を残し、正しくない方を無視することとである。 TTL値の違いは無視するものとして、 キャッシュ中の RRSetとまったく同じ RRSetを持つ返答を受けとったときには、 キャッシュ中の TTL を受信した返答の TTL で更新してもよいことに注意せよ。 (オプション) 受信した返答が現在キャッシュされているところの以前の返答より__権威がある__(次の節で述べる)と 考えられる場合には、この更新を行うべきである。 -- ToshinoriMaeno <>