ietf-corpus

rfc-1995

Incremental Zone Transfer in DNS

M. Ohta
date1996-08 streamIETF areaint wgdnsind statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc1995 doi10.17487/RFC1995 errataview
This document proposes extensions to the DNS protocols to provide an incremental zone transfer (IXFR) mechanism. [STANDARDS-TRACK]

updated by

updates

Extracted elements (20)

design-rationale §6

A server may optionally condense multiple difference sequences into one, dropping intermediate version history. This is useful when many transient updates (e.g., round-robin IP cycling) would otherwise inflate stored history without value.

dns

design-rationale §1

AXFR transfers the entire zone file regardless of how small the change is, making it inefficient for propagating small updates. IXFR transfers only the changed portions, reducing bandwidth and latency for secondary server synchronization.

dns

design-rationale §4

RRs in incremental transfer messages may be partial: if only one RR among multiple RRs of the same type changes, only the changed RR is transferred, minimizing response size.

dns

design-rationale §5

The purging strategy for old difference data is to delete versions when the total IXFR response size would exceed that of an AXFR response. This caps storage overhead at at most twice the current zone size while preserving the efficiency benefit of IXFR.

dns

interoperability-note §6

Optional condensation can break clients that have received an intermediate version from one server but query a second server that has condensed that version away. The second server cannot provide incremental data from the unknown version and must fall back to a full zone transfer.

dns

interoperability-note §2

When a UDP IXFR response overflows a single DNS packet, the server replies with a single SOA record only (no zone data). The client must detect this and re-issue the query over TCP.

dns

normative-requirement §2 SHOULD

A client should first issue an IXFR query via UDP. If the entire response fits in one DNS packet it is delivered; if not, the server returns a single SOA indicating the client must retry over TCP.

dns

normative-requirement §4 SHOULD

An IXFR client should only replace an older zone version with a newer version after all difference sequences have been successfully processed, ensuring atomic application of incremental updates.

dns

normative-requirement §2 SHOULD

If an IXFR query arrives with a serial number equal to or newer than the server's current version, the server replies with a single SOA record of the server's current version, as in AXFR.

dns

normative-requirement §2 SHOULD

If an IXFR query type is not recognized by the server, the client should fall back to AXFR (preceded by a UDP SOA query), ensuring backward compatibility with servers that do not implement IXFR.

dns

normative-requirement §6 SHOULD

IXFR servers should not flag an error when receiving a request with an unknown version number; instead they should attempt a full zone transfer, preserving interoperability when condensation has dropped intermediate versions.

dns

normative-requirement §2 SHOULD

Servers should use UDP checksums for all UDP responses. A cautious client that receives a UDP packet with a checksum value of zero should ignore the result and retry using TCP IXFR.

dns, security

normative-requirement §2 SHOULD

When a zone is updated, it should be saved to stable storage before the new version is used to respond to IXFR or AXFR queries. Failure to do so risks distributing data that becomes unavailable after a server crash, causing persistent database inconsistencies.

dns

protocol-element §1

An IXFR client is a secondary name server that requests incremental zone transfer; an IXFR server is a primary or secondary name server that responds to such requests. The server should keep the newest zone version and differences between that and several older versions.

dns

protocol-element §4

Each difference sequence represents one SOA serial increment: deleted RRs are listed first (starting with the old SOA), then added RRs (starting with the new SOA). Modification of an RR is performed by first removing the original and then adding the modified one.

dns

protocol-element §3

The IXFR query packet uses the same format as a normal DNS query, with QTYPE=IXFR (251). The authority section MUST contain the SOA record reflecting the client's current (presumably outdated) version of the zone.

dns

registry §2

The query type value IXFR is assigned by IANA as 251.

dns, registry

security-consideration §10

Though DNS is related to several security problems, RFC 1995 makes no attempt to fix them. The document is believed to introduce no additional security problems to the existing DNS protocol.

dns, security

wire-format §4

An incremental IXFR response begins with two SOA RRs: the server's current SOA followed by the SOA of the client's version being replaced. Each difference sequence then consists of deleted RRs (starting with the older SOA) followed by added RRs (starting with the newer SOA), ordered oldest-first.

dns

wire-format §4

If incremental transfer is unavailable, the response is a full zone transfer: the first and last RR are the server's current SOA, with the full zone contents in between — identical to AXFR except QTYPE=IXFR.

dns