DHC Working Group M. Stapp Internet-Draft Y. Rekhter Expires:AprilSeptember 2000 Cisco Systems, Inc.October, 1999March 10, 2000 Interaction between DHCP and DNS<draft-ietf-dhc-dhcp-dns-11.txt><draft-ietf-dhc-dhcp-dns-12.txt> 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 TheTo view the entire list of Internet-Draft ShadowDirectories can be accessed atDirectories, see http://www.ietf.org/shadow.html. This Internet-Draft will expireApril,on September 2000. Copyright Notice Copyright (C) The Internet Society(1999).(2000). All Rights Reserved. Abstract DHCP provides a powerful mechanism for IP host configuration. However, the configuration capability provided by DHCP does not include updating DNS, and specifically updating the name to address and address to name mappings maintained in the DNS. This document specifies how DHCP clients and servers should use the Dynamic DNS Updates mechanism in RFC2136[5] to update the DNS name to address and address to name mappings so that the mappings for DHCP clients will be consistent with the IP addresses that the clients acquire via DHCP. Table of Contents 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Models of Operation . . . . . . . . . . . . . . . . . . . . 3 4.Client FQDN OptionIssues with DDNS in DHCP Environments . . . . . . . . . . . 4 4.1 Name Collisions . . . . . . . . . .4 4.1 The Flags Field. . . . . . . . . . . . 5 4.2 Multiple DHCP servers . . . . . . . . . . . . . .5 4.2 The RCODE Fields. . . . . 6 4.3 Use of the DHCID RR . . . . . . . . . . . . . . . . .6 4.3 The Domain Name Field. . . 6 4.3.1 Format of the DHCID RRDATA . . . . . . . . . . . . . . . . . 65. DHCP Client behavior4.4 DNS RR TTLs . . . . . . . . . . . . . . . . . . . .6 6. DHCP Server behavior. . . . 8 5. Client FQDN Option . . . . . . . . . . . . . . . .8 7. Procedures for performing DNS updates. . . . . 8 5.1 The Flags Field . . . . . .10 7.1 Name Collisions. . . . . . . . . . . . . . . . 9 5.2 The RCODE Fields . . . . . .10 7.2 Multiple DHCP servers. . . . . . . . . . . . . . . . 10 5.3 The Domain Name Field . . .11 7.3 Use of the KEY RR. . . . . . . . . . . . . . . . 10 6. DHCP Client behavior . . . . .11 7.3.1 Format of the KEY RR. . . . . . . . . . . . . . . 10 7. DHCP Server behavior . . . . . . .12 7.4 DNS RR TTLs. . . . . . . . . . . . . 12 8. Procedures for performing DNS updates . . . . . . . . . . .12 7.514 8.1 Adding A RRs to DNS . . . . . . . . . . . . . . . . . . . .13 7.614 8.2 Adding PTR RR Entries to DNS . . . . . . . . . . . . . . . .14 7.715 8.3 Removing Entries from DNS . . . . . . . . . . . . . . . . .14 7.815 8.4 Updating other RRs . . . . . . . . . . . . . . . . . . . . .14 8.16 9. Security Considerations . . . . . . . . . . . . . . . . . .15 9.16 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .1617 References . . . . . . . . . . . . . . . . . . . . . . . . .1617 Authors' Addresses . . . . . . . . . . . . . . . . . . . . .1718 Full Copyright Statement . . . . . . . . . . . . . . . . . .1819 1. Terminology 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[6]. 2. Introduction DNSRFC1034[1], RFC1035[2](RFC1034[1], RFC1035[2]) maintains (among other things) the information about mapping between hosts' Fully Qualified Domain Names (FQDNs) RFC1594[4] and IP addresses assigned to the hosts. The information is maintained in two types of Resource Records (RRs): A and PTR. The A RR contains mapping from a FQDN to an IP address; the PTR RR contains mapping from an IP address to a FQDN. The Dynamic DNS Updates specificationRFC2136[5](RFC2136[5]) describes a mechanism that enables DNS information to be updated over a network. DHCP RFC2131[3] provides a mechanism by which a host (a DHCP client) can acquire certain configuration information, along with its IP address(es). However, DHCP does not provide any mechanisms to update the DNS RRs that contain the information about mapping between the host's FQDN and its IP address(es) (A and PTR RRs). Thus the information maintained by DNS for a DHCP client may be incorrect - a host (the client) could acquire its address by using DHCP, but the A RR for the host's FQDN wouldn't reflect the address that the host acquired, and the PTR RR for the acquired address wouldn't reflect the host's FQDN. The Dynamic DNS Update protocol can be used to maintain consistency between the information stored in the A and PTR RRs and the actual address assignment done via DHCP. When a host with a particular FQDN acquires its IP address via DHCP, the A RR associated with the host's FQDN would be updated (by using the Dynamic DNS Updates protocol) to reflect the new address. Likewise, when an IP address is assigned to a host with a particular FQDN, the PTR RR associated with this address would be updated (using the Dynamic DNS Updates protocol) to reflect the new FQDN. Although this document refers to the A and PTR DNS record types and to DHCP assignment of IPv4 addresses, the same procedures and requirements apply for updates to the analogous RR types that are used when clients are assigned IPv6 addresses via DHCPv6. 3. Models of Operation When a DHCP client acquires a new address, a site's administrator may desire that one or both of the A RR for the client's FQDN and the PTR RR for the acquired address be updated. Therefore, two separate Dynamic DNS Update transactions occur. Acquiring an address via DHCP involves two entities: a DHCP client and a DHCP server. In principle each of these entities could perform none, one, or both of the transactions. However, in practice not all permutations make sense. This document covers these possible design permutations: 1. DHCP client updates the A RR, DHCP server updates the PTR RR 2. DHCP server updates both the A and the PTR RRs The only difference between these two cases is whether the FQDN to IP address mapping is updated by a DHCP client or by a DHCP server. The IP address to FQDN mapping is updated by a DHCP server in both cases. The reason these two are important, while others are unlikely, has to do with authority over the respective DNS domain names. A DHCP client may be given authority over mapping its own A RRs, or that authority may be restricted to a server to prevent the client from listing arbitrary addresses or associating its address with arbitrary domain names. In all cases, the only reasonable place for the authority over the PTR RRs associated with the address is in the DHCP server that allocates the address. In any case, whether a site permits all, some, or no DHCP servers and clients to perform DNS updates into the zones which it controls is entirely a matter of local administrative policy. This document does not require any specific administrative policy, and does not propose one. The range of possible policies is very broad, from sites where only the DHCP servers have been given credentials that the DNS servers will accept, to sites where each individual DHCP client has been configured with credentials which allow the client to modify its own domain name. Compliant implementations MAY support some or all of these possibilities. Furthermore, this specification applies only to DHCP client and server processes: it does not apply to other processes which initiate dynamic DNS updates. This document describes a new DHCP option which a client can use to convey all or part of its domain name to a DHCP server. Site-specific policy determines whether DHCP servers use the names that clients offer or not, and what DHCP servers may do in cases where clients do not supply domain names. 4.Client FQDN Option ToIssues with DDNS in DHCP Environments There are two DNS updatethe IP address to FQDN mapping asituations that require special consideration in DHCP environments: cases where more than one DHCPserver needs to know the FQDN of the client to which the server leases the address. To allow theclientto convey its FQDN tohas been configured with theserver this document defines a new DHCP option, called "Client FQDN". The FQDN Option also contains Flagssame FQDN, andRCode fields whichcases where more than one DHCPservers can useserver has been given authority toconvey information aboutperform DNS updates in a zone. In these cases, it is possible for DNS records toclients. Clients MAY send the FQDN option, setting appropriate Flags values,be modified inboth their DISCOVER and REQUEST messages. Ifinconsistent ways unless the updaters have aclient sendsmechanism that allows them to detect anomolous situations. If DNS updaters can detect these situations, site administrators can configure theFQDN option in its DISCOVER message, it MUST sendupdaters' behavior so that theoption in subsequent REQUEST messages. The code forsite's policies can be enforced. We use the term "Name Collisions" to refer to cases where more than one DHCP client has been associated with a single FQDN. This specification describes a mechanism designed to allow updaters to detect these situations, and requires that DHCP implementations use thisoption is 81. Its minimum length is 4. Code Len Flags RCODE1 RCODE2 Domain Name +------+------+------+------+------+------+-- | 81 | n | | | | ... +------+------+------+------+------+------+--mechanism by default. 4.1The Flags Field 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ | MBZ |E|O|S| +-+-+-+-+-+-+-+-+ WhenName Collisions How can the entity updating an A RR (either the DHCP client or DHCP server) detect that a domain name has an A RR which is already in use by a different DHCP client? Similarly, should a DHCP clientsendsor server update a domain name which has an A RR that has been configured by an administrator? In either of these cases, theFQDN optiondomain name in question would either have an additional A RR, or would have itsDHCPDISCOVER and/or DHCPREQUEST messages, it setsoriginal A RR replaced by the new record. Either of these effects may be considered undesirable by some sites. Different authority and credential models have different levels of exposure to name collisions. 1. Client updates A RR, uses Secure DNS Update with credentials that are associated with the client's FQDN, and exclusive to the client. Name collisions in this scenario are unlikely (though not impossible), since the client has received credentials specific to the name it desires to use. This implies that the name has already been allocated (through some implementation- or organization-specific procedure) to that client. 2. Client updates A RR, uses Secure DNS Update with credentials that are valid for any name in the zone. Name collisions in this scenario are possible, since the credentials necessary for the client to update DNS are not necessarily name-specific. Thus, for the client to be attempting to update a unique name requires the existence of some administrative procedure to ensure client configuration with unique names. 3. Server updates the A RR, uses a name for the client which is known to the server. Name collisions in this scenario are likely unless prevented by the server's name configuration procedures. See Section 9 for security issues with this form of deployment. 4. Server updates the A RR, uses a name supplied by the client. Name collisions in this scenario are highly likely, even with administrative procedures designed to prevent them. (This scenario is a popular one in real-world deployments in many types of organizations.) See Section 9 for security issues with this type of deployment. Scenarios 2, 3, and 4 rely on administrative procedures to ensure name uniqueness for DNS updates, and these procedures may break down. Experience has shown that, in fact, these procedures will break down at least occasionally. The question is what to do when these procedures break down or, for example in scenario #4, may not even exist. In all cases of name collisions, the desire is to offer two modes of operation to the administrator of the combined DHCP-DNS capability: first-update-wins (i.e., the first updating entity gets the name) or most-recent-update-wins (i.e., the last updating entity for a name gets the name). 4.2 Multiple DHCP servers If multiple DHCP servers are able to update the same DNS zones, or if DHCP servers are performing A RR updates on behalf of DHCP clients, and more than one DHCP server may be able to serve addresses to the same DHCP clients, the DHCP servers should be able to provide reasonable and consistent DNS name update behavior for DHCP clients. 4.3 Use of the DHCID RR A solution to both of these problems is for theright-most bit (labelled "S")updating entities (both DHCP clients and DHCP servers) toindicatebe able to detect thatit will not perform any Dynamicanother entity has been associated with a DNSupdates,name, andthat it expectsto offer administrators theDHCP serveropportunity toperform any FQDN-to-IP (the A RR) DNSconfigure updateon its behalf. If this bitbehavior. Specifically, a DHCID RR, described in DHCID RR[12] isclear, theused to associate clientindicatesidentification information with a DNS name and the A RR associated with thatit intends to maintain its own FQDN-to-IP mapping update. Ifname. When either aDHCPclient or serverintends to take responsibilityadds an A RR for a client, it also adds a DHCID RR which specifies a unique client identity (based on a "client specifier" created from the client's client-id or MAC address). In this model, only one A RRupdateis associated with a given DNS name at a time. By associating this ownership information with each A RR, cooperating DNS updating entities may determine whetheror not thetheir clientsending the FQDN option has setis the"S" bit, it sets bothfirst or last updater of the"O" bit andname (and implement the"S" bit,appropriately configured administrative policy), andsends the FQDN option in its DHCPOFFER and/or DHCPACK messages. The data in the Domain Name fieldDHCP clients which currently have a host name mayappear inmove from oneof two formats: ASCII, or DNS-style binary encoding (without compression, of course), as described in RFC1035[2]. A client which sends the FQDN option MUST setDHCP server to another without losing their DNS name. The specific algorithms utilizing the"E" bitDHCID RR toindicate that the datasignal client ownership are explained below. The algorithms only work in theDomain Name fieldcase where the updating entities all cooperate -- this approach isDNS-encoded. If a server receives an FQDN option from a client,advisory only andintends to include an FQDN option in its reply,is not substitute for DNS security, nor is itMUST use the same encoding thatreplaced by DNS security. 4.3.1 Format of theclient used.DHCID RRDATA TheDNS encodingDHCID RR used to hold the DHCP client's identity isrecommended.formatted as follows: Theusename ofASCII-encoded domain-namesthe DHCID RR isfragile, andtheusename ofASCII encoding in this option should be considered deprecated.the A or PTR RR which refers to the DHCP client. Theremaining bitsRDATA section of a DHCID RR in transmission contains RDLENGTH bytes of binary data. From theFlags field are reserved for future assignment.perspective of DHCP clients andservers which send the FQDN option MUST set the MBZ bits to 0, and they MUST ignore values inservers, thepartDHC resource record consists of a 16-bit identifier type, followed by one or more bytes representing thefield labelled "MBZ". 4.2 The RCODE Fields The RCODE1 and RCODE2 fieldsactual identifier. There areused by a DHCP server to indicate totwo possible forms for aDHCP client the Response Code from any A or PTRDHCID RRDynamic DNS Updates it has performed. The server also uses these fields to indicate whether it has attempted such an update before sending the DHCPACK message. Each of these fields is- onebyte long. 4.3 The Domain Name Field The Domain Name part ofthat is used when the client's link-layer address is being used to identify it, and one that is used when some DHCP optioncarriesthat theFQDN of aDHCPclient. Aclientmay be configured with a fully-qualified domain name, or with a partial name thathas sent isnot fully-qualified. If a client knows only part of its name, it MAY send a single label, indicatingbeing used to identify it. DISCUSSION: Implementors should note thatit knows part ofthename but does not necessarily knowactual identifying data is never placed into thezone in whichDNS directly. Instead, thename is to be embedded. Theclient-identity datainis used as theDomain Name field may appear in oneinput into a one-way hash algorithm, and the output oftwo formats: ASCII (with no terminating NULL), or DNS encodingthat hash is then used as DNS RRDATA. This has been specified inRFC1035[2]. If the DHCP client wishesorder touse DNS encoding, it MUST set the third-from-rightmost bit in the Flags field (the "E" bit); if it uses ASCII encoding, it must clear the "E" bit. Aavoid placing data about DHCPclientclients thatcan only send a single label using ASCII encoding includes a series of ASCII characters insome sites might consider sensitive into theDomain Name field, excludingDNS. When the"." (dot) character. The client SHOULD followupdater is using thecharacter-set recommendationsclient's link-layer address, the first two bytes ofRFC1034[1] and RFC1035[2]. A client using DNS encoding which wants to suggest partthe DHCID RRDATA MUST be zero. To generate the rest ofits FQDN MAY sendthe resource record, the updater MUST compute anon-terminal sequence of labels inone-way hash using theDomain Name part ofMD5[13] algorithm across a buffer containing theoption. 5. DHCP Client behavior The following describesclient's network hardware type and link-layer address. Specifically, thebehaviorfirst byte ofa DHCP client that implementstheClient FQDN option. If a client that owns/maintains its own FQDN wants to be responsible for updatingbuffer contains theFQDN to IP address mapping fornetwork hardware type as it appears in theFQDN and address(es) used byDHCP htype field of theclient, thenclient's DHCPREQUEST message. All of theclient MUST includesignificant bytes of theClient FQDN optionchaddr field in the client's DHCPREQUEST messageoriginated byfollow, in theclient. A DHCP client MAY choose to includesame order in which theClient FQDN optionbytes appear inits DISCOVER messages as well as its REQUEST messages.the DHCPREQUEST message. Therightmost ("S") bitnumber of significant bytes in theFlagschaddr field is specified in theoption MUST be set to 0. Oncehlen field of theclient's DHCP configurationDHCPREQUEST message. When the updater iscompleted (the client receives a DHCPACK message, and successfully completesusing afinal check onDHCP option sent by theparameters passedclient in its DHCPREQUEST message, themessage),first two bytes of the DHCID RR MUST be the option code of that option, in network byte order. For example, if the DHCP clientMAY originate an update foridentifier option is being used, theAfirst byte of the DHCID RR(associated withshould be zero, and theclient's FQDN).second byte should be 61 decimal. Theupdaterest of the DHCID RR MUSTbe originatedcontain the results of computing a one-way hash across the payload of the option being used, using the MD5 algorithm. The payload of a DHCP option consists of the bytes of the option following theprocedures described in RFC2136[5],option code andSection 7. Iflength. In order for independent DHCP implementations to be able to use the DHCID RR as a prerequisite in dynamic DNS updates, each updater must be able to reliably choose theDHCP server fromsame identifier that any other would choose. To make this possible, we specify a prioritization whichthewill ensure that for any given DHCP clientis requesting a lease includesrequest, any updater will select theFQDN option in its ACK message, andsame client-identity data. All updaters MUST use this order of prioritization by default, but all implementations SHOULD be configurable to use a different prioritization if so desired by theserver sets both the "S" andsite administrators. Because of the"O" (the two rightmost) bitspossibility of future changes in theoption's flags field, theDHCPclient MUST NOT initiate an updateprotocol, implementors SHOULD check forthe name in the Domain Name field. A clientupdated versions of this draft when implementing new DHCP clients and servers which canchoose to delegate the responsibility for updating the FQDN to IP address mapping for the FQDNperform DDNS updates, andaddress(es) used byalso when releasing new versions of existing clients and servers. DHCP clients and servers should use the following forms of clienttoidentification, starting with theserver. In order to informmost preferable, and finishing with theserverleast preferable. If the client does not send any of these forms of identification, the DHCP/DDNS interaction is not defined by thischoice,specification. The most preferable form of identification is theclient SHOULD includeGlobally Unique Identifier Option [TBD]. Next is the DHCP ClientFQDN optionIdentifier option. Last is the client's link-layer address, as conveyed in its DHCPREQUEST message.The rightmost (or "S") bitImplementors should note that the link-layer address cannot be used if there are no significant bytes in theFlagschaddr fieldinof theoption MUSTDHCP client's request, because this does not constitute a unique identifier. 4.4 DNS RR TTLs RRs associated with DHCP clients may besetmore volatile than statically configured RRs. DHCP clients and servers which perform dynamic updates should attempt to1. A clientspecify resource record TTLs whichdelegatesreflect thisresponsibility MUST NOT attemptvolatility, in order toperform a Dynamic DNS update forminimize thenamepossibility that there will be stale records in resolvers' caches. A reasonable basis for RR TTLs is theDomain Name fieldlease duration itself: TTLs ofthe FQDN option. The client MAY supply an FQDN in the Client FQDN option,1/2 or 1/3 the expected lease duration might be reasonable defaults. Because configured DHCP lease times vary widely from site to site, it may also be desirable to establish a fixed TTL ceiling. DHCP clients and servers MAYsupplyallow administrators to configure the TTLs they will supply, possibly as asingle label (the most-specific label),fraction of the actual lease time, orit MAY leave that field emptyas asignal tofixed value. 5. Client FQDN Option To update theserverIP address togenerate anFQDNfor the client in any manner the server chooses. Since there ismapping apossibility that theDHCP servermay be configuredneeds tocomplete or replace a domain name thatknow theclient was configured to send,FQDN of the clientmight find it usefultosend the FQDN option in its DISCOVER messages. Ifwhich theDHCPserverreturns different Domain Name data in its OFFER message,leases the address. To allow the clientcould use that data in performingto convey itsown eventual A RR update, or in forming theFQDNoption that it sends in its REQUEST message. There is no requirement thatto theclientserver this document defines a new DHCP option, called "Client FQDN". The FQDN Option also contains Flags and RCode fields which DHCP servers can use to convey information about DNS updates to clients. Clients MAY sendidenticalthe FQDNoption dataoption, setting appropriate Flags values, initsboth their DISCOVER and REQUEST messages.In particular, ifIf a clienthas sentsends the FQDN optionto its server, and the configuration of the client changes so that its notion ofin itsdomain name changes,DISCOVER message, itMAYMUST send thenew name dataoption inansubsequent REQUEST messages. The code for this option is 81. Its minimum length is 4. Code Len Flags RCODE1 RCODE2 Domain Name +------+------+------+------+------+------+-- | 81 | n | | | | ... +------+------+------+------+------+------+-- 5.1 The Flags Field 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ | MBZ |E|O|S| +-+-+-+-+-+-+-+-+ When a DHCP client sends the FQDN optionwhenin its DHCPDISCOVER and/or DHCPREQUEST messages, itcommunicates withsets theserver again. This may allowright-most bit (labelled "S") to indicate that it will not perform any Dynamic DNS updates, and that it expects the DHCP server toupdate the name associated with the PTR record, and, if the server updated theperform any FQDN-to-IP (the Arecord representing the client, to delete that record and attempt anRR) DNS updateforon its behalf. If this bit is clear, theclient's current domain name. Aclient indicates thatdelegates the responsibility for updating the FQDNit intends toIP addressmaintain its own FQDN-to-IP mappingto a server might not receive any indication (either positive or negative) from the server whether the server was able to perform theupdate.In this case the client MAY useIf aDNS queryDHCP server intends tocheck whethertake responsibility for themapping is updated.Aclient MUST setRR update whether or not theRCODE1 and RCODE2 fields inclient sending theClientFQDN optionto 0 when sendinghas set theoption. If a client releases its lease prior to"S" bit, it sets both thelease expiration time"O" bit and theclient is responsible for updating"S" bit, and sends the FQDN option in itsA RR,DHCPOFFER and/or DHCPACK messages. The data in the Domain Name field may appear in one of two formats: ASCII, or DNS-style binary encoding (without compression, of course), as described in RFC1035[2]. A clientSHOULD deletewhich sends theA RR (followingFQDN option MUST set theprocedures described"E" bit to indicate that the data inSection 7) associated withtheleased address before sendingDomain Name field is DNS binary encoded. If aDHCP RELEASE message. Similarly, ifserver receives an FQDN option from aclient was responsible for updating its A RR, but is unableclient, and intends torenewinclude an FQDN option in itslease,reply, it MUST use theclient SHOULD attempt to deletesame encoding that theA RR before its lease expires. A DHCPclientwhich has not been able to delete an A RR which it added (because it has lostused. The DNS encoding is recommended. The use of ASCII-encoded domain-names is fragile, and the use ofits DHCP IP address)ASCII encoding in this option shouldattempt to notify its administrator. 6. DHCP Server behavior When a server receives a DHCPREQUEST message from a client, ifbe considered deprecated. The remaining bits in themessage containsFlags field are reserved for future assignment. DHCP clients and servers which send theClientFQDNoption,option MUST set the MBZ bits to 0, and they MUST ignore values in theserver replies topart of themessage withfield labelled "MBZ". 5.2 The RCODE Fields The RCODE1 and RCODE2 fields are used by aDHCPACK message, theDHCP servermay be configuredtooriginate an update forindicate to a DHCP client the Response Code from any A or PTR RR(associated with the address leased to the client). Any such update MUST be originated following the procedures described in Section 7.Dynamic DNS Updates it has performed. The serverMAY complete themay also use these fields to indicate whether it has attempted such an update beforethe server sendssending the DHCPACKmessagemessage. Each of these fields is one byte long. Implementors should note that EDNS0 describes a mechanism for extending the length of a DNS RCODE to 12 bits. EDNS0 is specified in RFC2671[8]. Only theclient. In this caseleast-significant 8 bits of the RCODE fromthe update MUSTa Dynamic DNS Update will be carriedto the clientin theRCODE1 field of theClient FQDNoption in the DHCPACK message. Alternatively, the server MAY send the DHCPACK message to the client without waiting for the updateDHCP Option. This provides enough number space tobe completed. In this case the RCODE1 field ofaccomodate theClient FQDN optionRCODEs defined in theDHCPACK message MUST be set to 255.Dynamic DNS Update specification. 5.3 Thechoice between the two alternatives is entirely determined byDomain Name Field The Domain Name part of theconfigurationoption carries all or part of the FQDN of a DHCPserver. Servers SHOULD support both configuration options. Whenclient. A client may be configured with aserver receivesfully-qualified domain name, or with a partial name that is not fully-qualified. If a client knows only part of its name, it MAY send aDHCPREQUEST message containingsingle label, indicating that it knows part of theClient FQDN option,name but does not necessarily know theserver MUST ignorezone in which thevalues carriedname is to be embedded. The data in theRCODE1 and RCODE2 fieldsDomain Name field may appear in one ofthe option. In addition, if the Client FQDN option carriedtwo formats: ASCII (with no terminating NULL), or DNS encoding as specified in RFC1035[2]. If theDHCPREQUEST message hasDHCP client wishes to use DNS encoding, it MUST set the"S"third-from-rightmost bit initsthe Flags fieldset, then the server MAY originate an update for(the "E" bit); if it uses ASCII encoding, it MUST clear the "E" bit. ARR (associated with the FQDN carriedDHCP client that can only send a single label using ASCII encoding includes a series of ASCII characters in theoption) if it is configured to do so by the site's administrator, and if it hasDomain Name field, excluding thenecessary credentials."." (dot) character. Theserver MAY be configured to use the name supplied inclient SHOULD follow theclient'scharacter-set recommendations of RFC1034[1] and RFC1035[2]. A client using DNS binary encoding which wants to suggest part of its FQDNoption, or itMAYbe configured to modify the supplied name, or substitutesend adifferent name. Any such update MUST be originated following the procedures describednon-terminal sequence of labels inSection 7. The server MAY originate the update before the server sends the DHCPACK message to the client. In this casetheRCODE from the update [RFC2136] MUST be carried toDomain Name part of theclient inoption. 6. DHCP Client behavior The following describes theRCODE2 fieldbehavior of a DHCP client that implements the Client FQDNoption in the DHCPACK message. Alternatively the server MAY send the DHCPACK message to theoption. If a clientwithout waitingthat owns/maintains its own FQDN wants to be responsible for updating theupdateFQDN tobe completed. In this caseIP address mapping for theRCODE2 field ofFQDN and address(es) used by the client, then the client MUST include the Client FQDN option in theDHCPACKDHCPREQUEST messageMUST be set to 255. The choice between the two alternatives is entirely up tooriginated by the client. A DHCPserver. In either case, if the server intendsclient MAY choose toperform the DNS update and the client's REQUEST message included the FQDN option, the server SHOULDinclude the Client FQDN option in itsACK message, and MUST set the "S"DISCOVER messages as well as its REQUEST messages. The rightmost ("S") bit in theoption'sFlagsfield. Even iffield in theClient FQDNoptioncarried inMUST be set to 0. Once theDHCPREQUEST message hasclient's DHCP configuration is completed (the client receives a DHCPACK message, and successfully completes a final check on the"S" bitparameters passed inits Flags field clear (indicating that the client wants to updatetheA RR),message), theserverclient MAYbe configured by the local administrator tooriginate an update for the A RRon(associated with the client'sbehalf. AFQDN). The update MUST be originated following the procedures described in RFC2136[5] and Section 8. If the DHCP server from which the client isconfigured to overriderequesting a lease includes theclient's preference SHOULD include anFQDN option in its ACK message, andMUST setif the server sets both the "S" and the "O"and "S"bits (the two rightmost bits) in theFQDNoption'sFlags field. The updateflags field, the DHCP client MUSTbe originated followingNOT initiate an update for theprocedures describedname inSection 7. The server MAY originatetheupdate beforeDomain Name field. A client can choose to delegate theserver sendsresponsibility for updating theDHCPACK messageFQDN to IP address mapping for theclient. In this case the RCODE fromFQDN and address(es) used by theupdate [RFC2136] MUST be carriedclient to theclient inserver. In order to inform theRCODE2 fieldserver of this choice, the client SHOULD include the Client FQDN option inthe DHCPACKits DHCPREQUEST message.Alternatively, the server MAY send the DHCPACK message to the client without waiting for the update to be completed. In this caseThe rightmost (or "S") bit in theRCODE2Flags fieldof the Client FQDN optionin theDHCPACK messageoption MUST be set to255. Whether the DNS update occurs before or after the DHCPACK is sent is entirely up to the DHCP server's configuration. When a DHCP server sends the Client FQDN option1. A client which delegates this responsibility MUST NOT attempt to perform aclient in the DHCPACK message, the DHCP server SHOULD send its notion of the complete FQDNDynamic DNS update for theclientname in the Domain Namefield.field of the FQDN option. Theserverclient MAYsimply copy the Domain Name field fromsupply an FQDN in the Client FQDNoptionoption, or it MAY supply a single label (the most-specific label), or it MAY leave thatthe client sentfield empty as a signal to the server to generate an FQDN for the client in any manner the server chooses. Since there is a possibility that theDHCPREQUEST message. TheDHCP serverMAYmay be configured to complete ormodify thereplace a domain namewhich athat the clientsent, or it MAY bewas configured tosubstitute a different name. If the server initiates a DDNS update which is not complete until aftersend, theserver has repliedclient might find it useful to send theDHCP client,FQDN option in its DISCOVER messages. If theserver's TheDHCP serverMUST use the same encoding format (ASCII or DNS-encoding) thatreturns different Domain Name data in its OFFER message, the clientusedcould use that data in performing its own eventual A RR update, or in forming the FQDN option that it sends in itsDHCPREQUEST, and MUST setREQUEST message. There is no requirement that the"E" bitclient send identical FQDN option data inthe option's Flags field accordingly. Ifits DISCOVER and REQUEST messages. In particular, if aclient's DHCPREQUEST message doesn't carryclient has sent theClientFQDN option(e.g.,to its server, and the configuration of the clientdoesn't implementchanges so that its notion of its domain name changes, it MAY send theClientnew name data in an FQDNoption),option when it communicates with the serverMAY be configuredagain. This may allow the DHCP server to updateeither or both oftheA andname associated with the PTRRRs. The updates MUST be originated followingrecord, and, if theprocedures described in Section 7. If aserverdetectsupdated the A record representing the client, to delete thata lease onrecord and attempt anaddressupdate for the client's current domain name. A client that delegates theserver leasesresponsibility for updating the FQDN to IP address mapping to aclient has expired,server might not receive any indication (either positive or negative) from the serverSHOULD delete any PTR RR which it added via dynamic update. In addition, ifwhether the serveradded an A RR onwas able to perform theclient's behalf,update. In this case theserver SHOULD also deleteclient MAY use a DNS query to check whether the mapping is updated. ARR. The deletionclient MUSTfollowset theprocedures describedRCODE1 and RCODE2 fields inSection 7.the Client FQDN option to 0 when sending the option. If aserver terminates aclient releases its leaseon an addressprior to thelease'slease expirationtime, for instance by sending a DHCPNAK to a client, the server SHOULD delete any PTR RR which it associated with the address via DNS Dynamic Update. In addition, iftime and theserver took responsibilityclient is responsible foranupdating its A RR, theserverclient SHOULDalsodeletethatthe ARR. The deletion MUST followRR (following the procedures described in Section7. 7. Procedures for performing DNS updates There are two principal issues that need to be addressed concerning A RR DNS updates: 7.1 Name Collisions If8) associated with theentityleased address before sending a DHCP RELEASE message. Similarly, if a client was responsible for updatingtheits ARR (eitherRR, but is unable to renew its lease, theDHCPclientor DHCP server) attempts to perform a DNS updateSHOULD attempt toa domain name that has andelete the A RRwhich is already in use by a different DHCP client, what should be done? Similarly, should abefore its lease expires. A DHCP clientor server update a domain namewhich hasan A RR that hasnot beenconfigured by an administrator? In either of these cases, the domain name in question would either haveable to delete anadditional A RR, or would have its originalA RRreplaced bywhich it added (because it has lost thenew record. Eitheruse ofthese effects may be considered undesirable in some sites. This specification describes behavior designedits DHCP IP address) should attempt toprevent these undesirable effects, and requires thatnotify its administrator. 7. DHCPimplementations make thisServer behavior When a server receives a DHCPREQUEST message from a client, if the message contains thedefault. 1.Clientupdates A RR, uses DNSSEC. Name collisions in this scenario are unlikely (though not impossible), since forFQDN option, and theclientserver replies touse DNSSEC, it has already received credentials specificthe message with a DHCPACK message, the server may be configured to originate an update for thename it desiresPTR RR (associated with the address leased touse. This implies thatthename has already been allocated (through some implementation- or organization-specific procedure, and presumably uniquely)client). Any such update MUST be originated following the procedures described in Section 8. The server MAY complete the update before the server sends the DHCPACK message tothatthe client.2. Client updates A RR, uses some form of TSIG. Name collisions inIn thisscenario are possible, sincecase thecredentials necessary forRCODE from theclient toupdateDNS are not necessarily name-specific. Thus, for the client toMUST beattemptingcarried toupdate a unique name requirestheexistence of some administrative procedure to ensureclientconfiguration with unique names. 3. Server updatesin theA RR, uses a name forRCODE1 field of the Client FQDN option in the DHCPACK message. Alternatively, the server MAY send the DHCPACK message to the clientwhich is knownwithout waiting for the update to be completed. In this case theserver. Name collisionsRCODE1 field of the Client FQDN option inthis scenario are likely unless preventedthe DHCPACK message MUST be set to 255. The choice between the two alternatives is entirely determined by theserver's nameconfigurationprocedures. See Section 8 for security issues with this formofdeployment. 4. Server updatestheA RR, usesDHCP server. Servers SHOULD support both configuration options. When aname supplied byserver receives a DHCPREQUEST message containing theclient. Name collisionsClient FQDN option, the server MUST ignore the values carried inthis scenario are highly likely, even with administrative procedures designed to prevent them. (This scenario is a popular onethe RCODE1 and RCODE2 fields of the option. In addition, if the Client FQDN option carried inreal-world deploymentsthe DHCPREQUEST message has the "S" bit inmany types of organizations.) See Section 8its Flags field set, then the server MAY originate an update forsecurity issuesthe A RR (associated withthis type of deployment. Scenarios 3 and 4 are much more attractive given some form of DHCP Authentication, but difficulties remain. Scenarios 2, 3, and 4 rely on administrative proceduresthe FQDN carried in the option) if it is configured toensure name uniqueness for DNS updates,do so by the site's administrator, andthese procedures may break down. Experienceif it hasshown that, in fact, these procedures will break down at least occasionally.the necessary credentials. Thequestion is whatserver MAY be configured to use the name supplied in the client's FQDN option, or it MAY be configured todo when thesemodify the supplied name, or substitute a different name. Any such update MUST be originated following the proceduresbreak down or, for exampledescribed inscenario #4, may not even exist. In all cases of name collisions,Section 8. The server MAY originate thedesire isupdate before the server sends the DHCPACK message tooffer two modes of operationthe client. In this case the RCODE from the update [RFC2136] MUST be carried to theadministratorclient in the RCODE2 field of thecombined DHCP-DNS capability: first-update-wins (i.e.,Client FQDN option in thefirst updating entity getsDHCPACK message. Alternatively thename) or most-recent-update-wins (i.e.,server MAY send thelast updating entityDHCPACK message to the client without waiting fora name getsthename). 7.2 Multiple DHCP servers If multiple DHCP servers are able toupdate to be completed. In this case thesame DNS zones, or if DHCP servers are performing A RR updates on behalfRCODE2 field ofDHCP clients, and more than one DHCP server maythe Client FQDN option in the DHCPACK message MUST beableset toserve addresses255. The choice between the two alternatives is entirely up to thesameDHCPclients,server. In either case, if the server intends to perform the DNS update and the client's REQUEST message included the FQDN option, the server SHOULD include the FQDN option in its ACK message, and MUST set the "S" bit in the option's Flags field. Even if the Client FQDN option carried in the DHCPREQUEST message has the "S" bit in its Flags field clear (indicating that the client wants to update the A RR), theDHCP servers shouldserver MAY beableconfigured by the local administrator toprovide reasonable and consistent DNS nameupdatebehavior for DHCP clients. 7.3 Use oftheKEYA RR on the client's behalf. Asolutionserver which is configured to override the client's preference SHOULD include an FQDN option in its ACK message, and MUST set bothof these problems is fortheupdating entities (both DHCP clients"O" andDHCP servers) to"S" bits in the FQDN option's Flags field. The update MUST beable to cooperate when updating DNS A RRs. Specifically, a KEY RR,originated following the procedures described inRFC2535[7] is used to associate client ownership information with a DNS name andSection 8. The server MAY originate the update before theA RR associated with that name. When either a client orserveradds an A RR for a client, it also adds a KEY RR which specifies a unique client identity (based on a "client specifier" created fromsends theclient's client-id or MAC address).DHCPACK message to the client. In thismodel, only one A RR is associated with a given DNS name at a time. By associating this ownership information with each A RR, cooperating DNS updating entities may determine whether their client is the first or last updater of the name (and implementcase theappropriately configured administrative policy), and DHCP clients which currently have a host name may moveRCODE fromone DHCP server to another without losing their DNS name. The specific algorithms utilizingtheKEY RRupdate [RFC2136] MUST be carried tosignalthe clientownership are explained below. The algorithms only workin thecase whereRCODE2 field of the Client FQDN option in the DHCPACK message. Alternatively, theupdating entities all cooperate -- this approach is advisory only and does not substitute for DNS security, nor is it replaced by DNS security. 7.3.1 Format ofserver MAY send theKEY RR The KEY RR usedDHCPACK message toholdtheDHCP client's identity is formatted as follows: The name ofclient without waiting for theKEY RR isupdate to be completed. In this case thenameRCODE2 field of theA or PTR RR which refers toClient FQDN option in theclient. The flags field isDHCPACK message MUST be set to0x4200 - that is,255. Whether the1 bit andDNS update occurs before or after the6 bit are set. The protocol fieldDHCPACK isset to [TBD]. The algorithm fieldsent issetentirely up to[TBD]. 0 15 31 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version | Identity-length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / Client-identity... / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Version field indicatestheversion ofDHCP server's configuration. When a DHCP server sends thedata used in this RR. The Version field isClient FQDN option to a2-byte integerclient innetwork byte-order. Its value MUST be 1. The remainder oftheKey field containsDHCPACK message, thelengthDHCP server SHOULD send its notion of theclient-identity, followed bycomplete FQDN for the client in the Domain Name field. The server MAY simply copy the Domain Name field from the Client FQDN option thatnumber of bytes of client-identity data.the client sent to the server in the DHCPREQUEST message. Thedata length is represented asDHCP server MAY be configured to complete or modify the domain name which a2-byte integer in network byte order.client sent, or it MAY be configured to substitute a different name. If the server initiates a DDNS update which is not complete until after the server has replied to the DHCP client, the server's The server MUST use the same encoding format (ASCII or DNS binary encoding) that the clientsentused in theclient-idFQDN option in itsrequest message, the client-identityDHCPREQUEST, and MUSTbe identical toset thedata"E" bit in theclient-id option.option's Flags field accordingly. If aclient did not send the client-id option,client's DHCPREQUEST message doesn't carry theclient-identity is constructed fromClient FQDN option (e.g., thehtype byte,client doesn't implement thehlen byte, and hlen bytes ofClient FQDN option), theclient's chaddr from its request message. 7.4 DNS RR TTLs RRs associated with DHCP clients mayserver MAY bemore volatile than staticallyconfiguredRRs. DHCP clientsto update either or both of the A andservers which perform dynamicPTR RRs. The updatesshould attempt to specify resource record TTLs which reflect this volatility,MUST be originated following the procedures described inorderSection 8. If a server detects that a lease on an address that the server leases tominimizea client has expired, thepossibility that there will be stale records in resolvers' caches.server SHOULD delete any PTR RR which it added via dynamic update. In addition, if the server added an Areasonable basis forRRTTLs ison thelease duration itself: TTLs of 1/2 or 1/3client's behalf, theexpected lease duration might be reasonable defaults. Because configured DHCP lease times vary widely from site to site, it mayserver SHOULD alsobe desirable to establish a fixed TTL ceiling. DHCP clients and servers MAY allow administrators to configuredelete theTTLs they will supply, possibly asA RR. The deletion MUST follow the procedures described in Section 8. If a server terminates afraction of the actuallease on an address prior to the lease's expiration time,or asfor instance by sending afixed value. 7.5DHCPNAK to a client, the server SHOULD delete any PTR RR which it associated with the address via DNS Dynamic Update. In addition, if the server took responsibility for an A RR, the server SHOULD also delete that A RR. The deletion MUST follow the procedures described in Section 8. 8. Procedures for performing DNS updates 8.1 Adding A RRs to DNS When a DHCP client or server intends to update an A RR, it first prepares a DNS UPDATE query which includes as a prerequisite the assertion that the name does not exist. The update section of the query attempts to add the new name and its IP address mapping (an A RR), and theKEYDHCID RR with its unique client-identity. If this update operation succeeds, the updater can conclude that it has added a new name whose only RRs are the A andKEYDHCID RR records. The A RR update is now complete (and a client updater is finished, while a server might proceed to perform a PTR RR update). If the first update operation fails with YXDOMAIN, the updater can conclude that the intended name is in use. The updater then attempts to confirm that the DNS name is not being used by some other host. The updater prepares a second UPDATE query in which the prerequisite is that the desired name has attached to it aKEYDHCID RR whose contents match the client identity. The update section of this query deletes the existing A records on the name, and adds the A record that matches the DHCP binding and theKEYDHCID RR with the client identity. If this query succeeds, the updater can conclude that the current client was the last client associated with the domain name, and that the name now contains the updated A RR. The A RR update is now complete (and a client updater is finished, while a server would then proceed to perform a PTR RR update). If the second query fails with NXRRSET, the updater must conclude that the client's desired name is in use by another host. At this juncture, the updater can decide (based on some administrative configuration outside of the scope of this document) whether to let the existing owner of the name keep that name, and to (possibly) perform some name disambiguation operation on behalf of the current client, or to replace the RRs on the name with RRs that represent the current client. If the configured policy allows replacement of existing records, the updater submits a query that deletes the existing A RR and the existingKEYDHCID RR, adding A andKEYDHCID RRs that represent the IP address and client-identity of the new client. DISCUSSION: The updating entity may be configured to allow the existing DNS records on the domain name to remain unchanged, and to perform disambiguation on the name of the current client in order to attempt to generate a similar but unique name for the current client. In this case, once another candidate name has been generated, the updater should restart the process of adding an A RR as specified in this section.7.68.2 Adding PTR RR Entries to DNS The DHCP server submits a DNS query which deletes all of the PTR RRs associated with the lease IP address, and adds a PTR RR whose data is the client's (possibly disambiguated) host name. The server also adds aKEYDHCID RR specified in Section7.3. 7.74.3. 8.3 Removing Entries from DNS Thefirst rulemost important consideration in removing DNS entries is be sure that an entity removing a DNS entry is only removing an entry that itadded.added, or for which an administrator has explicitly assigned it responsibility. When a lease expires or a DHCP client issues a DHCPRELEASE request, the DHCP server SHOULD delete the PTR RR that matches the DHCP binding, if one was successfully added. The server's update query SHOULD assert that the name in the PTR record matches the name of the client whose lease has expired or been released. The entity chosen to handle the A record for this client (either the client or the server) SHOULD delete the A record that was added when the lease was made to the client. In order to perform this delete, the updater prepares an UPDATE query which contains two prerequisites. The first prerequisite asserts that theKEYDHCID RR exists whose data is the client identity described in Section7.3.4.3. The second prerequisite asserts that the data in the A RR contains the IP address of the lease that has expired or been released. If the query fails, the updater MUST NOT delete the DNS name. It may be that the host whose lease on the server has expired has moved to another network and obtained a lease from a different server, which has caused the client's A RR to be replaced. It may also be that some other client has been configured with a name that matches the name of the DHCP client, and the policy was that the last client to specify the name would get the name. In this case, theKEYDHCID RR will no longer match the updater's notion of the client-identity of the host pointed to by the DNS name.7.88.4 Updating other RRs The procedures described in this document only cover updates to the A and PTR RRs. Updating other types of RRs is outside the scope of this document.8.9. Security Considerations Unauthenticated updates to the DNS can lead to tremendous confusion, through malicious attack or through inadvertent misconfiguration. Administrators should be wary of permitting unsecured DNS updates to zones which are exposed to the global Internet. Both DHCP clients and servers SHOULD use some form of update request origin authentication procedure (e.g., Simple Secure DNS Update[11]) when performing DNS updates. Whetherthea DHCP client may be responsible for updatingthean FQDN to IP address mapping, or whetherthethis is the responsibilitylies withof the DHCP server is a site-local matter. The choice between the two alternatives may be based ona particularthe security model that is used with the Dynamic DNS Update protocol (e.g., only a client may have sufficient credentials to perform updates to the FQDN to IP address mapping for its FQDN). Whether a DHCP server is always responsible for updating the FQDN to IP address mapping (in addition to updating the IP to FQDN mapping), regardless of the wishes ofaan individual DHCP client, is also a site-local matter. The choice between the two alternatives may be based ona particularthe securitymodel. Both DHCP clients and servers SHOULD use some form of update request origin authentication procedure (e.g., TSIG[8], Simple Secure DNS Update[10]) when performingmodel that is being used with dynamic DNS updates.While the DHCP client MAY be the one to update the DNS A record, in certain configurationsIn cases where a DHCP serverMAY do so instead. In this case,is performing DNS updates on behalf of a client, the DHCP serverMUSTshould be sure ofboththe DNS name to use for the client,as well asand of the identity of the client.In the general case, both of these conditions areCurrently, it is difficult for DHCP servers tosatisfy,develop much confidence in the identities of its clients, given the absence ofsecurityentity authentication from the DHCP protocol itself. There are many ways for a DHCP server to develop a DNS name to use for a client, but only in certain relatively unusual circumstances will the DHCP server know for certain the identity of the client. If DHCPauthentication[9]Authentication[10] becomes widely deployed this may become more customary. One example of a situation which offers some extra assurances is one where the DHCP client is connected to a network through an MCNS cable modem, and the CMTS (head-end) of the cable modem ensures that MAC address spoofing simply does not occur. Another example of a configuration that might be trusted is one where clients obtain network access via a network access server using PPP. The NAS itself might be obtaining IP addresses via DHCP, encoding a client identification into the DHCP client-id option. In this case, the network access server as well as the DHCP server might be operating within a trusted environment, in which case the DHCP server could be configured to trust that the user authentication and authorization procedure of the remote access server was sufficient, and would therefore trust the client identification encoded within the DHCP client-id.9.10. Acknowledgements Many thanks to Mark Beyer, Jim Bound, Ralph Droms, Robert Elz, Peter Ford, Edie Gunter, Andreas Gustafsson, R. Barr Hibbs, Kim Kinnear, Stuart Kwan, Ted Lemon, Ed Lewis, Michael Lewis, Josh Littlefield, Michael Patton, and Glenn Stump for their review and comments. References [1] Mockapetris, P., "Domain names - Concepts and Facilities", RFC 1034, Nov 1987. [2] Mockapetris, P., "Domain names - Implementation and Specification", RFC 1035, Nov 1987. [3] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. [4] Marine, A., Reynolds, J. and G. Malkin, "FYI on Questions and Answers to Commonly asked ``New Internet User'' Questions", RFC 1594, March 1994. [5] Vixie, P., Thomson, S., Rekhter, Y. and J. Bound, "Dynamic Updates in the Domain Name System", RFC 2136, April 1997. [6] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [7] Eastlake, D., "Domain Name System Security Extensions", RFC 2535, March 1999. [8] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC 2671, August 1999. [9] Vixie, P., Gudmundsson, O., Eastlake, D. and B. Wellington, "Secret Key TransactionSignaturesAuthentication for DNS (TSIG)(draft-ietf-dnsind-tsig-*)",(draft-ietf-dnsext-tsig-*)", July 1999.[9][10] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages (draft-ietf-dhc-authentication-*)", June 1999.[10][11] Wellington, B., "Simple Secure DNS Dynamic Updates(draft-ietf-dnsind-simple-secure-update-*)",(draft-ietf-dnsext-simple-secure-update-*)", June 1999. [12] Gustafsson, A., "A DNS RR for encoding DHCP client identity (draft-ietf-dnsext-dhcid-rr-*)", October 1999. [13] Rivest, R., "The MD5 Message Digest Algorithm", RFC 1321, April 1992. Authors' Addresses Mark Stapp Cisco Systems, Inc. 250 Apollo Dr. Chelmsford, MA 01824 US Phone: 978.244.8498 EMail: mjs@cisco.com Yakov Rekhter Cisco Systems, Inc. 170 Tasman Dr. San Jose, CA 95134 US Phone: 914.235.2128 EMail: yakov@cisco.com Full Copyright Statement Copyright (C) The Internet Society(1999).(2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC editor function is currently provided by the Internet Society.