要約
- RFC 9953 は、同じ DNS データを運ぶ DoC 問い合わせで CoAP Cache-Key を安定させるため、DNS ヘッダ ID を
0にすることを推奨する。 - その再利用は
Max-Ageと DNS TTL の計算に縛られ、DNS の結論、応答元、検証、ローカル判断、実際の結果を代替しない。
現場の小さな端末が休止から戻り、ひとつの名前を引く。経路上の CoAP キャッシュが一致する表現を持っていれば、無線区間も電池も節約できる。そこまでは観測できる。しかし「キャッシュが返した」という一文から、上流が権威サーバーだったのか再帰リゾルバだったのか、DNSSEC 検証があったのか、その情報がまだ使えるのか、端末がどんな規則で次の処理を選んだのかは分からない。
RFC 9953 は 2026 年 3 月に公開された DNS over CoAP(DoC)の仕様である。対象は OPCODE 0 の DNS クエリで、DNS の一組の問い合わせと応答を CoAP の要求・応答操作へ写す。クエリは CoAP FETCH の本文に入り、DNS のワイヤ形式は Content-Format 553 の application/dns-message で運ばれる。これは制約の強い IoT 環境向けの運搬方法であって、CoAP の外側が DNS の意味を保証する仕組みではない。
ID をゼロにする規則は、まさにキャッシュのための規則である。DoC クライアントは SHOULD として DNS ヘッダ ID を 0 にし、同じ DNS データを求める複数の要求が、従来のトランザクション ID の違いだけで別の CoAP Cache-Key にならないようにする。経路中のキャッシュやプロキシは表現を再利用できる。サーバーは MUST として要求 ID を対応する応答にコピーする。ゼロは信頼印でも、サーバー名でも、実行許可でもない。キャッシュキーから偶発的な差を除く処理にすぎない。
その処理の隣には必ず時計がある。DoC サーバーは、CoAP 応答の Max-Age と応答内の各 DNS TTL の合計が、上流 DNS から受けた対応 TTL を超えないことを MUST として保証する。Max-Age が書かれていない場合も、CoAP の既定 60 秒が数えられる。クライアントは受信時に Max-Age をすべての DNS TTL に加え、計算後の TTL を使わなければならない。輸送層で残る時間と DNS 表現で残る時間は、ひとつの寿命予算を分けて表したものである。
推奨アルゴリズムは、DNS 応答内で最小の TTL を Max-Age にし、その値を本文中の全 TTL から引く。これにより中間キャッシュが期限切れのレコードを意図せず返すのを防ぎ、内容から作る ETag は上流キャッシュの TTL 更新で変わりにくくなる。短くしか保持すべきでないエラーなら、Max-Age はより短く、ゼロにもできる。これはエラーを消すためではなく、時間を勝手に延ばさないための規律である。
応答には二種類の成否がある。DNS 応答を解析できるなら、DNS の中身が NXDOMAIN などの RCODE エラーでも CoAP 2.05 Content で返すことが推奨される。失敗した CoAP コードは CoAP 層のエラー、または DoC 要件を満たさない要求のために使う。外側の 2.05 だけを成功率にすれば DNS の失敗を落とす。RCODE だけを障害通知にすれば、輸送と上流 DNS の違いを落とす。
DoC サーバーは権威サーバー、stub、再帰リゾルバになり得て、制約端末のための DNSSEC バリデータにも MAY としてなり得る。(D)TLS や OSCORE でメッセージを保護できても、すべての返答の DNSSEC 検証やローカル利用方針、アプリケーションの結果までは決めない。Daniel Kade が Heng Lu の現実層の考え方を編集上のレンズとして使うのはこのためだ。再利用可能なバイト列と、それを行動の根拠にしてよいことは別の事実である。
出典
- RFC 9953 — DNS over CoAP
- RFC 9953 の記録
- IETF Datatracker — RFC 9953
- RFC 7252 — Constrained Application Protocol
- RFC 8132 — CoAP の PATCH と FETCH
- RFC 8484 — DNS Queries over HTTPS
- RFC 8613 — OSCORE
- RFC 9364 — DNS Security Extensions
- Heng Lu — Running-Code Primacy
- Heng Lu — Minimum Initial Specification
- Heng Lu — Reality Layers, Symbolic Power and Clarity
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
