summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4702.txt
blob: 609d99fda087c60412704eb3c74ba0f9508c41ff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
Network Working Group                                           M. Stapp
Request for Comments: 4702                                       B. Volz
Category: Standards Track                            Cisco Systems, Inc.
                                                              Y. Rekhter
                                                        Juniper Networks
                                                            October 2006


         The Dynamic Host Configuration Protocol (DHCP) Client
               Fully Qualified Domain Name (FQDN) Option

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document describes a Dynamic Host Configuration Protocol for
   IPv4 (DHCPv4) option that can be used to exchange information about a
   DHCPv4 client's fully qualified domain name and about responsibility
   for updating the DNS RR related to the client's address assignment.






















Stapp, et al.               Standards Track                     [Page 1]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


Table of Contents

   1. Introduction ....................................................3
      1.1. Terminology ................................................3
      1.2. Models of Operation ........................................3
   2. The Client FQDN Option ..........................................4
      2.1. The Flags Field ............................................5
      2.2. The RCODE Fields ...........................................6
      2.3. The Domain Name Field ......................................6
           2.3.1. Deprecated ASCII Encoding ...........................7
   3. DHCP Client Behavior ............................................7
      3.1. Interaction with Other Options .............................7
      3.2. Client Desires to Update A RRs .............................8
      3.3. Client Desires Server to Do DNS Updates ....................8
      3.4. Client Desires No Server DNS Updates .......................8
      3.5. Domain Name and DNS Update Issues ..........................9
   4. DHCP Server Behavior ...........................................10
      4.1. When to Perform DNS Updates ...............................11
   5. DNS RR TTLs ....................................................12
   6. DNS Update Conflicts ...........................................12
   7. IANA Considerations ............................................13
   8. Security Considerations ........................................13
   9. Acknowledgements ...............................................14
   10. References ....................................................14
      10.1. Normative References .....................................14
      10.2. Informative References ...................................15

























Stapp, et al.               Standards Track                     [Page 2]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


1.  Introduction

   DNS ([2], [3]) maintains (among other things) the information about
   the mapping between hosts' Fully Qualified Domain Names (FQDNs) [11]
   and IP addresses assigned to the hosts.  The information is
   maintained in two types of Resource Records (RRs): A and PTR.  The
   DNS update specification ([4]) describes a mechanism that enables DNS
   information to be updated over a network.

   The Dynamic Host Configuration Protocol for IPv4 (DHCPv4 or just DHCP
   in this document) [5] provides a mechanism by which a host (a DHCP
   client) can acquire certain configuration information, along with its
   address.  This document specifies a DHCP option, the Client FQDN
   option, which can be used by DHCP clients and servers to exchange
   information about the client's fully qualified domain name for an
   address and who has the responsibility for updating the DNS with the
   associated A and PTR RRs.

1.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 [1].

1.2.  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 DNS
   update transactions may 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.  The DHCP Client FQDN option is primarily intended to operate
   in the following two cases:

   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



Stapp, et al.               Standards Track                     [Page 3]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   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.

   Note: A third case is supported: the client requests that the server
   perform no updates.  However, this case is presumed to be rare
   because of the authority issues.

   It is considered local policy to permit DHCP clients and servers to
   perform DNS updates to zones.  This document does not require any
   specific administrative policy and does not propose one.
   Furthermore, this specification applies only to DHCP client and
   server processes; it does not apply to other processes that initiate
   DNS updates.

   This document describes a 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.

2.  The Client FQDN Option

   To update the IP-address-to-FQDN mapping, a DHCP server needs to know
   the FQDN of the client to which the server leases the address.  To
   allow the client to convey its FQDN to the server, this document
   defines a new DHCP option, called "Client FQDN".  The Client FQDN
   option also contains Flags, which DHCP servers can use to convey
   information about DNS updates to clients, and two deprecated RCODEs.

   Clients MAY send the Client FQDN option, setting appropriate Flags
   values, in both their DHCPDISCOVER and DHCPREQUEST messages.  If a
   client sends the Client FQDN option in its DHCPDISCOVER message, it
   MUST send the option in subsequent DHCPREQUEST messages though the
   contents of the option MAY change.

   Only one Client FQDN option MAY appear in a message, though it may be
   instantiated in a message as multiple options [9].  DHCP clients and
   servers supporting this option MUST implement DHCP option
   concatenation [9].  In the terminology of [9], the Client FQDN option
   is a concatenation-requiring option.

   The code for this option is 81.  Len contains the number of octets
   that follow the Len field, and the minimum value is 3 (octets).





