mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
delete
This commit is contained in:
@@ -1,336 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DNSSEC Working Group Brian Wellington (TISLabs)
|
|
||||||
INTERNET-DRAFT Olafur Gudmundsson (TISLabs)
|
|
||||||
February 1999
|
|
||||||
|
|
||||||
<draft-ietf-dnsind-dddd-00.txt>
|
|
||||||
|
|
||||||
Updates: RFC 2136
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Deferred Dynamic Domain Name System (DNS) Delete Operations
|
|
||||||
|
|
||||||
|
|
||||||
Status of this Memo
|
|
||||||
|
|
||||||
This document is an Internet-Draft and is in full conformance with
|
|
||||||
all provisions of Section 10 of RFC2026.
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
Abstract
|
|
||||||
|
|
||||||
This document proposes a mechanism for notifying a dynamic DNS server
|
|
||||||
that a delete operation should be performed at a certain point in the
|
|
||||||
future. This works within the framework of the current DNS dynamic
|
|
||||||
update protocol, and provides needed functionality for clients with
|
|
||||||
leased dynamic addresses.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expires August 1999 [Page 1]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Deferred Dynamic DNS Deletes February 1999
|
|
||||||
|
|
||||||
|
|
||||||
1 - Introduction
|
|
||||||
|
|
||||||
Dynamic update operations for the Domain Name System [RFC1034, RFC1035]
|
|
||||||
are defined in [RFC2136], but there is no automated method of specifying
|
|
||||||
that records should have a fixed lifetime, or lease.
|
|
||||||
|
|
||||||
1.1 - Overview of DNS Dynamic Update
|
|
||||||
|
|
||||||
DNS dynamic update defines a new DNS opcode and a new interpretation of
|
|
||||||
the DNS message if that opcode is used. An update can specify
|
|
||||||
insertions or deletions of data, along with prerequisites necessary for
|
|
||||||
the updates to occur. All tests and changes for a DNS update request
|
|
||||||
are restricted to a single zone, and are performed at the primary server
|
|
||||||
for the zone. The primary server for a dynamic zone must increment the
|
|
||||||
zone SOA serial number when an update occurs or before the next
|
|
||||||
retrieval of the SOA.
|
|
||||||
|
|
||||||
1.2 - Overview of DHCP leases
|
|
||||||
|
|
||||||
DHCP [RFC2131] provides a means for a host to obtain a network address
|
|
||||||
from a DHCP server. The server may ``lease'' this address to the host,
|
|
||||||
meaning that it is valid only for the period of time specified in the
|
|
||||||
lease. The host may may extend its lease with subsequent requests, or
|
|
||||||
may issue a message to release the address back to the server when it is
|
|
||||||
no longer needed.
|
|
||||||
|
|
||||||
2 - Background
|
|
||||||
|
|
||||||
When a host receives dynamic addresses with associated dynamic DNS
|
|
||||||
records, the records can be updated by either the host or the DHCP
|
|
||||||
server. If possible, update by the server is recommended, since the
|
|
||||||
server maintains lease information for each address. In some cases,
|
|
||||||
though, the server cannot update some or all of the DNS records. This
|
|
||||||
happens when the DNS and DHCP server are under different administration,
|
|
||||||
for example.
|
|
||||||
|
|
||||||
A host can easily update its own DNS records when receiving information
|
|
||||||
from the DHCP server. It can also delete its records when shutting
|
|
||||||
down. If the host unexpectedly goes down, though, it cannot delete the
|
|
||||||
records. When the DHCP lease on the address expires and is not renewed,
|
|
||||||
the DHCP server may reassign the address. The DNS records now point to
|
|
||||||
an assigned address, but not the correct address. Until the host
|
|
||||||
updates its records again, DNS will contain bad information.
|
|
||||||
|
|
||||||
Since the DHCP and DNS servers are often not co-located with the
|
|
||||||
clients, the possibility of a host unexpectedly going down and not
|
|
||||||
communicating with the servers is non-trivial.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expires August 1999 [Page 2]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Deferred Dynamic DNS Deletes February 1999
|
|
||||||
|
|
||||||
|
|
||||||
If the host could set a lease on the DNS records similar to that on its
|
|
||||||
address, the DNS records would lose validity at the same time as the
|
|
||||||
address. This would prevent bad information from remaining in DNS. DNS
|
|
||||||
has no such provision for leases, though, since this would require
|
|
||||||
storing a lease time along with each record (or each record in a dynamic
|
|
||||||
zone).
|
|
||||||
|
|
||||||
An alternative method is suggested. A ``delete'' update is sent along
|
|
||||||
with the ``add'' update, but the delete is marked in such a way that it
|
|
||||||
will not be executed immediately. Instead, it will be stored for the
|
|
||||||
specified amount of time before being applied. If the host wishes to
|
|
||||||
extend or shorten the lifetime of the DNS record(s), it can replace the
|
|
||||||
``deferred delete'' record, which will reset the lease time of the
|
|
||||||
record(s). The ``deferred delete'' record would, of course, also be
|
|
||||||
removed if a normal delete update was received.
|
|
||||||
|
|
||||||
This functionality is useful for DHCP leases and maintainance of IPv6
|
|
||||||
routing prefixes. DNSSEC compliant server can also use deferred dynamic
|
|
||||||
delete information to compute signatures of records affected by the
|
|
||||||
delete operation prior to the delete operation, using spare cycles.
|
|
||||||
|
|
||||||
3 - Protocol changes
|
|
||||||
|
|
||||||
When doing a delete update operation as defined in [RFC2136] (deleting
|
|
||||||
an RR, an RRset, or all RRset from a name), the TTL field MUST be
|
|
||||||
specified as 0. An [RFC2136] compliant server will reject an update
|
|
||||||
record with a non-zero TTL. This document overloads the TTL field. If
|
|
||||||
TTL is non-zero, the value represents the number of seconds (a 32 bit
|
|
||||||
unsigned integer) before which the delete will be applied to the zone.
|
|
||||||
Thus, the delete operation will be deferred for that number of seconds,
|
|
||||||
where the number of seconds indicates the lease time. A 32 bit integer
|
|
||||||
provides for a lease time of over 136 years, which should be long enough
|
|
||||||
for most uses.
|
|
||||||
|
|
||||||
3.1 - Storage and execution
|
|
||||||
|
|
||||||
Deferred delete records are stored, persistently, by the name server.
|
|
||||||
The name server SHOULD attempt to evaluate the deletes in a timely
|
|
||||||
manner.
|
|
||||||
|
|
||||||
3.2 - Processing of deferred deletes
|
|
||||||
|
|
||||||
When a deferred delete is received, the server must check to see if it
|
|
||||||
matches an existing deferred delete records, where matching indicates
|
|
||||||
the same name, type, class, and rdata. If a match is found, the new
|
|
||||||
deferred delete MUST replace the old one. If the deferred delete does
|
|
||||||
not refer to any record in the server, it should fail as a normal delete
|
|
||||||
would.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expires August 1999 [Page 3]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Deferred Dynamic DNS Deletes February 1999
|
|
||||||
|
|
||||||
|
|
||||||
3.3 - Processing of normal deletes
|
|
||||||
|
|
||||||
When a normal delete is received and accepted, the server MUST purge any
|
|
||||||
deferred delete that no longer refers to any records.
|
|
||||||
|
|
||||||
3.4 - Processing of cancellations
|
|
||||||
|
|
||||||
The value 0xFFFFFFFF (the largest unsigned 32 bit integer) in the TTL
|
|
||||||
field has a special meaning. If a delete containing this lease time is
|
|
||||||
received, the server will unconditionally remove any matching deferred
|
|
||||||
deletes.
|
|
||||||
|
|
||||||
3.5 - Processing of adds
|
|
||||||
|
|
||||||
When data is added through a dynamic update which matches a deferred
|
|
||||||
delete, there is no additional processing done.
|
|
||||||
|
|
||||||
3.6 - Detecting server support of Deferred Delete
|
|
||||||
|
|
||||||
Client can determine if server supports deferred delete by the return
|
|
||||||
code of a deferred delete request by sending a ADD + Delete request to
|
|
||||||
the server, where the delete has low TTL. RFC2136 compliant server MUST
|
|
||||||
return either rcode FORMERR or NOTIMPL. Server compliant with this
|
|
||||||
document will return NOERROR.
|
|
||||||
|
|
||||||
4 - TTL Modification
|
|
||||||
|
|
||||||
|
|
||||||
4.1 - Initial TTL Limits
|
|
||||||
|
|
||||||
The TTL of all added or updated RRs in the Update Section SHOULD be
|
|
||||||
maximized silently to one half of the lease time. This will cause
|
|
||||||
downstream caching name servers to purge RRsets containing this RR at
|
|
||||||
least once before expiry.
|
|
||||||
|
|
||||||
4.2 - TTL Half Life
|
|
||||||
|
|
||||||
Each time an RR's expiry reaches half of its previous value, that RR's
|
|
||||||
TTL will be reduced to half of its previous value, until the TTL reaches
|
|
||||||
a value less than or equal to sixty (60), i.e., one minute of real time,
|
|
||||||
at which time the TTL will not be automatically reduced further by the
|
|
||||||
primary master. It should be noted that RRs held in a server's memory
|
|
||||||
need not be swept for half life processing, as long as the TTL changes
|
|
||||||
appear when the RR next becomes externally visible, and as long as the
|
|
||||||
``zone has changed'' processing (see below) is done at the time of the
|
|
||||||
half life expiration.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expires August 1999 [Page 4]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Deferred Dynamic DNS Deletes February 1999
|
|
||||||
|
|
||||||
|
|
||||||
Whenever the TTL is automatically reduced by this process, the zone will
|
|
||||||
be considered ``changed'' for the purpose of automatic SOA SERIAL
|
|
||||||
increment (as in [RFC2136]) and real time zone slave notification
|
|
||||||
[RFC1996].
|
|
||||||
|
|
||||||
|
|
||||||
5 - Usage
|
|
||||||
|
|
||||||
Normally, a deferred delete update will initially be sent along with an
|
|
||||||
add, although this is not required. Further updates to the deferred
|
|
||||||
delete will be sent independently. If the deferred delete is associated
|
|
||||||
with a leased address, the lease time of the update SHOULD be
|
|
||||||
approximately equal to the lease time of the address.
|
|
||||||
|
|
||||||
6 - Security considerations
|
|
||||||
|
|
||||||
This addition to the dynamic DNS protocol does not affect the security
|
|
||||||
of the protocol. If security is desired, TSIG [TSIG] and/or DNSSEC
|
|
||||||
[secext2] authentication should be used, as specified in [simple-update]
|
|
||||||
or [RFC2137, update2]. The authors strongly recommend using security
|
|
||||||
along with this protocol.
|
|
||||||
|
|
||||||
If a DNSSEC signed-zone is modified with deferred deletes, the server
|
|
||||||
must resign any affected records when the delete is executed. No
|
|
||||||
special processing is required when the delete is received.
|
|
||||||
|
|
||||||
7 - IANA Considerations
|
|
||||||
|
|
||||||
None.
|
|
||||||
|
|
||||||
8 - References
|
|
||||||
|
|
||||||
[RFC1034] P. Mockapetris, ``Domain Names - Concepts and Facilities,''
|
|
||||||
RFC 1034, ISI, November 1987.
|
|
||||||
|
|
||||||
[RFC1035] P. Mockapetris, ``Domain Names - Implementation and
|
|
||||||
Specification,'' RFC 1035, ISI, November 1987.
|
|
||||||
|
|
||||||
[RFC1996] P. Vixie ``A Mechanism for Prompt Notification of Zone
|
|
||||||
Changes (DNS NOTIFY),'' RFC 1996, ISC, August 1996.
|
|
||||||
|
|
||||||
[RFC2136] P. Vixie (Ed.), S. Thomson, Y. Rekhter, J. Bound ``Dynamic
|
|
||||||
Updates in the Domain Name System,'' RFC 2136, ISC & Bellcore
|
|
||||||
& Cisco & DEC, April 1997.
|
|
||||||
|
|
||||||
[RFC2137] D. Eastlake ``Secure Domain Name System Dynamic Update,'' RFC
|
|
||||||
2137, CyberCash, April 1997.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expires August 1999 [Page 5]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Deferred Dynamic DNS Deletes February 1999
|
|
||||||
|
|
||||||
|
|
||||||
[secext2] D. Eastlake ``Domain Name System Security Extensions,''
|
|
||||||
draft-ietf-dnssec-secext2-07.txt, IBM, December 1998.
|
|
||||||
|
|
||||||
[TSIG] P. Vixie (ed), O. Gudmundsson, D. Eastlake, B. Wellington
|
|
||||||
``Secret Key Transaction Signatures for DNS (TSIG),'' draft-
|
|
||||||
ietf-dnsind-tsig-08.txt, ISC & TIS & IBM, February 1999.
|
|
||||||
|
|
||||||
[simple-update]
|
|
||||||
B. Wellington ``Simple Secure Domain Name System (DNS)
|
|
||||||
Dynamic Update,'' draft-ietf-dnsind-simple-update-00.txt,
|
|
||||||
TISLabs, November 1998.
|
|
||||||
|
|
||||||
[update2] D. Eastlake ``Secure Domain Name System (DNS) Dynamic
|
|
||||||
Update,'' draft-ietf-dnssec-update2-00.txt, Transfinite
|
|
||||||
Systems Company, August 1998.
|
|
||||||
|
|
||||||
8 - Author's Address
|
|
||||||
|
|
||||||
|
|
||||||
Brian Wellington Olafur Gudmundsson
|
|
||||||
TISLabs at Network Associates TISLabs at Network Associates
|
|
||||||
3060 Washington Road, Route 97 3060 Washington Road, Route 97
|
|
||||||
Glenwood, MD 21738 Glenwood, MD 21738
|
|
||||||
+1 443 259 2369 +1 443 259 2389
|
|
||||||
+1 301 854 6889 (main number) +1 301 854 6889
|
|
||||||
<bwelling@tislabs.com> <ogud@tislabs.com>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expires August 1999 [Page 6]
|
|
Reference in New Issue
Block a user