Internet Engineering Task Force                               H. Salgado
Internet-Draft                                                 NIC Chile
Intended status: Informational                          January 27, 2020
Expires: July 30, 2020


      The "RRSERIAL" EDNS option for the SOA serial of a RR's zone
                       draft-salgado-rrserial-01

Abstract

   The "RRSERIAL" EDNS option allows a DNS querier to ask a DNS
   authoritative server to add a EDNS option in the answer of such query
   with the SOA serial number field of the origin zone which contains
   the answered resource record.

   This "RRSERIAL" data allows to debug problems and diagnosis by
   helping to recognize the origin of an answer, associating this answer
   with a respective zone version.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 30, 2020.

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Salgado                   Expires July 30, 2020                 [Page 1]


Internet-Draft          The RRSERIAL EDNS option            January 2020


   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  The RRSERIAL Option . . . . . . . . . . . . . . . . . . . . .   3
   3.  RRSERIAL Processing . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Querier . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  Responder . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Example usage . . . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   4
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
     6.1.  DNS EDNS0 Option Code Registration  . . . . . . . . . . .   4
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .   4
   Appendix A.  Implementation References  . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   The "RRSERIAL" EDNS option [RFC6891] allows a DNS querier to ask a
   DNS authoritative server to add a EDNS option in the answer of such
   query with the SOA serial number field of the zone which contains the
   answered resource record.

   This "RRSERIAL" data allows to debugging helping to recognize the
   origin of an answer, associating this answer with a respective zone
   version.

   The DNS data is of loose coherent nature, meaning that a record
   obtained by a response could be out-of-sync with other authoritative
   sources of the same data.  This makes it difficult to debug the
   responses because you'd need to couple an answer with the version of
   the zone used to obtain such data.  Even when you could use a
   separate question to ask for the SOA RR of the zone to ask for its
   serial, this separate question is in another time and could even
   arrive to another authoritative source, so it's not directly
   correlated with another query.

   This EDNS option is aimed only to authorative servers for a zone.
   Resolvers and forwarders should ignore the option.  It's only
   intended for hop-to-hop communication (not transitive).






Salgado                   Expires July 30, 2020                 [Page 2]


Internet-Draft          The RRSERIAL EDNS option            January 2020


1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  The RRSERIAL Option

   The OPTION-CODE for the RRSERIAL option is <TBD>.

   The OPTION-DATA for the RRSERIAL option is an unsigned 32 bit version
   number as defined in the SERIAL field of the "SOA RDATA Format"
   section (3.3.13) of "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION"
   (RFC 1035 [RFC1035]) specification.

3.  RRSERIAL Processing

3.1.  Querier

   The EDNS RRSERIAL option MAY be included on any QUERY, by adding a
   zero-length EDNS RRSERIAL option to the options field of the OPT
   record when the query is made.

3.2.  Responder

   If an EDNS RRSERIAL option is sent to a server that is authoritative
   for the zone queried, and the RCODE for the answer is NOERROR, the
   OPTION-DATA MUST be a copy of the serial field of the SOA resource
   record of the zone which contains the resource record of the ANSWER
   section.

   Otherwise, the answer MUST NOT add an EDNS RRSERIAL option to the
   response.

4.  Example usage
















Salgado                   Expires July 30, 2020                 [Page 3]


Internet-Draft          The RRSERIAL EDNS option            January 2020


     $ dig @auth_server www.example.com AAAA +rrserial +norec +nocmd

     ; (1 server found)
     ;; global options: +cmd
     ;; Got answer:
     ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16429
     ;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

     ;; OPT PSEUDOSECTION:
     ; EDNS: version: 0, flags:; udp: 4096
     ; RRSERIAL: 2019073001
     ;; QUESTION SECTION:
     ;www.example.com.                    IN      AAAA

     ;; ANSWER SECTION:
     www.example.com.             900     IN      AAAA

     ;; Query time: 53 msec
     ;; SERVER: authoritative#53(2001:DB8::53)
     ;; WHEN: Tue Aug 07 16:54:05 -04 2018
     ;; MSG SIZE  rcvd: 71


5.  Acknowledgements

   This document was made by his author in its entirety, so there're no
   acknowledgements yet.

6.  IANA Considerations

6.1.  DNS EDNS0 Option Code Registration

   Ask to IANA for a code point registration for "RRSERIAL" option.

7.  Security Considerations

   There's no risk on disclosure of private information, as the SERIAL
   of the SOA record is already publicly available.

8.  Normative References

   [RFC1035]  Mockapetris, P., "Domain names - implementation and
              specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
              November 1987, <https://www.rfc-editor.org/info/rfc1035>.







Salgado                   Expires July 30, 2020                 [Page 4]


Internet-Draft          The RRSERIAL EDNS option            January 2020


   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC6891]  Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms
              for DNS (EDNS(0))", STD 75, RFC 6891,
              DOI 10.17487/RFC6891, April 2013,
              <https://www.rfc-editor.org/info/rfc6891>.

Appendix A.  Implementation References

   There's a patched NSD server 4.1.23 with support for RRSERIAL with
   the experimental opcode 65024 maintained in github
   https://github.com/huguei/nsd/tree/rrserial , and installed for live
   testing in 200.1.122.30 address with configured zones
   dateserial.example.com and incserial.example.com; with MX, TXT and
   AAAA apex records.

Author's Address

   Hugo Salgado
   NIC Chile
   Miraflores 222, piso 14
   Santiago  CP 8320198
   CL

   Phone: +56 2 29407700
   Email: hsalgado@nic.cl






















Salgado                   Expires July 30, 2020                 [Page 5]