Stapp, et al.               Standards Track                     [Page 4]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   The format of the Client FQDN option is:

        Code   Len    Flags  RCODE1 RCODE2   Domain Name
       +------+------+------+------+------+------+--
       |  81  |   n  |      |      |      |       ...
       +------+------+------+------+------+------+--

   The above figure follows the conventions of [12].

2.1.  The Flags Field

   The format of the 1-octet Flags field is:

        0 1 2 3 4 5 6 7
       +-+-+-+-+-+-+-+-+
       |  MBZ  |N|E|O|S|
       +-+-+-+-+-+-+-+-+

   The "S" bit indicates whether the server SHOULD or SHOULD NOT perform
   the A RR (FQDN-to-address) DNS updates.  A client sets the bit to 0
   to indicate the server SHOULD NOT perform the updates and 1 to
   indicate the server SHOULD perform the updates.  The state of the bit
   in the reply from the server indicates the action to be taken by the
   server; if 1, the server has taken responsibility for A RR updates
   for the FQDN.

   The "O" bit indicates whether the server has overridden the client's
   preference for the "S" bit.  A client MUST set this bit to 0.  A
   server MUST set this bit to 1 if the "S" bit in its reply to the
   client does not match the "S" bit received from the client.

   The "N" bit indicates whether the server SHOULD NOT perform any DNS
   updates.  A client sets this bit to 0 to request that the server
   SHOULD perform updates (the PTR RR and possibly the A RR based on the
   "S" bit) or to 1 to request that the server SHOULD NOT perform any
   DNS updates.  A server sets the "N" bit to indicate whether the
   server SHALL (0) or SHALL NOT (1) perform DNS updates.  If the "N"
   bit is 1, the "S" bit MUST be 0.

   The "E" bit indicates the encoding of the Domain Name field. 1
   indicates canonical wire format, without compression, as described in
   [3], Section 3.1.  This encoding SHOULD be used by clients and MUST
   be supported by servers. 0 indicates a now-deprecated ASCII encoding
   (see Section 2.3.1).  A server MUST use the same encoding as that







Stapp, et al.               Standards Track                     [Page 5]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   used by the client.  A server that does not support the deprecated
   ASCII encoding MUST ignore Client FQDN options that use that
   encoding.

   The remaining bits in the Flags field are reserved for future
   assignment.  DHCP clients and servers that send the Client FQDN
   option MUST clear the MBZ bits, and they MUST ignore these bits.

2.2.  The RCODE Fields

   The two 1-octet RCODE1 and RCODE2 fields are deprecated.  A client
   SHOULD set these to 0 when sending the option and SHOULD ignore them
   on receipt.  A server SHOULD set these to 255 when sending the option
   and MUST ignore them on receipt.

   As this option with these fields is already in wide use, the fields
   are retained.  These fields were originally defined for use by a DHCP
   server to indicate to a DHCP client the Response Code from any A
   (RCODE1) or PTR (RCODE2) RR DNS updates it has performed, or a value
   of 255 was used to indicate that an update had been initiated but had
   not yet completed.  Each of these fields is one octet long.  These
   fields were defined before EDNS0 [13], which describes a mechanism
   for extending the length of a DNS RCODE to 12 bits, which is another
   reason to deprecate them.

   If the client needs to confirm that the DNS update has been done, it
   MAY use a DNS query to check whether the mapping is up to date.
   However, depending on the load on the DHCP and DNS servers and the
   DNS propagation delays, the client can only infer success.  If the
   information is not found to be up to date in DNS, the authoritative
   servers might not have completed the updates or zone transfers, or
   caching resolvers may yet have updated their caches.

2.3.  The Domain Name Field

   The Domain Name part of the option carries all or part of the FQDN of
   a DHCP client.  The data in the Domain Name field SHOULD appear in
   canonical wire format as specified in [3], Section 3.1.  If the DHCP
   client uses the canonical wire format, it MUST set the "E" bit in the
   Flags field to 1.  In order to determine whether the FQDN has changed
   between message exchanges, the client and server MUST NOT alter the
   Domain Name field contents unless the FQDN has actually changed.

   A client MAY be configured with a fully 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 a name that is not fully qualified,
   indicating that it knows part of the name but does not necessarily
   know the zone in which the name is to be embedded.



