DNSext Working Group O. Sury Internet-Draft CZ.NIC Updates: 1995 (if approved) S. Kerr, Ed. Intended status: Standards Track ISC Expires:January 8,August 30, 2010 February 26, 2010July 7, 2009IXFR-ONLY to Prevent IXFR Fallback to AXFRdraft-kerr-ixfr-only-00draft-kerr-ixfr-only-01 Abstract This documents proposes a new QTYPE (Query pseudo RRtype) for the Domain Name System (DNS). IXFR-ONLY is a variant of IXFR (RFC 1995) that allows an authoritative server to incrementally update zone content from another (primary) server without falling back from IXFR to AXFR. This way, alternate peers can be contacted more quickly and convergence of zone content may be achieved much faster in important, resilient operational scenarios. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire onJanuary 8,August 30, 2010. Copyright Notice Copyright (c)20092010 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of thisdocument (http://trustee.ietf.org/license-info).document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.Abstract Presents IXFR-ONLY, a way for a DNS slave to prevent a DNS master from falling backCode Components extracted fromIXFR to AXFR.this document must 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 BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3 2.MasterIXFR Server Side . . . . . . . . . . . . . . . . . . . . . . .. . . 34 3.SlaveIXFR Client Side . . . . . . . . . . . . . . . . . . . . . . .. . .4 4. Applicability of IXFR-ONLY . . . . . . . . . . . . . . . . . .45 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 7. Normative References . . . . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .56 1. Introduction For large DNS zones, RFC 1995 [RFC1995] defines Incremental Zone Transfer (IXFR), which allows only to transfer the changed portion(s) of a zone. In the document, an IXFR client and an IXFR server is defined as in RFC 1995 [RFC1995], a secondary name server which requests IXFR is called an IXFR client and a primary or secondary name server which responds to the request is called an IXFR server. IXFR is an efficient way to transfer changes in zones frommastersIXFR servers toslaves.IXFR clients. However, whena slavean IXFR client has multiplemastersIXFR servers for a single zone, it is possible that not allmasters hasIXFR servers have the zone with sameset of serialsserial number for that zone. In this case, ifa slavean IXFR client attempts an IXFR froma masteran IXFR server which does not have zone with the serialin usenumber used by theslave,IXFR client, themasterIXFR server will fall back to a full zone transfer(AXFR).(AXFR) when it has a version of the zone with serial number greater than the serial requested by the IXFR client. For example,masterIXFR server NS1 may haveserialsserial numbers 1, 2, and 3 for a zone, andmasterIXFR server NS2 may haveserialsserial numbers 1 and3. A slave3 for the same zone. An IXFR client thatis athas the zone with serial number 2 which sends an IXFR request to IXFR server NS2 will get a fullAXFRzone transfer (AXFR) of the zone at serial number 3. This is because NS2 does not know the zoneatwith serial number 2, and therefore does not know what the differences are between zone with serial number 2 andserial3. If theslaveIXFR client in this example had known to send the query to IXFR server NS1, then it could have gotten an incrementaltransfer.transfer (IXFR). ButslavesIXFR clients can only know what the latest version of the zone is at amasterIXFR server (this information is available via an SOA query). The IXFR-ONLY query type provides a way for theslavesIXFR client to ask eachmasterIXFR server to return an error instead of sending the current version of thezone.zone via full zone transfer (AXFR). By using this, aslaveIXFR client can check eachmasterIXFR server until it finds one able to provide IXFR. 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.MasterIXFR Server Side AmasterIXFR server receiving a DNS message requesting IXFR-ONLY will replyexactlyas described in RFC 1995 [RFC1995] if it is able to produce an IXFR for the serial number requested. If themasterIXFR server is is not able to reply with an IXFR it MUST NOT reply with anAXFR.AXFR unless AXFR result is smaller than IXFR result. Instead, it MUST reply with RCODE CannotIXFR. (!FIXME) If the IXFR result is larger than an AXFR, then an IXFR server MAY reply with an AXFR result instead. This is an optimization, and IXFR servers MAY only reply with AXFR if they are certain that the reply using AXFR is smaller than an equivalent IXFR reply. 3.SlaveIXFR Client SideA slaveAn IXFR client who wishes to use IXFR-ONLY will send a message to one of themasters.IXFR servers. The format is exactly the same as for IXFR, except the IXFR-ONLYtypeQTYPE code is used instead of the IXFRtypeQTYPE code. If themasterIXFR server replies with IXFR, then theslaveIXFR client is done. If themasterIXFR server replies with an RCODE of CannotIXFR, then theslaveIXFR client proceeds on to a differentmaster.IXFR server. In this case themasterIXFR server implements IXFR-ONLY, but does not have information about zone with the serial number requested. If themasterIXFR server replies with any RCODE other than CannotIXFR or NoError, then theslaveIXFR client proceeds on to a differentmaster.IXFR server. In this case the IXFR server does not implement IXFR-ONLY. If theslaveIXFR client attempts IXFR-ONLY to eachmasterIXFR server and none of them reply with an incrementaltransfer,transfer (IXFR), then it should attempt an IXFR as described in RFC 1995 [RFC1995] to each of the IXFR servers which replied with an RCODE other than CannotIXFR or NoError. The method described above allowsslavesIXFR clients to operate normallyto havein situatians where somemasters whoof the IXFR servers do support IXFR-ONLY, and some who do not.SlavesIXFR clients MAY remember whichmastersIXFR servers support IXFR-ONLY and query thosemastersIXFR servers first. However sincemastersIXFR servers may change software or even run a mix of software,slavesIXFR clients MUST attempt to query eachmasterIXFR server periodically when they attempt to get new versions of a zone. ImplementationsSHOULDMAY allowslavesIXFR clients to disable IXFR-ONLY for a givenmaster,IXFR server, if this is known in advance. ThesemastersIXFR servers are treated as if they replied with an RCODE other than CannotIXFR or NoError, although no query with IXFR-ONLY is actually sent. 4. Applicability of IXFR-ONLY ImplementationsMUSTSHOULD allowslavesIXFR clients to disable IXFR-ONLY completely. ImplementationsSHOULDMAY allowslavesIXFR clients to disable IXFR-ONLY for a specific zone. This may be useful for small zones, where fallback to AXFR is cheap, or in other cases where IXFR-ONLY is causing problems. Usage of IXFR-ONLY may causeslavesIXFR clients to prefer particularmasters,IXFR servers, by shifting load to ones that support IXFR-ONLY. If this a problem, then administrators can disableIXFR-ONLY.IXFR-ONLY in implementations that allow it. If aslaveIXFR client has a singlemasterIXFR server for a zone, it SHOULD use IXFR rather than IXFR-ONLY. 5. IANA Considerations IANA allocates the new IXFR-ONLYTYPE,QTYPE, which means "incremental transfer only". IANA allocates the CannotIXFR RCODE, which means "Server cannot provide IXFR for zone". 6. Security Considerations IXFR-ONLY may be used by someone to get information about the state ofmastersIXFR servers by providing a quick and efficient way to check which versions of a zone eachmasterIXFR server supports. Zones should be secured via TSIG [RFC2845] to prevent unauthorized information exposure. However, even administrators ofmasterIXFR servers may not want this information given toslaves,IXFR clients, in which case they will need to disable IXFR-ONLY. 7. Normative References [RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995, August 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D., and B. Wellington, "Secret Key Transaction Authentication for DNS (TSIG)", RFC 2845, May 2000. Authors' Addresses Ondrej Sury CZ.NICCZ.NIC, z. s. p. o.Americka 23 120 00 Praha 2 CZ Phone: +420 222 745 110 Email: ondrej.sury@nic.cz Shane Kerr (editor) ISC Bennebrokestraat 17-I 1015 PE Amsterdam NL Phone: +31 64 6336297 Email: shane@isc.org