DNSext Working Group O. Sury Internet-Draft CZ.NIC Updates: 1995 (if approved) S. Kerr, Ed. Intended status: Standards Track ISC Expires: January 8, 2010 July 7, 2009 IXFR-ONLY to Prevent IXFR Fallback to AXFR draft-kerr-ixfr-only-00 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 on January 8, 2010. Copyright Notice Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). 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 back from IXFR to AXFR. Sury & Kerr Expires January 8, 2010 [Page 1] Internet-Draft IXFR-ONLY July 2009 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3 2. Master Side . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Slave Side . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Applicability of IXFR-ONLY . . . . . . . . . . . . . . . . . . 4 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 7. Normative References . . . . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 5 Sury & Kerr Expires January 8, 2010 [Page 2] Internet-Draft IXFR-ONLY July 2009 1. Introduction For large DNS zones, RFC 1995 [RFC1995] defines Incremental Zone Transfer (IXFR), which is an efficient way to transfer changes in zones from masters to slaves. However, when a slave has multiple masters for a single zone, it is possible that not all masters has the same set of serials for that zone. In this case, if a slave attempts an IXFR from a master which does not have the serial in use by the slave, the master will fall back to a full zone transfer (AXFR). For example, master NS1 may have serials 1, 2, and 3 for a zone, and master NS2 may have serials 1 and 3. A slave that is at serial 2 which sends an IXFR request to NS2 will get a full AXFR of the zone at serial 3. This is because NS2 does not know the zone at serial 2, and therefore does not know what the differences are between serial 2 and serial 3. If the slave in this example had known to send the query to NS1, then it could have gotten an incremental transfer. But slaves can only know what the latest version of the zone is at a master (this information is available via an SOA query). The IXFR-ONLY type provides a way for the slaves to ask each master to return an error instead of sending the current version of the zone. By using this, a slave can check each master 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. Master Side A master receiving a DNS message requesting IXFR-ONLY will reply exactly as described in RFC 1995 [RFC1995] if it is able to produce an IXFR for the serial requested. If the master is is not able to reply with an IXFR it MUST NOT reply with an AXFR. Instead, it MUST reply with RCODE CannotIXFR. Sury & Kerr Expires January 8, 2010 [Page 3] Internet-Draft IXFR-ONLY July 2009 3. Slave Side A slave who wishes to use IXFR-ONLY will send a message to one of the masters. The format is exactly the same as for IXFR, except the IXFR-ONLY type code is used instead of the IXFR type code. If the master replies with IXFR, then the slave is done. If the master replies with an RCODE of CannotIXFR, then the slave proceeds on to a different master. In this case the master implements IXFR-ONLY, but does not have the serial requested. If the master replies with any RCODE other than CannotIXFR or NoError, then the slave proceeds on to a different master. In this case the server does not implement IXFR-ONLY. If the slave attempts IXFR-ONLY to each master and none reply with an incremental transfer, then it should attempt an IXFR as described in RFC 1995 [RFC1995] to each of the servers which replied with an RCODE other than CannotIXFR or NoError. The method described above allows slaves to operate normally to have some masters who support IXFR-ONLY, and some who do not. Slaves MAY remember which masters support IXFR-ONLY and query those masters first. However since masters may change software or even run a mix of software, slaves MUST attempt to query each master periodically when they attempt to get new versions of a zone. Implementations SHOULD allow slaves to disable IXFR-ONLY for a given master, if this is known in advance. These masters 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 Implementations MUST allow slaves to disable IXFR-ONLY completely. Implementations SHOULD allow slaves 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 cause slaves to prefer particular masters, by shifting load to ones that support IXFR-ONLY. If this a problem, then administrators can disable IXFR-ONLY. If a slave has a single master for a zone, it SHOULD use IXFR rather than IXFR-ONLY. Sury & Kerr Expires January 8, 2010 [Page 4] Internet-Draft IXFR-ONLY July 2009 5. IANA Considerations IANA allocates the new IXFR-ONLY TYPE, 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 of masters by providing a quick and efficient way to check which versions of a zone each master supports. Zones should be secured via TSIG [RFC2845] prevent unauthorized information exposure. However, even administrators of master servers may not want this information given to slaves, 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.NIC CZ.NIC, z. s. p. o. Americka 23 120 00 Praha 2 CZ Email: ondrej.sury@nic.cz Sury & Kerr Expires January 8, 2010 [Page 5] Internet-Draft IXFR-ONLY July 2009 Shane Kerr (editor) ISC Bennebrokestraat 17-I 1015 PE Amsterdam NL Phone: +31 64 6336297 Email: shane@isc.org Sury & Kerr Expires January 8, 2010 [Page 6]