Stapp, et al.               Standards Track                     [Page 6]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   To send a fully qualified domain name, the Domain Name field is set
   to the DNS-encoded domain name including the terminating zero-length
   label.  To send a partial name, the Domain Name field is set to the
   DNS encoded domain name without the terminating zero-length label.

   A client MAY also leave the Domain Name field empty if it desires the
   server to provide a name.

2.3.1.  Deprecated ASCII Encoding

   A substantial population of clients implemented an earlier draft of
   this specification, which permitted an ASCII encoding of the Domain
   Name field.  Server implementations SHOULD be aware that clients that
   send the Client FQDN option with the "E" bit set to 0 are using an
   ASCII encoding of the Domain Name field.  Servers MAY be prepared to
   return an ASCII-encoded version of the Domain Name field to such
   clients.  Servers that are not prepared to return an ASCII-encoded
   version MUST ignore the Client FQDN option if the "E" bit is 0.  The
   use of ASCII encoding in this option SHOULD be considered deprecated.

   A DHCP client that used ASCII encoding was permitted to suggest a
   single label if it was not configured with a fully qualified name.
   Such clients send a single label as a series of ASCII characters in
   the Domain Name field, excluding the "." (dot) character.

   Clients and servers SHOULD follow the character set rules of [6],
   fourth section ("Assumptions"), first 5 sentences, as modified by
   [7], Section 2.1.  However, implementers SHOULD also be aware that
   some client software may send data intended to be in other character
   sets.  This specification does not require support for other
   character sets.

3.  DHCP Client Behavior

   The following describes the behavior of a DHCP client that implements
   the Client FQDN option.

3.1.  Interaction with Other Options

   Other DHCP options MAY carry data that is related to the Domain Name
   field of the Client FQDN option.  The Host Name option [12], for
   example, contains an ASCII string representation of the client's host
   name.  In general, a client does not need to send redundant data, and
   therefore clients that send the Client FQDN option in their messages
   MUST NOT also send the Host Name option.  Clients that receive both
   the Host Name option and the Client FQDN option from a server SHOULD





Stapp, et al.               Standards Track                     [Page 7]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   prefer Client FQDN option data.  Section 4 instructs servers to
   ignore the Host Name option in client messages that include the
   Client FQDN option.

3.2.  Client Desires to Update A RRs

   If a client that owns/maintains its own FQDN wants to be responsible
   for updating the FQDN-to-IP-address mapping for the FQDN and
   address(es) used by the client, the client MUST include the Client
   FQDN option in the DHCPREQUEST message originated by the client.  A
   DHCP client MAY choose to include the Client FQDN option in its
   DHCPDISCOVER messages as well as its DHCPREQUEST messages.  The "S",
   "O", and "N" bits in the Flags field in the option MUST be 0.

   Once the client's DHCP configuration is completed (the client
   receives a DHCPACK message and successfully completes a final check
   on the parameters passed in the message), the client MAY originate an
   update for the A RR (associated with the client's FQDN) unless the
   server has set the "S" bit to 1.  If the "S" is 1, the DHCP client
   SHOULD NOT initiate an update for the name in the server's returned
   Client FQDN option Domain Name field.  However, a DHCP client that is
   explicitly configured with a FQDN MAY ignore the state of the "S" bit
   if the server's returned name matches the client's configured name.

3.3.  Client Desires Server to Do DNS Updates

   A client can choose to delegate the responsibility for updating the
   FQDN-to-IP-address mapping for the FQDN and address(es) used by the
   client to the server.  In order to inform the server of this choice,
   the client SHOULD include the Client FQDN option in its DHCPREQUEST
   message and MAY include the Client FQDN option in its DHCPDISCOVER.
   The "S" bit in the Flags field in the option MUST be 1, and the "O"
   and "N" bits MUST be 0.

3.4.  Client Desires No Server DNS Updates

   A client can choose to request that the server perform no DNS updates
   on its behalf.  In order to inform the server of this choice, the
   client SHOULD include the Client FQDN option in its DHCPREQUEST
   message and MAY include the Client FQDN option in its DHCPDISCOVER.
   The "N" bit in the Flags field in the option MUST be 1, and the "S"
   and "O" bits MUST be 0.

   Once the client's DHCP configuration is completed (the client
   receives a DHCPACK message and successfully completes a final check
   on the parameters passed in the message), the client MAY originate





Stapp, et al.               Standards Track                     [Page 8]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   its DNS updates provided the server's "N" bit is 1.  If the server's
   "N" bit is 0, the server MAY perform the PTR RR updates; it MAY also
   perform the A RR updates if the "S" bit is 1.

