idnits 2.17.1 draft-ietf-dhc-fqdn-option-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 19, 2001) is 8317 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: 'RFC2136' on line 420 == Unused Reference: '9' is defined on line 555, but no explicit reference was found in the text ** Obsolete normative reference: RFC 1594 (ref. '4') (Obsoleted by RFC 2664) -- No information found for draft-ietf-dhc-ddns-resolution- - is the name correct? -- Possible downref: Normative reference to a draft: ref. '7' ** Obsolete normative reference: RFC 2671 (ref. '8') (Obsoleted by RFC 6891) ** Obsolete normative reference: RFC 2845 (ref. '9') (Obsoleted by RFC 8945) -- No information found for draft-ietf-dhc-authentication- - is the name correct? -- Possible downref: Normative reference to a draft: ref. '11' Summary: 6 errors (**), 0 flaws (~~), 3 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DHC Working Group M. Stapp 3 Internet-Draft Cisco Systems, Inc. 4 Expires: January 17, 2002 Y. Rekhter 5 Juniper Networks 6 July 19, 2001 8 The DHCP Client FQDN Option 9 11 Status of this Memo 13 This document is an Internet-Draft and is in full conformance with 14 all provisions of Section 10 of RFC2026. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as 19 Internet-Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six 22 months and may be updated, replaced, or obsoleted by other documents 23 at any time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on January 17, 2002. 34 Copyright Notice 36 Copyright (C) The Internet Society (2001). All Rights Reserved. 38 Abstract 40 DHCP provides a powerful mechanism for IP host configuration. 41 However, the configuration capability provided by DHCP does not 42 include updating DNS, and specifically updating the name to address 43 and address to name mappings maintained in the DNS. 45 This document specifies a DHCP option which can be used to exchange 46 information about a DHCP client's fully-qualified domain name, and 47 about responsibility for updating DNS RRs related to the client's 48 DHCP lease. 50 Table of Contents 52 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Models of Operation . . . . . . . . . . . . . . . . . . . . . 3 55 4. The Client FQDN Option . . . . . . . . . . . . . . . . . . . . 4 56 4.1 The Flags Field . . . . . . . . . . . . . . . . . . . . . . . 5 57 4.2 The RCODE Fields . . . . . . . . . . . . . . . . . . . . . . . 6 58 4.3 The Domain Name Field . . . . . . . . . . . . . . . . . . . . 6 59 5. DHCP Client behavior . . . . . . . . . . . . . . . . . . . . . 7 60 6. DHCP Server Behavior . . . . . . . . . . . . . . . . . . . . . 9 61 7. Security Considerations . . . . . . . . . . . . . . . . . . . 11 62 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 63 References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 64 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 13 65 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 14 67 1. Terminology 69 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 70 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 71 document are to be interpreted as described in RFC 2119[1]. 73 2. Introduction 75 DNS (RFC1034[2], RFC1035[3]) maintains (among other things) the 76 information about mapping between hosts' Fully Qualified Domain 77 Names (FQDNs)[4] and IP addresses assigned to the hosts. The 78 information is maintained in two types of Resource Records (RRs): A 79 and PTR. The A RR contains mapping from a FQDN to an IP address; the 80 PTR RR contains mapping from an IP address to a FQDN. The DNS 81 update specification (RFC2136[5]) describes a mechanism that enables 82 DNS information to be updated over a network. 84 DHCP[6] provides a mechanism by which a host (a DHCP client) can 85 acquire certain configuration information, along with its IP 86 address(es). However, DHCP does not provide any mechanisms to update 87 the DNS RRs that contain the information about mapping between the 88 host's FQDN and its IP address(es) (A and PTR RRs). Thus DNS 89 information for a DHCP client may not exist or may be incorrect - a 90 host (the client) could acquire its address by using DHCP, but the A 91 RR for the host's FQDN wouldn't reflect the address that the host 92 acquired, and the PTR RR for the acquired address wouldn't reflect 93 the host's FQDN. 95 The DNS Update protocol can be used to maintain consistency between 96 the information stored in the A and PTR RRs and the actual address 97 assignment done via DHCP. When a host with a particular FQDN 98 acquires its IP address via DHCP, the A RR associated with the 99 host's FQDN would be updated (by using the DNS Update protocol) to 100 reflect the new address. Likewise, when an IP address is assigned to 101 a host with a particular FQDN, the PTR RR associated with this 102 address would be updated (using the DNS Update protocol) to reflect 103 the new FQDN. 105 Although this document refers to the A and PTR DNS record types and 106 to DHCP assignment of IPv4 addresses, the same procedures and 107 requirements apply for updates to the analogous RR types that are 108 used when clients are assigned IPv6 addresses via DHCPv6. 110 3. Models of Operation 112 When a DHCP client acquires a new address, a site's administrator 113 may desire that one or both of the A RR for the client's FQDN and 114 the PTR RR for the acquired address be updated. Therefore, two 115 separate DNS update transactions may occur. Acquiring an address via 116 DHCP involves two entities: a DHCP client and a DHCP server. In 117 principle each of these entities could perform none, one, or both of 118 the transactions. However, in practice not all permutations make 119 sense. The DHCP client FQDN option is intended to operate in the 120 following two cases: 122 1. DHCP client updates the A RR, DHCP server updates the PTR RR 123 2. DHCP server updates both the A and the PTR RRs 125 The only difference between these two cases is whether the FQDN to 126 IP address mapping is updated by a DHCP client or by a DHCP server. 127 The IP address to FQDN mapping is updated by a DHCP server in both 128 cases. 130 The reason these two are important, while others are unlikely, has 131 to do with authority over the respective DNS domain names. A DHCP 132 client may be given authority over mapping its own A RRs, or that 133 authority may be restricted to a server to prevent the client from 134 listing arbitrary addresses or associating its address with 135 arbitrary domain names. In all cases, the only reasonable place for 136 the authority over the PTR RRs associated with the address is in the 137 DHCP server that allocates the address. 139 In any case, whether a site permits all, some, or no DHCP servers 140 and clients to perform DNS updates into the zones which it controls 141 is entirely a matter of local administrative policy. This document 142 does not require any specific administrative policy, and does not 143 propose one. The range of possible policies is very broad, from 144 sites where only the DHCP servers have been given credentials that 145 the DNS servers will accept, to sites where each individual DHCP 146 client has been configured with credentials which allow the client 147 to modify its own domain name. Compliant implementations MAY support 148 some or all of these possibilities. Furthermore, this specification 149 applies only to DHCP client and server processes: it does not apply 150 to other processes which initiate DNS updates. 152 This document describes a new DHCP option which a client can use to 153 convey all or part of its domain name to a DHCP server. 154 Site-specific policy determines whether DHCP servers use the names 155 that clients offer or not, and what DHCP servers may do in cases 156 where clients do not supply domain names. Another document, 157 "Resolving Name Conflicts"[7], defines a protocol for establishing 158 policy and arbitrating conflicts when collisions occur in the use of 159 FQDNs by DHCP clients. 161 4. The Client FQDN Option 163 To update the IP address to FQDN mapping a DHCP server needs to know 164 the FQDN of the client to which the server leases the address. To 165 allow the client to convey its FQDN to the server this document 166 defines a new DHCP option, called "Client FQDN". The FQDN Option 167 also contains Flags and RCode fields which DHCP servers can use to 168 convey information about DNS updates to clients. 170 Clients MAY send the FQDN option, setting appropriate Flags values, 171 in both their DISCOVER and REQUEST messages. If a client sends the 172 FQDN option in its DISCOVER message, it MUST send the option in 173 subsequent REQUEST messages. 175 The code for this option is 81. Its minimum length is 4. 177 The Format of the FQDN Option: 179 Code Len Flags RCODE1 RCODE2 Domain Name 180 +------+------+------+------+------+------+-- 181 | 81 | n | | | | ... 182 +------+------+------+------+------+------+-- 184 4.1 The Flags Field 186 The Format of the Flags Field: 188 0 1 2 3 4 5 6 7 189 +-+-+-+-+-+-+-+-+ 190 | MBZ |N|E|O|S| 191 +-+-+-+-+-+-+-+-+ 193 When a DHCP client sends the FQDN option in its DHCPDISCOVER and/or 194 DHCPREQUEST messages, it sets the least-significant bit (labelled 195 "S") to indicate that it will not perform any DNS updates, and that 196 it expects the DHCP server to perform any FQDN-to-IP (the A RR) DNS 197 update on its behalf. If this bit is clear, the client indicates 198 that it intends to maintain its own FQDN-to-IP mapping update. 200 If a DHCP server intends to take responsibility for the A RR update 201 whether or not the client sending the FQDN option has set the "S" 202 bit, it sets both the "O" bit and the "S" bit, and sends the FQDN 203 option in its DHCPOFFER and/or DHCPACK messages. 205 The data in the Domain Name field may appear in one of two formats: 206 ASCII, or DNS-style binary encoding (without compression, of 207 course), as described in RFC1035[3]. A client which sends the FQDN 208 option MUST set the "E" bit to indicate that the data in the Domain 209 Name field is DNS binary encoded. If a server receives an FQDN 210 option from a client, and intends to include an FQDN option in its 211 reply, it MUST use the same encoding that the client used. The DNS 212 encoding is recommended. The use of ASCII-encoded domain-names is 213 fragile, and the use of ASCII encoding in this option should be 214 considered deprecated. 216 A client MAY set the "N" flag in its request messages to indicate 217 that the server should not perform any DNS updates on its behalf. As 218 we mentioned in Section 3, we believe that in general the DHCP 219 server will be maintaining DNS PTR records on behalf of clients. 220 However, there may be deployments in which clients are configured to 221 perform all desired DNS updates. The server MAY be configured to 222 honor this configuration. If the server has been configured to honor 223 a client's "N" indication, it SHOULD set the "N" bit in fqdn options 224 which it sends to the client in its OFFER or ACK messages. Clients 225 which have set the "N" bit in their requests SHOULD use the state of 226 the "N" bit in server responses to determine whether the server was 227 prepared to honor the client's indication. If a client has set the 228 "N" bit but its server does not, the client SHOULD conclude that the 229 server was not configured to honor the client's suggestion, and that 230 the server may attempt to perform DNS updates on its behalf. 232 The remaining bits in the Flags field are reserved for future 233 assignment. DHCP clients and servers which send the FQDN option MUST 234 set the MBZ bits to 0, and they MUST ignore values in the part of 235 the field labelled "MBZ". 237 4.2 The RCODE Fields 239 The RCODE1 and RCODE2 fields are used by a DHCP server to indicate 240 to a DHCP client the Response Code from any A or PTR RR DNS updates 241 it has performed. The server may also use these fields to indicate 242 whether it has attempted such an update before sending the DHCPACK 243 message. Each of these fields is one byte long. 245 Implementors should note that EDNS0 describes a mechanism for 246 extending the length of a DNS RCODE to 12 bits. EDNS0 is specified 247 in RFC2671[8]. Only the least-significant 8 bits of the RCODE from a 248 DNS update will be carried in the Client FQDN DHCP Option. This 249 provides enough number space to accomodate the RCODEs defined in the 250 DNS update specification. 252 4.3 The Domain Name Field 254 The Domain Name part of the option carries all or part of the FQDN 255 of a DHCP client. A client may be configured with a fully-qualified 256 domain name, or with a partial name that is not fully-qualified. If 257 a client knows only part of its name, it MAY send a single label, 258 indicating that it knows part of the name but does not necessarily 259 know the zone in which the name is to be embedded. The data in the 260 Domain Name field may appear in one of two formats: ASCII (with no 261 terminating NULL), or DNS encoding as specified in RFC1035[3]. If 262 the DHCP client wishes to use DNS encoding, it MUST set the third 263 bit in the Flags field (the "E" bit); if it uses ASCII encoding, it 264 MUST clear the "E" bit. 266 A DHCP client that can only send a single label using ASCII encoding 267 includes a series of ASCII characters in the Domain Name field, 268 excluding the "." (dot) character. The client SHOULD follow the 269 character-set recommendations of RFC1034[2] and RFC1035[3]. A client 270 using DNS binary encoding which wants to suggest part of its FQDN 271 MAY send a non-terminal sequence of labels in the Domain Name part 272 of the option. Clients and servers should assume that the the name 273 field contains a fully-qualified name unless one of these 274 partial-name conditions exists. 276 5. DHCP Client behavior 278 The following describes the behavior of a DHCP client that 279 implements the Client FQDN option. 281 Other DHCP options may carry data that is related to the Domain-Name 282 part of the FQDN option. The Host-Name option, for example, contains 283 an ASCII string representation of the client's host-name. In 284 general, a client should not need to send redundant data, and 285 therefore clients which send the FQDN option in their messages 286 SHOULD NOT also send the Host-Name option. Clients which receive 287 both the Host-Name option and the FQDN option from a server SHOULD 288 prefer FQDN option data. Servers will be asked in Section 6 to 289 ignore the Host-Name option in client messages which include the 290 FQDN option. 292 If a client that owns/maintains its own FQDN wants to be responsible 293 for updating the FQDN to IP address mapping for the FQDN and 294 address(es) used by the client, then the client MUST include the 295 Client FQDN option in the DHCPREQUEST message originated by the 296 client. A DHCP client MAY choose to include the Client FQDN option 297 in its DISCOVER messages as well as its REQUEST messages. The 298 least-significant ("S") bit in the Flags field in the option MUST be 299 set to 0. Once the client's DHCP configuration is completed (the 300 client receives a DHCPACK message, and successfully completes a 301 final check on the parameters passed in the message), the client MAY 302 originate an update for the A RR (associated with the client's 303 FQDN). The update SHOULD be originated following the procedures 304 described in RFC2136[5] and "Resolving Name Conflicts"[7]. If the 305 DHCP server from which the client is requesting a lease includes the 306 FQDN option in its ACK message, and if the server sets both the "S" 307 and the "O" bits (the two least-significant bits) in the option's 308 flags field, the DHCP client MUST NOT initiate an update for the 309 name in the Domain Name field. 311 A client can choose to delegate the responsibility for updating the 312 FQDN to IP address mapping for the FQDN and address(es) used by the 313 client to the server. In order to inform the server of this choice, 314 the client SHOULD include the Client FQDN option in its DHCPREQUEST 315 message. The least-significant (or "S") bit in the Flags field in 316 the option MUST be set to 1. A client which delegates this 317 responsibility MUST NOT attempt to perform a DNS update for the name 318 in the Domain Name field of the FQDN option. The client MAY supply 319 an FQDN in the Client FQDN option, or it MAY supply a single label 320 (the most-specific label), or it MAY leave that field empty as a 321 signal to the server to generate an FQDN for the client in any 322 manner the server chooses. 324 Since there is a possibility that the DHCP server may be configured 325 to complete or replace a domain name that the client was configured 326 to send, the client might find it useful to send the FQDN option in 327 its DISCOVER messages. If the DHCP server returns different Domain 328 Name data in its OFFER message, the client could use that data in 329 performing its own eventual A RR update, or in forming the FQDN 330 option that it sends in its REQUEST message. There is no requirement 331 that the client send identical FQDN option data in its DISCOVER and 332 REQUEST messages. In particular, if a client has sent the FQDN 333 option to its server, and the configuration of the client changes so 334 that its notion of its domain name changes, it MAY send the new name 335 data in an FQDN option when it communicates with the server again. 336 This may allow the DHCP server to update the name associated with 337 the PTR record, and, if the server updated the A record representing 338 the client, to delete that record and attempt an update for the 339 client's current domain name. 341 A client that delegates the responsibility for updating the FQDN to 342 IP address mapping to a server might not receive any indication 343 (either positive or negative) from the server whether the server was 344 able to perform the update. In this case the client MAY use a DNS 345 query to check whether the mapping is updated. 347 A client MUST set the RCODE1 and RCODE2 fields in the Client FQDN 348 option to 0 when sending the option. 350 If a client releases its lease prior to the lease expiration time 351 and the client is responsible for updating its A RR, the client 352 SHOULD delete the A RR (following the procedures described in 353 "Resolving Name Conflicts"[7]) associated with the leased address 354 before sending a DHCP RELEASE message. Similarly, if a client was 355 responsible for updating its A RR, but is unable to renew its lease, 356 the client SHOULD attempt to delete the A RR before its lease 357 expires. A DHCP client which has not been able to delete an A RR 358 which it added (because it has lost the use of its DHCP IP address) 359 should attempt to notify its administrator, perhaps by emitting a 360 log message. 362 6. DHCP Server Behavior 364 When a server receives a DHCPREQUEST message from a client, if the 365 message contains the Client FQDN option, and the server replies to 366 the message with a DHCPACK message, the server may be configured to 367 originate an update for the PTR RR (associated with the address 368 leased to the client). Any such update SHOULD be originated 369 following the procedures described in "Resolving Name Conflicts"[7]. 370 The server MAY complete the update before the server sends the 371 DHCPACK message to the client. In this case the RCODE from the 372 update MUST be carried to the client in the RCODE1 field of the 373 Client FQDN option in the DHCPACK message. Alternatively, the server 374 MAY send the DHCPACK message to the client without waiting for the 375 update to be completed. In this case the RCODE1 field of the Client 376 FQDN option in the DHCPACK message MUST be set to 255. The choice 377 between the two alternatives is entirely determined by the 378 configuration of the DHCP server. Servers SHOULD support both 379 configuration options. 381 When a server receives a DHCPREQUEST message containing the Client 382 FQDN option, the server MUST ignore the values carried in the RCODE1 383 and RCODE2 fields of the option. 385 In addition, if the Client FQDN option carried in the DHCPREQUEST 386 message has the "S" bit in its Flags field set, then the server MAY 387 originate an update for the A RR (associated with the FQDN carried 388 in the option) if it is configured to do so by the site's 389 administrator, and if it has the necessary credentials. The server 390 MAY be configured to use the name supplied in the client's FQDN 391 option, or it MAY be configured to modify the supplied name, or 392 substitute a different name. 394 Any such update SHOULD be originated following the procedures 395 described in "Resolving Name Conflicts"[7]. The server MAY originate 396 the update before the server sends the DHCPACK message to the 397 client. In this case the RCODE from the update [RFC2136] MUST be 398 carried to the client in the RCODE2 field of the Client FQDN option 399 in the DHCPACK message. Alternatively the server MAY send the 400 DHCPACK message to the client without waiting for the update to be 401 completed. In this case the RCODE2 field of the Client FQDN option 402 in the DHCPACK message MUST be set to 255. The choice between the 403 two alternatives is entirely a matter of the DHCP server's 404 configuration. In either case, if the server intends to perform the 405 DNS update and the client's REQUEST message included the FQDN 406 option, the server SHOULD include the FQDN option in its ACK 407 message. If the server includes the FQDN option, it MUST set the "S" 408 bit in the option's Flags field and MUST clear the "O" bit. 410 Even if the Client FQDN option carried in the DHCPREQUEST message 411 has the "S" bit in its Flags field clear (indicating that the client 412 wants to update the A RR), the server MAY be configured by the local 413 administrator to update the A RR on the client's behalf. A server 414 which is configured to override the client's preference SHOULD 415 include an FQDN option in its ACK message, and MUST set both the "O" 416 and "S" bits in the FQDN option's Flags field. The update SHOULD be 417 originated following the procedures described in "Resolving Name 418 Conflicts"[7]. The server MAY originate the update before the server 419 sends the DHCPACK message to the client. In this case the RCODE from 420 the update [RFC2136] MUST be carried to the client in the RCODE2 421 field of the Client FQDN option in the DHCPACK message. 422 Alternatively, the server MAY send the DHCPACK message to the client 423 without waiting for the update to be completed. In this case the 424 RCODE2 field of the Client FQDN option in the DHCPACK message MUST 425 be set to 255. Whether the DNS update occurs before or after the 426 DHCPACK is sent is entirely up to the DHCP server's configuration. 428 When a DHCP server sends the Client FQDN option to a client in the 429 DHCPACK message, the DHCP server SHOULD send its notion of the 430 complete FQDN for the client in the Domain Name field. The server 431 MAY simply copy the Domain Name field from the Client FQDN option 432 that the client sent to the server in the DHCPREQUEST message. The 433 DHCP server MAY be configured to complete or modify the domain name 434 which a client sent, or it MAY be configured to substitute a 435 different name. 437 If the server initiates a DNS update which is not complete until 438 after the server has replied to the DHCP client, the server's 439 interaction with the DNS server may cause the DHCP server to change 440 the domain name that it associates with the client. This may occur, 441 for example, if the server detects and resolves a domain-name 442 conflict. In such cases, the domain name that the server returns to 443 the dhcp client may change between two dhcp exchanges. 445 The server MUST use the same encoding format (ASCII or DNS binary 446 encoding) that the client used in the FQDN option in its 447 DHCPREQUEST, and MUST set the "E" bit in the option's Flags field 448 accordingly. 450 If a client's DHCPREQUEST message doesn't carry the Client FQDN 451 option (e.g., the client doesn't implement the Client FQDN option), 452 the server MAY be configured to update either or both of the A and 453 PTR RRs. The updates SHOULD be originated following the procedures 454 described in "Resolving Name Conflicts"[7]. 456 If a server detects that a lease on an address that the server 457 leases to a client has expired, the server SHOULD delete any PTR RR 458 which it added via DNS update. In addition, if the server added an A 459 RR on the client's behalf, the server SHOULD also delete the A RR. 460 The deletion SHOULD follow the procedures described in "Resolving 461 Name Conflicts"[7]. 463 If a server terminates a lease on an address prior to the lease's 464 expiration time, for instance by sending a DHCPNAK to a client, the 465 server SHOULD delete any PTR RR which it associated with the address 466 via DNS Update. In addition, if the server took responsibility for 467 an A RR, the server SHOULD also delete that A RR. The deletion 468 SHOULD follow the procedures described in "Resolving Name 469 Conflicts"[7]. 471 7. Security Considerations 473 Unauthenticated updates to the DNS can lead to tremendous confusion, 474 through malicious attack or through inadvertent misconfiguration. 475 Administrators should be wary of permitting unsecured DNS updates to 476 zones which are exposed to the global Internet. Both DHCP clients 477 and servers SHOULD use some form of update request origin 478 authentication procedure (e.g., Secure DNS Dynamic Update[10]) when 479 performing DNS updates. 481 Whether a DHCP client may be responsible for updating an FQDN to IP 482 address mapping or whether this is the responsibility of the DHCP 483 server is a site-local matter. The choice between the two 484 alternatives may be based on the security model that is used with 485 the DNS update protocol (e.g., only a client may have sufficient 486 credentials to perform updates to the FQDN to IP address mapping for 487 its FQDN). 489 Whether a DHCP server is always responsible for updating the FQDN to 490 IP address mapping (in addition to updating the IP to FQDN mapping), 491 regardless of the wishes of an individual DHCP client, is also a 492 site-local matter. The choice between the two alternatives may be 493 based on the security model that is being used with DNS updates. In 494 cases where a DHCP server is performing DNS updates on behalf of a 495 client, the DHCP server should be sure of the DNS name to use for 496 the client, and of the identity of the client. 498 Currently, it is difficult for DHCP servers to develop much 499 confidence in the identities of its clients, given the absence of 500 entity authentication from the DHCP protocol itself. There are many 501 ways for a DHCP server to develop a DNS name to use for a client, 502 but only in certain relatively unusual circumstances will the DHCP 503 server know for certain the identity of the client. If DHCP 504 Authentication[11] becomes widely deployed this may become more 505 customary. 507 One example of a situation which offers some extra assurances is one 508 where the DHCP client is connected to a network through an MCNS 509 cable modem, and the CMTS (head-end) ensures that MAC address 510 spoofing simply does not occur. Another example of a configuration 511 that might be trusted is one where clients obtain network access via 512 a network access server using PPP. The NAS itself might be obtaining 513 IP addresses via DHCP, encoding a client identification into the 514 DHCP client-id option. In this case, the network access server as 515 well as the DHCP server might be operating within a trusted 516 environment, in which case the DHCP server could be configured to 517 trust that the user authentication and authorization procedure of 518 the remote access server was sufficient, and would therefore trust 519 the client identification encoded within the DHCP client-id. 521 8. Acknowledgements 523 Many thanks to Mark Beyer, Jim Bound, Ralph Droms, Robert Elz, Peter 524 Ford, Edie Gunter, Andreas Gustafsson, R. Barr Hibbs, Kim Kinnear, 525 Stuart Kwan, Ted Lemon, Ed Lewis, Michael Lewis, Josh Littlefield, 526 Michael Patton, and Glenn Stump for their review and comments. 528 References 530 [1] Bradner, S., "Key words for use in RFCs to Indicate 531 Requirement Levels", RFC 2119, March 1997. 533 [2] Mockapetris, P., "Domain names - Concepts and Facilities", RFC 534 1034, Nov 1987. 536 [3] Mockapetris, P., "Domain names - Implementation and 537 Specification", RFC 1035, Nov 1987. 539 [4] Marine, A., Reynolds, J. and G. Malkin, "FYI on Questions and 540 Answers to Commonly asked ``New Internet User'' Questions", 541 RFC 1594, March 1994. 543 [5] Vixie, P., Thomson, S., Rekhter, Y. and J. Bound, "Dynamic 544 Updates in the Domain Name System", RFC 2136, April 1997. 546 [6] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, 547 March 1997. 549 [7] Stapp, M., "Resolution of DNS Name Conflicts Among DHCP 550 Clients (draft-ietf-dhc-ddns-resolution-*.txt)", July 2000. 552 [8] Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC 2671, 553 August 1999. 555 [9] Vixie, P., Gudmundsson, O., Eastlake, D. and B. Wellington, 556 "Secret Key Transaction Authentication for DNS (TSIG)", RFC 557 2845, May 2000. 559 [10] Wellington, B., "Secure DNS Dynamic Update", RFC 3007, 560 November 2000. 562 [11] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages 563 (draft-ietf-dhc-authentication-*)", June 1999. 565 Authors' Addresses 567 Mark Stapp 568 Cisco Systems, Inc. 569 250 Apollo Dr. 570 Chelmsford, MA 01824 571 USA 573 Phone: 978.244.8498 574 EMail: mjs@cisco.com 576 Yakov Rekhter 577 Juniper Networks 578 1194 North Mathilda Avenue 579 Sunnyvale, CA 94089 580 USA 582 Phone: 408.745.2000 583 EMail: yakov@juniper.net 585 Full Copyright Statement 587 Copyright (C) The Internet Society (2001). All Rights Reserved. 589 This document and translations of it may be copied and furnished to 590 others, and derivative works that comment on or otherwise explain it 591 or assist in its implementation may be prepared, copied, published 592 and distributed, in whole or in part, without restriction of any 593 kind, provided that the above copyright notice and this paragraph 594 are included on all such copies and derivative works. However, this 595 document itself may not be modified in any way, such as by removing 596 the copyright notice or references to the Internet Society or other 597 Internet organizations, except as needed for the purpose of 598 developing Internet standards in which case the procedures for 599 copyrights defined in the Internet Standards process must be 600 followed, or as required to translate it into languages other than 601 English. 603 The limited permissions granted above are perpetual and will not be 604 revoked by the Internet Society or its successors or assigns. 606 This document and the information contained herein is provided on an 607 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 608 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 609 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 610 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 611 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 613 Acknowledgement 615 Funding for the RFC editor function is currently provided by the 616 Internet Society.