mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
new draft
This commit is contained in:
336
doc/draft/draft-kerr-ixfr-only-01.txt
Normal file
336
doc/draft/draft-kerr-ixfr-only-01.txt
Normal file
@@ -0,0 +1,336 @@
|
||||
|
||||
|
||||
|
||||
DNSext Working Group O. Sury
|
||||
Internet-Draft CZ.NIC
|
||||
Updates: 1995 (if approved) S. Kerr, Ed.
|
||||
Intended status: Standards Track ISC
|
||||
Expires: August 30, 2010 February 26, 2010
|
||||
|
||||
|
||||
IXFR-ONLY to Prevent IXFR Fallback to AXFR
|
||||
draft-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 on August 30, 2010.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (c) 2010 IETF Trust and the persons identified as the
|
||||
document authors. All rights reserved.
|
||||
|
||||
|
||||
|
||||
|
||||
Sury & Kerr Expires August 30, 2010 [Page 1]
|
||||
|
||||
Internet-Draft IXFR-ONLY February 2010
|
||||
|
||||
|
||||
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 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
|
||||
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. IXFR Server Side . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3. IXFR Client Side . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
4. Applicability of IXFR-ONLY . . . . . . . . . . . . . . . . . . 5
|
||||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
|
||||
7. Normative References . . . . . . . . . . . . . . . . . . . . . 5
|
||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Sury & Kerr Expires August 30, 2010 [Page 2]
|
||||
|
||||
Internet-Draft IXFR-ONLY February 2010
|
||||
|
||||
|
||||
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 from IXFR
|
||||
servers to IXFR clients. However, when an IXFR client has multiple
|
||||
IXFR servers for a single zone, it is possible that not all IXFR
|
||||
servers have the zone with same serial number for that zone. In this
|
||||
case, if an IXFR client attempts an IXFR from an IXFR server which
|
||||
does not have zone with the serial number used by the IXFR client,
|
||||
the IXFR server will fall back to a full zone transfer (AXFR) when it
|
||||
has a version of the zone with serial number greater than the serial
|
||||
requested by the IXFR client.
|
||||
|
||||
For example, IXFR server NS1 may have serial numbers 1, 2, and 3 for
|
||||
a zone, and IXFR server NS2 may have serial numbers 1 and 3 for the
|
||||
same zone. An IXFR client that has the zone with serial number 2
|
||||
which sends an IXFR request to IXFR server NS2 will get a full zone
|
||||
transfer (AXFR) of the zone at serial number 3. This is because NS2
|
||||
does not know the zone with serial number 2, and therefore does not
|
||||
know what the differences are between zone with serial number 2 and
|
||||
3.
|
||||
|
||||
If the IXFR client in this example had known to send the query to
|
||||
IXFR server NS1, then it could have gotten an incremental transfer
|
||||
(IXFR). But IXFR clients can only know what the latest version of
|
||||
the zone is at a IXFR server (this information is available via an
|
||||
SOA query).
|
||||
|
||||
The IXFR-ONLY query type provides a way for the IXFR client to ask
|
||||
each IXFR server to return an error instead of sending the current
|
||||
version of the zone via full zone transfer (AXFR). By using this, a
|
||||
IXFR client can check each IXFR 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].
|
||||
|
||||
|
||||
|
||||
|
||||
Sury & Kerr Expires August 30, 2010 [Page 3]
|
||||
|
||||
Internet-Draft IXFR-ONLY February 2010
|
||||
|
||||
|
||||
2. IXFR Server Side
|
||||
|
||||
A IXFR server receiving a DNS message requesting IXFR-ONLY will reply
|
||||
as described in RFC 1995 [RFC1995] if it is able to produce an IXFR
|
||||
for the serial number requested.
|
||||
|
||||
If the IXFR server is is not able to reply with an IXFR it MUST NOT
|
||||
reply with an 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. IXFR Client Side
|
||||
|
||||
An IXFR client who wishes to use IXFR-ONLY will send a message to one
|
||||
of the IXFR servers. The format is exactly the same as for IXFR,
|
||||
except the IXFR-ONLY QTYPE code is used instead of the IXFR QTYPE
|
||||
code.
|
||||
|
||||
If the IXFR server replies with IXFR, then the IXFR client is done.
|
||||
|
||||
If the IXFR server replies with an RCODE of CannotIXFR, then the IXFR
|
||||
client proceeds on to a different IXFR server. In this case the IXFR
|
||||
server implements IXFR-ONLY, but does not have information about zone
|
||||
with the serial number requested.
|
||||
|
||||
If the IXFR server replies with any RCODE other than CannotIXFR or
|
||||
NoError, then the IXFR client proceeds on to a different IXFR server.
|
||||
In this case the IXFR server does not implement IXFR-ONLY.
|
||||
|
||||
If the IXFR client attempts IXFR-ONLY to each IXFR server and none of
|
||||
them reply with an incremental 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 allows IXFR clients to operate normally in
|
||||
situatians where some of the IXFR servers do support IXFR-ONLY, and
|
||||
some who do not. IXFR clients MAY remember which IXFR servers
|
||||
support IXFR-ONLY and query those IXFR servers first. However since
|
||||
IXFR servers may change software or even run a mix of software, IXFR
|
||||
clients MUST attempt to query each IXFR server periodically when they
|
||||
attempt to get new versions of a zone.
|
||||
|
||||
|
||||
|
||||
|
||||
Sury & Kerr Expires August 30, 2010 [Page 4]
|
||||
|
||||
Internet-Draft IXFR-ONLY February 2010
|
||||
|
||||
|
||||
Implementations MAY allow IXFR clients to disable IXFR-ONLY for a
|
||||
given IXFR server, if this is known in advance. These IXFR 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
|
||||
|
||||
Implementations SHOULD allow IXFR clients to disable IXFR-ONLY
|
||||
completely.
|
||||
|
||||
Implementations MAY allow IXFR 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 cause IXFR clients to prefer particular IXFR
|
||||
servers, by shifting load to ones that support IXFR-ONLY. If this a
|
||||
problem, then administrators can disable IXFR-ONLY in implementations
|
||||
that allow it.
|
||||
|
||||
If a IXFR client has a single IXFR server for a zone, it SHOULD use
|
||||
IXFR rather than IXFR-ONLY.
|
||||
|
||||
|
||||
5. IANA Considerations
|
||||
|
||||
IANA allocates the new IXFR-ONLY 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
|
||||
of IXFR servers by providing a quick and efficient way to check which
|
||||
versions of a zone each IXFR server supports. Zones should be
|
||||
secured via TSIG [RFC2845] to prevent unauthorized information
|
||||
exposure. However, even administrators of IXFR servers may not want
|
||||
this information given to 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
|
||||
|
||||
|
||||
|
||||
Sury & Kerr Expires August 30, 2010 [Page 5]
|
||||
|
||||
Internet-Draft IXFR-ONLY February 2010
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Sury & Kerr Expires August 30, 2010 [Page 6]
|
||||
|
Reference in New Issue
Block a user