3.5.  Domain Name and DNS Update Issues

   As there is a possibility that the DHCP server is configured to
   complete or replace a domain name that the client sends, the client
   MAY find it useful to send the Client FQDN option in its DHCPDISCOVER
   messages.  If the DHCP server returns different Domain Name data in
   its DHCPOFFER message, the client could use that data in performing
   its own eventual A RR update, or in forming the Client FQDN option
   that it sends in its DHCPREQUEST message.  There is no requirement
   that the client send identical Client FQDN option data in its
   DHCPDISCOVER and DHCPREQUEST messages.  In particular, if a client
   has sent the Client FQDN option to its server, and the configuration
   of the client changes so that its notion of its domain name changes,
   it MAY send the new name data in a Client FQDN option when it
   communicates with the server again.  This MAY cause the DHCP server
   to update the name associated with the PTR record and, if the server
   updated the A record representing the client, to delete that record
   and attempt an update for the client's current domain name.

   A client that delegates the responsibility for updating the FQDN-to-
   IP-address mapping to a server will not receive any indication
   (either positive or negative) from the server as to whether the
   server was able to perform the update.  The client MAY use a DNS
   query to check whether the mapping is up to date (see Section 2.2).

   If a client releases its lease prior to the lease expiration time and
   is responsible for updating its A RR, the client SHOULD delete the A
   RR associated with the leased address before sending a DHCPRELEASE
   message.  Similarly, if a client was responsible for updating its A
   RR, but is unable to renew its lease, the client SHOULD attempt to
   delete the A RR before its lease expires.  A DHCP client that has not
   been able to delete an A RR that it added (because it has lost the
   use of its DHCP IP address) SHOULD attempt to notify its
   administrator, perhaps by emitting a log message.

   A client that desires to perform DNS updates to A RRs SHOULD NOT do
   so if the client's address is a private address [8].










Stapp, et al.               Standards Track                     [Page 9]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


4.  DHCP Server Behavior

   The following describes the behavior of a DHCP server that implements
   the Client FQDN option when the client's message includes the Client
   FQDN option.

   The server examines its configuration and the Flag bits in the
   client's Client FQDN option to determine how to respond:

   o  If the client's "E" bit is 0 and the server does not support ASCII
      encoding (Section 2.3.1), the server SHOULD ignore the Client FQDN
      option.

   o  The server sets to 0 the "S", "O", and "N" bits in its copy of the
      option it will return to the client.  The server copies the
      client's "E" bit.

   o  If the client's "N" bit is 1 and the server's configuration allows
      it to honor the client's request for no server initiated DNS
      updates, the server sets the "N" bit to 1.

   o  Otherwise, if the client's "S" bit is 1 and the server's
      configuration allows it to honor the client's request for the
      server to initiate A RR DNS updates, the server sets the "S" to 1.
      If the server's "S" bit does not match the client's "S" bit, the
      server sets the "O" bit to 1.

   The server MAY be configured to use the name supplied in the client's
   Client FQDN option, or it MAY be configured to modify the supplied
   name or to substitute a different name.  The server SHOULD send its
   notion of the complete FQDN for the client in the Domain Name field.
   The server MAY simply copy the Domain Name field from the Client FQDN
   option that the client sent to the server.  The server MUST use the
   same encoding format (ASCII or DNS binary encoding) that the client
   used in the Client FQDN option in its DHCPDISCOVER or DHCPREQUEST,
   and it MUST set the "E" bit in the option's Flags field accordingly.

   If a client sends both the Client FQDN and Host Name option, the
   server SHOULD ignore the Host Name option.

   The server SHOULD set the RCODE1 and RCODE2 fields to 255 before
   sending the Client FQDN message to the client in a DHCPOFFER or
   DHCPACK.








Stapp, et al.               Standards Track                    [Page 10]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


4.1.  When to Perform DNS Updates

   The server SHOULD NOT perform any DNS updates if the "N" bit is 1 in
   the Flags field of the Client FQDN option in the DHCPACK messages (to
   be) sent to the client.  However, the server SHOULD delete any RRs
   that it previously added via DNS updates for the client.

   The server MAY perform the PTR RR DNS update (unless the "N" bit is
   1).

   The server MAY perform the A RR DNS update if the "S" bit is 1 in the
   Flags field of the Client FQDN option in the DHCPACK message (to be)
   sent to the client.

   The server MAY perform these updates even if the client's DHCPREQUEST
   did not carry the Client FQDN option.  The server MUST NOT initiate
   DNS updates when responding to DHCPDISCOVER messages from a client.

   The server MAY perform its DNS updates (PTR RR or PTR and A RR)
   before or after sending the DHCPACK message to the client.

   If the server's A RR DNS update does not complete until after the
   server has replied to the DHCP client, the server's interaction with
   the DNS server MAY cause the DHCP server to change the domain name
   that it associates with the client.  This can occur, for example, if
   the server detects and resolves a domain-name conflict [10].  In such
   cases, the domain name that the server returns to the DHCP client
   would change between two DHCP exchanges.

   If the server previously performed DNS updates for the client and the
   client's information has not changed, the server MAY skip performing
   additional DNS updates.

   When a server detects that a lease on an address that the server
   leases to a client has expired, the server SHOULD delete any PTR RR
   that it added via DNS update.  In addition, if the server added an A
   RR on the client's behalf, the server SHOULD also delete the A RR.

   When a server terminates a lease on an address prior to the lease's
   expiration time (for instance, by sending a DHCPNAK to a client), the
   server SHOULD delete any PTR RR that it associated with the address
   via DNS update.  In addition, if the server took responsibility for
   an A RR, the server SHOULD also delete that A RR.








Stapp, et al.               Standards Track                    [Page 11]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


5.  DNS RR TTLs

   RRs associated with DHCP clients may be more volatile than statically
   configured RRs.  DHCP clients and servers that perform dynamic
   updates should attempt to specify resource-record TTLs that reflect
   this volatility, in order to minimize the possibility that answers to
   DNS queries will return records that refer to DHCP IP address
   assignments that have expired or been released.

   The coupling among primary, secondary, and caching DNS servers is
   'loose'; that is a fundamental part of the design of the DNS.  This
   looseness makes it impossible to prevent all possible situations in
   which a resolver may return a record reflecting a DHCP-assigned IP
   address that has expired or been released.  In deployment, this
   rarely, if ever, represents a significant problem.  Most DHCP-managed
   clients are infrequently looked up by name in the DNS, and the
   deployment of IXFR ([16]) and NOTIFY ([17]) can reduce the latency
   between updates and their visibility at secondary servers.

   We suggest these basic guidelines for implementers.  In general, the
   TTLs for RRs added as a result of DHCP IP address assignment activity
   SHOULD be less than the initial lease time.  The RR TTL on a DNS
   record added SHOULD NOT exceed 1/3 of the lease time, but SHOULD NOT
   be less than 10 minutes.  We recognize that individual administrators
   will have varying requirements: DHCP servers and clients SHOULD allow
   administrators to configure TTLs and upper and lower bounds on the
   TTL values, either as an absolute time interval or as a percentage of
   the lease time.

   While clients and servers MAY update the TTL of the records as the
   lease is about to expire, there is no requirement that they do so, as
   this puts additional load on the DNS system with likely little
   benefit.

6.  DNS Update Conflicts

   This document does not resolve how a DHCP client or server prevents
   name conflicts.  This document addresses only how a DHCP client and
   server negotiate who will perform the DNS updates and the fully
   qualified domain name requested or used.

   Implementers of this work will need to consider how name conflicts
   will be prevented.  If a DNS updater needs a security token in order
   to successfully perform DNS updates on a specific name, name
   conflicts can only occur if multiple updaters are given a security
   token for that name.  Or, if the fully qualified domains are based on





Stapp, et al.               Standards Track                    [Page 12]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   the specific address bound to a client, conflicts will not occur.
   Or, a name conflict resolution technique as described in "Resolving
   Name Conflicts" [10] SHOULD be used.

7.  IANA Considerations

   IANA has already assigned DHCP option 81 to the Client FQDN option.
   As this document describes the option's use, IANA is requested to
   reference this document for option 81.

8.  Security Considerations

   Unauthenticated updates to the DNS can lead to tremendous confusion,
   through malicious attack or through inadvertent misconfiguration.
   Administrators need to be wary of permitting unsecured DNS updates to
   zones that are exposed to the global Internet.  Both DHCP clients and
   servers should use some form of update request origin authentication
   procedure (e.g., Secure DNS Dynamic Update [14]) when performing DNS
   updates.

   Whether a DHCP client is responsible for updating an FQDN-to-IP-
   address mapping or whether this is the responsibility of the DHCP
   server is a site-local matter.  The choice between the two
   alternatives is likely based on the security model that is used with
   the 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 of an individual DHCP client, is
   also a site-local matter.  The choice between the two alternatives is
   likely based on the security model that is being used with DNS
   updates.  In cases where a DHCP server is performing DNS updates on
   behalf of a client, the DHCP server should be sure of the DNS name to
   use for the client, and of the identity of the client.

   Currently, it is difficult for DHCP servers to develop much
   confidence in the identities of its clients, given the absence of
   entity 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 DHCP Authentication
   [15] becomes widely deployed, this may become more customary.

   One example of a situation that offers some extra assurances is when
   the DHCP client is connected to a network through an Multimedia Cable
   Network System (MCNS) cable modem, and the cable modem termination



Stapp, et al.               Standards Track                    [Page 13]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   system (CMTS), i.e., head-end, 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.

   It is critical to implement proper conflict resolution, and the
   security considerations of conflict resolution apply [10].

9.  Acknowledgements

   Many thanks to Mark Beyer, Jim Bound, Ralph Droms, Robert Elz, Peter
   Ford, Olafur Gudmundsson, Edie Gunter, Andreas Gustafsson, David W.
   Hankins, R. Barr Hibbs, Kim Kinnear, Stuart Kwan, Ted Lemon, Ed
   Lewis, Michael Lewis, Josh Littlefield, Michael Patton, Pekka Savola,
   Jyrki Soini, and Glenn Stump for their review and comments.

10.  References

10.1.  Normative References

   [1]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", BCP 14, RFC 2119, March 1997.

   [2]   Mockapetris, P., "Domain names - concepts and facilities",
         STD 13, RFC 1034, November 1987.

   [3]   Mockapetris, P., "Domain names - implementation and
         specification", STD 13, RFC 1035, November 1987.

   [4]   Vixie, P., Thomson, S., Rekhter, Y., and J. Bound, "Dynamic
         Updates in the Domain Name System (DNS UPDATE)", RFC 2136,
         April 1997.

   [5]   Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
         March 1997.

   [6]   Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet host
         table specification", RFC 952, October 1985.

   [7]   Braden, R., "Requirements for Internet Hosts - Application and
         Support", STD 3, RFC 1123, October 1989.



Stapp, et al.               Standards Track                    [Page 14]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


   [8]   Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and E.
         Lear, "Address Allocation for Private Internets", BCP 5,
         RFC 1918, February 1996.

   [9]   Lemon, T. and S. Cheshire, "Encoding Long Options in the
         Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
         November 2002.

   [10]  Stapp, M. and B. Volz, "Resolution of Fully Qualified Domain
         Name (FQDN) Conflicts among Dynamic Host Configuration Protocol
         (DHCP) Clients", RFC 4703, October 2006.

10.2.  Informative References

   [11]  Marine, A., Reynolds, J., and G. Malkin, "FYI on Questions and
         Answers - Answers to Commonly asked "New Internet User"
         Questions", FYI 4, RFC 1594, March 1994.

   [12]  Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
         Extensions", RFC 2132, March 1997.

   [13]  Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC 2671,
         August 1999.

   [14]  Wellington, B., "Secure Domain Name System (DNS) Dynamic
         Update", RFC 3007, November 2000.

   [15]  Droms, R. and W. Arbaugh, "Authentication for DHCP Messages",
         RFC 3118, June 2001.

   [16]  Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995,
         August 1996.

   [17]  Vixie, P., "A Mechanism for Prompt Notification of Zone Changes
         (DNS NOTIFY)", RFC 1996, August 1996.
















Stapp, et al.               Standards Track                    [Page 15]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


Authors' Addresses

   Mark Stapp
   Cisco Systems, Inc.
   1414 Massachusetts Ave.
   Boxborough, MA  01719
   USA

   Phone: 978.936.1535
   EMail: mjs@cisco.com


   Bernie Volz
   Cisco Systems, Inc.
   1414 Massachusetts Ave.
   Boxborough, MA  01719
   USA

   Phone: 978.936.0382
   EMail: volz@cisco.com


   Yakov Rekhter
   Juniper Networks
   1194 North Mathilda Avenue
   Sunnyvale, CA  94089
   USA

   Phone: 408.745.2000
   EMail: yakov@juniper.net





















Stapp, et al.               Standards Track                    [Page 16]
^L
RFC 4702              The DHCP Client FQDN Option           October 2006


Full Copyright Statement

   Copyright (C) The Internet Society (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).







Stapp, et al.               Standards Track                    [Page 17]
^L