]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / contrib / bind9 / doc / draft / draft-park-ipv6-extensions-dns-pnp-00.txt
1   
2   
3   
4   INTERNET-DRAFT                                       S. Daniel Park
5   Expires: October 2003                              Syam Madanapalli
6   File:                                           SAMSUNG Electronics
7   draft-park-ipv6-extensions-dns-pnp-00.txt                April 2003
8   
9   
10   
11   
12                  IPv6 Extensions for DNS Plug and Play
13   
14   
15   
16   Status of This Memo   
17   
18   This document is an Internet-Draft and is in full conformance with
19   all provisions of Section 10 of RFC2026.
20
21   Internet-Drafts are working documents of the Internet Engineering
22   Task Force (IETF), its areas, and its working groups. Note that
23   other groups may also distribute working documents as
24   Internet-Drafts.
25
26   Internet-Drafts are draft documents valid for a maximum of six
27   months and may be updated, replaced, or obsoleted by other
28   documents at any time. It is inappropriate to use Internet-Drafts
29   as reference material or to cite them other than as "work in
30   progress."
31
32   The list of current Internet-Drafts can be accessed at
33   http://www.ietf.org/ietf/1id-abstracts.txt
34
35   The list of Internet-Draft Shadow Directories can be accessed at
36   http://www.ietf.org/shadow.html.
37   
38   
39   
40   Abstract  
41   
42   This document proposes automatic configuration of domain name (FQDN)
43   for IPv6 nodes using Domain Name Auto-Configuration (called 6DNAC) as
44   a part of IPv6 plug and play feature. 6DNAC allows the automatic
45   registration of domain name and corresponding IPv6 Addresses with
46   the DNS server. In order to provide 6DNAC function, Neighbor Discovery
47   Protocol [2461] will be used. Moreover, 6DNAC does not require any
48   changes to the existing DNS system.
49   
50   
51   Table of Contents 
52   
53   1.       Introduction .............................................  3
54   2.       Terminology ..............................................  3
55   3.       6DNAC Design Principles ..................................  4
56   4.       6DNAC Overview ...........................................  4
57   5.       6DNAC Requirements .......................................  5
58   5.1.     6DANR Client Requirements ................................  5
59   5.2.     6DNAC Server Requirements ................................  6
60     
61 Park & Madanapalli             Expires October 2003             [Page 1]
62 \f
63 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003    
64     
65   6.       6DNAC Messages and Option Formats ........................  6
66   6.1.     Router Advertisement (RA) Message Format .................  6
67   6.2.     Neighbor Solicitation (NS) Message Format ................  7
68   6.3.     Neighbor Advertisement (NA) Message Format ...............  8
69   6.4.     Option Formats ...........................................  8
70   6.4.1.   DNS Zone Suffix Information Option Format ................  8
71   6.4.2.   Domain Name (FQDN) Option Format .........................  9
72   6.4.3.   Router Alert Option for 6DNAC ............................ 10
73   7.       6DNAC Operation .......................................... 10
74   7.1.     6DNAC Network Topology ................................... 11
75   7.2.     6DNAC Operational Scenarios .............................. 12
76   7.2.1.   Domain Name Registration-Success Case .................... 12
77   7.2.2.   Domain Name Registration-with DupAddrDetectTransmits=2.... 14
78   7.2.3.   Domain Name Registration-Defend Case ..................... 16
79   7.2.4.   Domain Name Registration in Retry Mode ................... 19
80   7.2.5.   Domain Name Registration when DAD Fails .................. 20
81   7.3.     DNS Zone Suffix Discovery and FQDN Construction .......... 22
82   7.3.1.   Sending Router Advertisement Messages .................... 22
83   7.3.2.   Processing Router Advertisement Messages ................. 22
84   7.3.3.   FQDN Lifetime expiry ..................................... 23
85   7.3.4.   Host Naming Algorithm .................................... 23
86   7.4.     Duplicate Domain Name Detection .......................... 23
87   7.4.1.   DAD with All Nodes Multicast Address ..................... 24
88   7.4.1.1. Sending Neighbor Solicitation Messages ................... 24
89   7.4.1.2. Processing Neighbor Solicitation Messages ................ 24
90   7.4.1.3. Sending Neighbor Advertisement Messages .................. 25
91   7.4.1.4. Processing Neighbor Advertisement Messages ............... 25
92   7.4.1.5. Pros and Cons ............................................ 25
93   7.4.2.   DAD with Router Alert Option for 6DNAC ................... 25
94   7.4.2.1. Sending Neighbor Solicitation Messages ................... 25
95   7.4.2.2. Processing Neighbor Solicitation Messages ................ 26
96   7.4.2.3. Sending Neighbor Advertisement Messages .................. 26
97   7.4.2.4. Processing Neighbor Advertisement Messages ............... 26
98   7.4.2.5. Pros and Cons ............................................ 26
99   7.4.3.   Explicit Detection of Duplicate Domain Name .............. 26
100   7.4.3.1. Sending Neighbor Solicitation Messages ................... 26
101   7.4.3.2. Processing Neighbor Solicitation Messages ................ 26
102   7.4.3.3. Sending Neighbor Advertisement Messages .................. 27
103   7.4.3.4. Processing Neighbor Advertisement Messages ............... 27
104   7.4.3.5. Pros and Cons ............................................ 27
105   7.4.4.   Retry Mode for Re-registering Domain Name ................ 27
106   7.5.     Domain Name Registration ................................. 27
107   8.       Security Consideration ................................... 27
108   9.       IANA Consideration ....................................... 28
109   10.      Acknowledgement .......................................... 28
110   11.      Intellectual Property .................................... 28
111   12.      Copyright ................................................ 28
112   13.      References ............................................... 29
113   14.      Author's Addresses ....................................... 30
114
115
116
117
118
119
120
121
122 Park & Madanapalli             Expires October 2003             [Page 2]
123 \f
124 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003  
125   
126   1. Introduction 
127   
128   Today, most networks use DNS[1034][1035] for convenience. In case of
129   IPv6, DNS is more important element because of IPv6 long addresses
130   which are difficult to remember. In addition, small networks like home
131   networks using IPv6, should be able to make network easily without
132   manual configuration. Also, these small networks may not have DHCP
133   Server, DNS Server etc. that are used to configure the network. This
134   document discusses IPv6 Domain Name Auto-Configuration(6DNAC) procedure
135   for generating and registering the Domain Name and IPv6 addresses with
136   the DNS Server automatically. In order to use 6DNAC, IPv6 nodes are
137   required to implement lightweight functions specified in this document.
138   6DNAC can be applied to all defined IPv6 unicast addresses except Link
139   local IPv6 addresses, viz: Site-local and Global addresses.
140   
141   6DNAC uses Neighbor Discovery Protocol [2461] with new additions
142   (defined in section 6) and DAD procedures for generating and 
143   registering the Domain Name with the DNS server automatically.
144   
145   
146   2. Terminology
147
148   6DNAC         - IPv6 Domain Name Auto Configuration. It can provide
149                   IPv6 hosts with Domain Name Generation and 
150                   Registration automatically.
151   
152   6DNAC Client  - An IPv6 node that can generate its own unique Domain
153                   Name. Section 3 identifies the new requirements that
154                   6DNAC places on an IPv6 node to be a 6DNAC node.
155                   
156   6DNAC Server  - An IPv6 node that can collect and registrate Domain
157                   Name and IPv6 addresses automatically. 6DNAC server
158                   uses the information from the DAD operation messages
159                   with newly defined options for the registration of the 
160                   Domain Name and IPv6 Addresses. Section 3 identifies
161                   the new requirements that 6DNAC places on an IPv6 
162                   node to be a 6DNAC server. Also 6DNAC server can have 
163                   various other functions depending on network 
164                   environment and the network operator. For instance 
165                   6DNAC Server can acts as a Gateway as well Home Server
166                   in Home Networks.
167  
168   DAD           - Duplicate Address Detection (is defined [2461]) 
169   
170   DFQDND        - Duplicate Domain Name Detection
171
172   FQDN          - Fully Qualified Domain Name - FQDN and Domain Name are 
173                   used interchangeably in this document.
174   
175   NA            - Neighbor Advertisement message (is defined [2461]) 
176   
177   NS            - Neighbor Solicitation message (is defined [2461])
178
179   RA            - Router Advertisement message (is defined [2461]) 
180
181   SLAAC         - Stateless Address Autoconfiguration [2462].
182
183 Park & Madanapalli             Expires October 2003             [Page 3]
184 \f
185 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003  
186   
187   3. 6DNAC Design Principles
188   
189   This section discusses the design principles of 6DNAC mechanism.
190   
191   1. The new procedures for plug and play DNS should not cause changes
192      to existing DNS system. 6DNAC requires lightweight functions to be 
193      implemented only at the client side of the DNS system, and uses the 
194      existing DDNS UPDATE [2136] to communicate with DNS Servers.
195   
196   2. Introducing a new protocol will always introduce new problems. 
197      6DNAC uses the existing protocols NDP [2461] with minor extensions 
198      for generating and registering the domain name automatically 
199      without defining a new protocol
200   
201   3. Reusing proven and well understood design principles/patterns 
202      will always yield a robust system. 6DNAC is based on IPv6 Address 
203      Auotoconfiguration principle, where routers advertise the prefix
204      and host adds the interface ID to the prefix and forms the IPv6 
205      address. Domain Name (FQDN) also contains two parts: host name 
206      and DNS zone suffix. Routers can advertise the DNS zone suffix 
207      on a particular link in Router Advertisements (RA Messages) and 
208      hosts can prefix their preferred host name to the DNS zone suffix
209      and form the fully qualified domain name. Also the detection of
210      duplicate domain name is similar to Duplicate Address Detection
211      (DAD) and can be part of DAD operation itself.
212   
213   
214   4. 6DNAC Overview
215   
216   6DNAC proposes minor extensions to NDP [2461] for automatic generation
217   and registration of domain name with the DNS server. It introduces two
218   new options: DNS Zone Suffix and Fully Qualified Domain Name. DNS Zone
219   Suffix option is carried in Router Advertisement (RA) messages for
220   notifying IPv6 nodes about the valid DNS Zone Suffix on the link and
221   FQDN option in Neighbor Solicitation (NS) and Neighbor Advertisement
222   (NA) messages to detect duplicate domain name. 6DNAC consists of two
223   components: 6DNAC Client and 6DNAC Server. 6DNAC Clients generate the
224   domain name based on DNS Zone Suffix using Host Naming Algorithm (see
225   section 7.3.1) and 6DNAC Server collects and registers the DNS
226   information with the DNS Server on behalf of 6DNAC Clients.
227
228   The automatic configuration of domain name using 6DNAC consists of
229   three parts.
230
231      - DNS Zone Suffix Discovery and FQDN Construction:
232
233        IPv6 Nodes collect DNS Zone Suffix information from Router
234        Advertisements and constructs FQDN by prefixing host name to the
235        DNS Zone Suffix. The IPv6 Nodes are required to implement Host 
236        Naming Algorithm for generating host part of the FQDN in the 
237        absence of administrator.
238
239   Generation of node's FQDN within the node itself has advantages. Nodes
240   can provide forward and reverse name lookups independent of the DNS
241   System by sending queries directly to IPv6 nodes [NIQ]. Moreover Domain
242   Name is some thing that is owned by the node.
243
244 Park & Madanapalli             Expires October 2003             [Page 4]
245 \f
246 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
247   
248      - Duplicate Domain Name Detection
249
250        All nodes are expected to go for DAD for all new IPv6 unicast
251        addresses, regardless of whether they are obtained through 
252        stateful, stateless or manual configuration. 6DNAC uses the DAD 
253        messages with new option for carrying the Domain Name along with 
254        the new IPv6 Address. 6DNAC Server captures this information and
255        updates DNS Server provided that the IPv6 Address and its domain
256        name are not duplicate. If the domain name is already in use, 
257        the 6DNAC server replies to the sender with FQDN Option in NA 
258        message indicating that the domain name is duplicate. Then the
259        node is expected to generate another domain name using host 
260        naming algorithm and go for DAD. This time the DAD is only for
261        duplicate domain name detection (DFQDND). In order to avoid
262        confusion with the normal NDP processing, the target address 
263        field of the NS message must carry the unspecified address 
264        in retry mode.  This can be repeated depending on number of
265        retries defined by the administrator in the host naming algorithm.
266
267   
268      - Domain Name Registration
269
270        6DNAC Server detects the DNS information (IPv6 Address and 
271        corresponding FQDN) from DAD/DFQDND messages and updates DNS 
272        Server using existing protocol DDNS UPDATE [2136] provided that
273        the IPv6 Address and its domain name are not duplicate.
274   
275   If an IPv6 Address is duplicate, the IPv6 node cannot perform
276   stateless address autoconfiguration repeatedly. Unlike IPv6 stateless 
277   address autoconfiguration, 6DNAC allows the automatic configuration of
278   domain name repeatedly if the domain name is duplicate depending on 
279   number of retries defined by the administrator in the host naming 
280   algorithm.
281   
282   
283   5. 6DNAC Requirements 
284   
285   Depending on the 6DNAC functionality, the IPv6 nodes implement, they
286   are called either 6DNAC Clients or 6DNAC Servers. The following 
287   sections lists the requirements that the 6DNAC Client and 6DNAC server
288   must support.
289    
290    
291   5.1. 6DANC Client Requirements
292   
293         - 6DNAC Client must recognize and process the following NDP 
294           extensions
295
296               - DNS Zone Suffix option in RA messages for generating its
297                 domain name (FQDN).
298
299               - Domain Name option in NS and NA messages for detecting 
300                 the duplicate domain name
301  
302  
303  
304
305 Park & Madanapalli             Expires October 2003             [Page 5]
306 \f
307 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003 
308   
309         - It must generate its domain name (FQDN) based on the DNS 
310           suffix that it got from the router advertisement. And it must 
311           have a host naming algorithm for generating the host part of
312           the FQDN.
313
314         - If NA message is received with unspecified target address and
315           FQDN option, then the node must treat that the domain is 
316           duplicate.
317   
318   
319   5.2. 6DNAC Server Requirements
320   
321         - 6DNAC Server must recognize and process the following NDP
322           extensions
323       
324               - If the 6DNAC Server is a router on the link, then it
325                 must advertise DNS Zone Suffix option in RA messages
326                 for hosts to generate their domain name (FQDN).
327
328               - FQDN option in NS messages for detecting new DNS
329                 information for of nodes on the link for which it
330                 must update the AAAA RR and PTR RR in DNS Server.
331
332               - FQDN option in NA messages for notifying duplicate
333                 domain name with unspecified target address.
334   
335         - 6DNAC server must update the DNS Server (both AAAA RR and
336           PTR RR) dynamically using DDNS UPDATE [2136].
337   
338         - 6DNAC server must cache this (newly detected) FQDN, Link
339           Layer Address, and IPv6 Address information, so that it can
340           decide whether it really needs to update DNS Server or not,
341           to avoid redundant updates. This information will also be
342           used for notifying the duplicate domain name.
343   
344   
345   6. 6DNAC Messages and Option Formats
346   
347   In order to achieve the plug and play DNS, 6DNAC proposes new 
348   extensions to the NDP [2461]. This section specifies the new
349   additions to NDP messages and formats of new options.
350   
351   
352   6.1. Router Advertisement (RA) Message Format
353   
354   Routers send out Router Advertisement (RA) message periodically, or
355   in response to a Router Solicitation. 6DNAC does not modify the format
356   of the RA message, but proposes new option (DNS Zone Suffix Information)
357   to be carried in RA messages.
358
359
360
361
362
363
364
365
366 Park & Madanapalli             Expires October 2003             [Page 6]
367 \f
368 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
369   
370       0                   1                   2                   3
371       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
372      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
373      |     Type      |     Code      |          Checksum             |
374      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
375      | Cur Hop Limit |M|O|  Reserved |       Router Lifetime         |
376      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
377      |                         Reachable Time                        |
378      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
379      |                          Retrans Timer                        |
380      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
381      |   Options ...                                                 |
382      /                                                               /
383      |                  DNS Zone Suffix Information                  |
384      |                                                               |
385      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
386   
387   
388                           <Figure: 1 RA message>
389   
390   
391   
392   6.2. Neighbor Solicitation (NS) Message Format 
393   
394   6DNAC does not modify the format of the Neighbor Solicitation (NS)
395   message, but proposes new option (FQDN Option) to be carried in NS
396   messages. When a node is going for DAD, the node must include FQDN
397   option in NS message to participate in plug and play DNS. If the
398   node is going for Explicit Detection of Duplicate Domain Name, the
399   node must use FQDN option in NS message and unspecified address in
400   the target address field.
401   
402   
403       0                   1                   2                   3 
404       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
405      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
406      |     Type      |     Code      |          Checksum             |
407      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
408      |                           Reserved                            |
409      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
410      |                                                               |
411      +                                                               +
412      |                                                               |
413      +                       Target Address                          +
414      |                                                               |
415      +                                                               +
416      |                                                               |
417      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
418      |   Options ...                                                 |
419      /                                                               /
420      |                         Domain Name                           |
421      |                                                               |
422      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
423   
424   
425                          <Figure: 2 NS message>
426   
427 Park & Madanapalli             Expires October 2003             [Page 7]
428 \f
429 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003  
430   
431   6.3. Neighbor Advertisement (NA) Message Format 
432   
433   6DNAC does not modify the format of the Neighbor Advertisement (NA)
434   message, but proposes new option (FQDN Option) to be carried in NA
435   messages. 6DNAC Server sends NA message with FQDN option to 6DNAC
436   Client that is performing duplicate domain name detection in case
437   the domain name found to be duplicate.
438
439       0                   1                   2                   3
440       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
441      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
442      |     Type      |     Code      |          Checksum             |
443      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
444      |R|S|O|                     Reserved                            |
445      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
446      |                                                               |
447      +                                                               +
448      |                                                               |
449      +                       Target Address                          +
450      |                                                               |
451      +                                                               +
452      |                                                               |
453      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
454      |   Options ...                                                 |
455      /                                                               /
456      |                         FQDN Option                           |
457      |                                                               |
458      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
459   
460   
461                           <Figure: 3 NA message> 
462   
463   
464   6.4 Option Formats
465   
466   6.4.1. DNS Zone Suffix Information Option Format
467   
468   IPv6 nodes require DNS Zone Suffix for constructing their FQDN.
469   6DNAC introduces new option for routers to advertise the DNS Zone
470   Suffix Information for IPv6 nodes on the link. The suffix information
471   should be configured into routers manually.
472
473       0                   1                   2                   3
474       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
475      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
476      |     Type      |    Length     |          Reserved             |
477      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
478      |                          Valid Lifetime                       |
479      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
480      |                                                               |
481      /                       DNS Zone Suffix                         /
482      |                                                               |
483      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
484   
485   
486                    <Figure: 4 DNS Zone Suffix Information>
487
488 Park & Madanapalli             Expires October 2003             [Page 8]
489 \f
490 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003  
491   
492   Type              [TBD]
493   
494   Length            8-bit unsigned integer. The length of the option
495                     (including the type and length fields) in units of
496                     8 octets.
497   
498   Reserved          This field is unused. It must be initialized to zero
499                     by the sender and must be ignored by the receiver.
500   
501   Valid Life Time   32-bit signed integer.  The maximum time, in 
502                     seconds, over which this suffix is valid. Nodes 
503                     should treat this as the life time for their domain
504                     name. Nodes should contact the source of this
505                     information before expiry of this time interval.
506                     A value of all one bits (0xFFFFFFFF) represents
507                     infinity.
508   
509   DNS Zone Suffix   The suffix part of the FQDN. The data in the DNS 
510                     Zone Suffix field should be encoded according to 
511                     DNS encoding rules specified in [1035].
512   
513   
514   
515   6.4.2. Domain Name (FQDN) Option Format
516   
517   
518       0                   1                   2                   3
519       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
520      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
521      |     Type      |    Length     |          Reserved             |
522      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
523      |                          Valid Lifetime                       |
524      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
525      |                                                               |
526      +                                                               +
527      |                                                               |
528      +                       FQDN Target Address                     +
529      |                                                               |
530      +                                                               +
531      |                                                               |
532      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
533      |                                                               |
534      /                         Domain Name                           /
535      |                                                               |
536      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
537   
538   
539                       <Figure: 5 FQDN Information>
540   
541   Type                 [TBD]
542   
543   Length               8-bit unsigned integer. The length of the option
544                        (including the type and length fields) in units 
545                        of 8 octets.  It must be greater than 3.
546                        
547                        
548
549 Park & Madanapalli             Expires October 2003             [Page 9]
550 \f
551 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003                       
552   
553   Reserved             This field is unused. It must be initialized to
554                        zero by the sender and must be ignored by the
555                        receiver.
556   
557   Valid Life Time      32-bit signed integer.  The maximum time, in 
558                        seconds, over which this domain name is valid
559                        6DNAC should deregister this domain name at
560                        the expiry of this interval. 6DNAC clients
561                        should send updates by the expiry of this 
562                        interval. A value of all one bits (0xFFFFFFFF)
563                        represents infinity.
564
565   FQDN Target Address  The Address for which the FQDN maps to.  It 
566                        should be same as Target Address field of the 
567                        NS message in case of DAD & duplicate FQDN are
568                        running in parallel.
569
570   Domain Name          The domain name (FQDN) of the node. The data in
571                        the domain name should be encoded according to
572                        DNS encoding rules specified in [1035].
573   
574   
575   6.4.3. Router Alert Option for 6DNAC
576
577   Router Alert Option for 6DNAC is new option within the IPv6 Hop-by-Hop
578   Header for using in NDP messages.  The presence of this option in NS
579   message informs the router that this NS message is carrying Domain
580   Name information and must be processed by the 6DNAC Server on the router.
581   6DNAC Clients can use this option for sending DAD packets instead
582   of addressing the DAD packets to the all-nodes multicast address
583   when 6DNAC Server is implemented on router.
584  
585   The Router Alert option has the following format:
586
587   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
588   |0 0 0|0 0 1 0 1|0 0 0 0 0 0 1 0|        Value (2 octets)       |
589   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
590                      Length = 2
591
592   Values are registered and maintained by the IANA. For 6DNAC, the 
593   value has to be assigned by IANA.
594
595   Further information about this option can be obtained from 
596   IPv6 Router Alert Option [2711].
597
598
599   7. 6DNAC Operation
600   
601   6DNAC provides mechanisms for automatic generation of domain name
602   and registering it with the DNS Server for IPv6 nodes. 6DNAC consists
603   of two components: 6DNAC Client and 6DNAC Server. All nodes that want
604   to participate in plug and play DNS are required to implement 6DNAC
605   Client functionality, and one of the IPv6 nodes is required to 
606   implement 6DNAC Server functionality. The IPv6 node that implements 
607   the 6DNAC Server functionality must know the location of the DNS 
608   Server and must be a trusted node to send DDNS UPDATE [2136] messages.
609
610 Park & Madanapalli             Expires October 2003            [Page 10]
611 \f
612 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003  
613   
614   7.1. 6DNAC Network Topology
615   
616   This section identifies the possible locations for the 6DNAC Server.
617   Note that, all nodes are required to implement 6DNAC Client 
618   functionality for constructing the domain name from the DNS Zone 
619   Suffix Information advertised by the router.  Figure 6 illustrates 
620   IPv6 host (H4) implementing 6DNAC Server functionality. In this case 
621   H4 can serve only one link (that it belongs to) for automatic 
622   registration of domain name. H4 must observe the DAD packets on the 
623   link to detect the DNS information, this requires all nodes on the 
624   link must belong to same solicited node multicast address. In general,
625   this may not be the case. So the node that is going for DAD must use
626   all nodes multicast address for DAD packets, so that the 6DNAC Server
627   (H4) can observe the DAD packets, detects IPv6 address and 
628   corresponding domain name, checks if this domain name is duplicate 
629   and finally registers the domain name with the DNS Server.
630  
631   
632                           6DNAC Server
633       +---+                   +---+                     +----------+
634       | H1|                   | H4|<--- DDNS UPDATE --->|DNS Server|
635       +-+-+                   +-+-+                     +----+-----+
636         |                       |           +----+       +---/
637         |                       |           |    |      /
638      ---+-----+-----------+-----+-----------+ R1 +-----+
639               |           |                 |    |
640               |           |                 +----+
641             +-+-+       +-+-+
642             | H2|       | H3|
643             +---+       +---+
644   
645   
646   H1, H2, H3 - 6DNAC Clients
647   H4         - 6DNAC Server
648   R1         - Router
649   
650   
651                   <Figure: 6 Example of 6DNAC Topology>
652   
653   
654   Figure 7 shows the 6DNAC Server implemented on a router R1. In this
655   case a single 6DNAC server can serve multiple links for automatic
656   configuration of the domain name. This topology also has flexibility
657   of using DAD packets with Router Alert option instead of sending DAD
658   packets to all nodes multicast address. The routers are required to
659   process all the packets with Router Alert option as per [2711].
660
661   In case of Home Networks, R1 is will acts as a Home Gateway (CPE)
662   connected to ISP. R1 delegates the prefix from the ISP edge router.
663   After delegating the prefix the CPE can advertise the DNS Zone suffix
664   along with the prefix information to the nodes on the links to which
665   the router is connected to. Note that the R1 must be configured with
666   the DNS Zone suffix Information manually. 
667
668
669
670
671 Park & Madanapalli             Expires October 2003            [Page 11]
672 \f
673 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
674   
675                          +---+       +---+ 
676                          | H3+       | H4|
677                          +-+-+       +-+-+
678                            |           |
679                            |   LINK2   |
680       +---+             ---+--------+--+--          +----------+
681       | H1|                         |               |DNS Server|
682       +-+-+                         |               +----+-----+
683         |                        +--+-+           -------/
684         |         LINK 1         |    |          /
685      ---+-----+------------------+ R1 +---------+
686               |                  |    |      DDNS UPDATE
687               |                  +----+
688             +-+-+             6DNAC Server
689             | H2|
690             +---+
691   
692   
693   H1, H2 - 6DNAC Clients on Link1
694   H3, H4 - 6DNAC Clients on Link2
695   R1     - Router with 6DNAC Server, serving both Link1 and Link2
696   
697   
698        <Figure: 7 Example of 6DNAC Server serving multiple links>
699   
700   
701   7.2. 6DNAC Operational Scenarios
702   
703   This section provides message sequence charts for various 6DNAC
704   operational scenarios assuming that the 6DNAC Server is implemented
705   on a router. All the scenarios assume that the normal boot up time
706   stateless address autoconfiguration of Link Local address derived
707   from the Interface Identifier has been completed successfully. And
708   it is also assumed that the router is already configured with the
709   DNS Zone Suffix Information.
710
711   
712   Legend:
713   
714   6DNAC-A, B, C  : 6DNAC Clients
715   6DNAC-S        : 6DNAC Server/Router
716   DAD            : Duplicate Address Detection
717   DFQDND         : Duplicate Domain Name Detection
718   DNS-S          : DNS Server
719   
720   
721   7.2.1. Domain Name Registration-Successful Case 
722
723   This scenario starts when a 6DNAC Client receives RA message with
724   DNS Zone Suffix and other parameters including address prefix as
725   specified in NDP [2461] and wants configure its IPv6 address (Global
726   or Site Local) and domain name. It is Assumed that the 
727   DupAddrDetectTransmits is set to 1.
728
729
730
731
732 Park & Madanapalli             Expires October 2003            [Page 12]
733 \f
734 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
735   
736    +---------+      +---------+      +---------+
737    | 6DNAC-C |      | 6DNAC-S |      |  DNS-S  |
738    +----+----+      +----+----+      +----+----+
739         |                |                |
740         |     RA with    |                |
741         | DNS Suffix Opt |                |
742         |<---------------|                |
743         |       #1       |                |
744         |---+            |                |
745   Construct |#2          |                |
746     FQDN    |            |                |
747         |<--+            |                |
748 DAD/DFQDND Starts        |                |
749         |                |                |
750         |                |                |
751         |    NS With     |                |
752         |    FQDN Opt    |                |
753         |--------------->|                |
754         |       #3       |                |
755         |                |                |
756         |                |------+         |
757         |          Create FQDN  | #4      |
758         |            <FQDN,C>   |         |
759         |                |<-----+         |
760         |                |                |
761         |                |  Register FQDN |
762         |                |--------------->|
763         |                |       #5       |
764         |   #6           |                |
765         |--------+       |                |
766    No Response   |       |                |
767   DFQDND-Success |       |                |
768         |<-------+       |                |
769         |                |                |
770         |                |                |
771         v                V                v  
772
773
774           <Figure: 8 Domain Name Generation and Registration>
775            
776   
777   #1. 6DNAC Server (Router) sends out router advertisement with DNS
778       Suffix information along with other parameters as specified in
779       NDP [2461].
780   
781   #2. 6DNAC Client processes the router advertisement and constructs
782       the FQDN by prefixing hostname to the DNS Zone Suffix. It also
783       constructs IPv6 address from the autoconfiguration prefix
784       information option.
785
786   #3. 6DNAC Client starts duplicate address & FQDN detection for the
787       IPv6 address & FQDN constructed and sends out a Neighbor
788       Solicitation message with FQDN option. 
789
790       Note that the DAD packets must be addressed to all nodes multicast
791       address if Router Alert option is not used. 
792       
793 Park & Madanapalli             Expires October 2003            [Page 13]
794 \f
795 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003          
796
797   #4. 6DNAC Server processes the Neighbor Solicitation message sent by
798       6DNAC Client as part of duplicate FQDN detection procedure and
799       creates a FQDN entry in its FQDN Cache (assuming that there is no
800       entry <FQDN,C>), where C is Link Layer Address of the 6DNAC Client.
801
802   #5.  6DNAC Server then registers FQDN and corresponding IPv6 address
803        through the existing protocol DDNS UPDATE.
804
805   #6.  6DNAC Client times out and observes that there is no response to
806        defend its duplicate FQDN detection procedure and the node is
807        successful in configuring its domain name.
808   
809   Note that, Stateless Address Autoconfiguration DAD procedure is not
810   depicted in the following message sequence chart, which simultaneously
811   happens along with duplicate FQDN detection.
812   
813
814   7.2.2. Domain Name Registration-with DupAddrDetectTransmits=2 
815
816   This scenario starts when a 6DNAC Client receives RA message with
817   DNS Zone Suffix and other parameters including address prefix as
818   specified in NDP [2461] and wants configure its IPv6 address (Global
819   or Site Local) and domain name. The node is configured with 
820   DupAddrDetectTransmits = 2 for reliability in delivering DAD messages.
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 Park & Madanapalli             Expires October 2003            [Page 14]
855 \f
856 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003 
857
858    +---------+      +---------+      +---------+
859    | 6DNAC-C |      | 6DNAC-S |      |  DNS-S  |
860    +----+----+      +----+----+      +----+----+
861         |                |                |
862         |     RA with    |                |
863         | DNS Suffix Opt |                |
864         |<---------------|                |
865         |       #1       |                |
866         |---+            |                |
867   Construct |#2          |                |
868     FQDN    |            |                |
869         |<--+            |                |
870 DAD/DFQDND Starts        |                |
871         |                |                |
872         |                |                |
873         |    NS With     |                |
874         |    FQDN Opt    |                |
875         |--------------->|                |
876         |       #3       |                |
877         |                |                |
878         |                |------+         |
879         |          Create FQDN  | #4      |
880         |            <FQDN,C>   |         |
881         |                |<-----+         |
882         |                |                |
883         |                |  Register FQDN |
884         |                |--------------->|
885         |                |       #5       |
886         |    NS With     |                |
887         |    FQDN Opt    |                |
888         |--------------->|                |
889         |      #6        |                |
890         |                |                |
891         |          Lookup FQDN            |
892         |          Entry exists           |
893         |                |------+         |
894         |             Ignore    | #7      |
895         |                |<-----+         |
896         |   #8           |                |
897         |--------+       |                |
898    No Response   |       |                |
899   DFQDND-Success |       |                |
900         |<-------+       |                |
901         |                |                |
902         |                |                |
903         v                V                v  
904
905   
906   
907             <Figure: 9 Verification of duplicated Domain Name>
908
909
910   Steps from #1 to #5 are same as that of scenario.7.2.1.
911   
912   #6. 6DNAC Client sends out second Neighbor Solicitation message with
913       FQDN option as part of duplicate FQDN detection.
914       
915 Park & Madanapalli             Expires October 2003            [Page 15]
916 \f
917 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003      
918
919   #7. 6DNAC Server receives and observes that the FQDN Cache exactly
920       matches with that of the NS information and ignores the NS message.
921
922   #8. 6DNAC Client times out and observes that there is no response to
923       defend its duplicate FQDN detection procedure and the node is
924       successful in configuring its domain name..
925
926   
927   7.2.3. Domain Name Registration-Defend Case 
928
929   This scenario starts when two 6DNAC Client receive RA message with
930   DNS Zone Suffix and other parameters including address prefix as
931   specified in NDP [2461] and both the nodes want configure their IPv6
932   address (Global or Site Local) and domain name. In this scenario both
933   the nodes want to have same domain name.
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976 Park & Madanapalli             Expires October 2003            [Page 16]
977 \f
978 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
979
980
981
982    +---------+      +---------+      +---------+      +---------+
983    | 6DNAC-A |      | 6DNAC-S |      | 6DNAC-B |      |  DNS-S  |
984    +----+----+      +----+----+      +----+----+      +----+----+
985         |                |                |                |
986         |     RA with    |     RA with    |                |
987         | DNS Suffix Opt | DNS Suffix Opt |                |
988         |<---------------|--------------->|                |
989         |       #1       |       #1       |                |
990         |---+            |                |---+            |
991   Construct | #2         |          Construct | #2         |
992       FQDN  |            |              FQDN  |            |
993         |<--+            |                |<--+            |
994  DAD/DFQDND Starts       |         DAD/DFQDND Starts       |
995         |                |            <DELAYED>            |
996         |                |                |                |
997         |    NS with     |                |                |
998         |    FQDN Opt    |                |                |
999         |--------------->|                |                |
1000         |      #3        |                |                |
1001         |            No Entry             |                |
1002         |                |------+         |                |
1003         |          Create FQDN  | #4      |                |
1004         |            <FQDN,A>   |         |                |
1005         |                |<-----+         |                |
1006         |                |                |                |
1007         |                |         Register FQDN #5        |
1008         |                |-------------------------------->|
1009         |                |                |                |
1010         |                |    NS with     |                |
1011         |                |    FQDN Opt    |                |
1012         |                |<---------------|                |
1013         |                |       #6       |                |
1014         |                |------+         |                |
1015         |         FQDN is in use|         |                |
1016         |          Defend DFQDND| #7      |                |
1017         |                |<-----+         |                |
1018         |                |                |                |
1019         |                |    NA with     |                |
1020         |                |    D-flag Set  |                |
1021         |                |--------------->|                |
1022         |                |       #8       |                |
1023         |------+         |                |---+            |
1024  No Response   | #9      |            Enter   | #10        |
1025  DFQDND Success|         |          Retry Mode|            |
1026         |<-----+         |                |<--+            |
1027         |                |                |                |
1028         v                v                v                v
1029
1030          
1031        <Figure: 10 Multiple Hosts Requesting Same Domain Name>
1032
1033
1034
1035
1036
1037 Park & Madanapalli             Expires October 2003            [Page 17]
1038 \f
1039 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003          
1040
1041   #1. 6DNAC Server (Router) sends out router advertisement with DNS
1042       Suffix information.
1043       
1044   #2. 6DNAC Clients A&B process the router advertisement and construct
1045       their FQDN by prefixing hostname to the DNS Zone Suffix.  They
1046       also construct IPv6 address from the autoconfiguration prefix
1047       information option.
1048       
1049       When each host is trying to go for DAD, all hosts must have
1050       random delay to avoid the traffic congestion according to [2461].
1051       So here it is assumed that 6DNAC Client-A starts DAD first and
1052       6DNAC Client-B starts DAD later.
1053
1054   #3. 6DNAC Client-A starts duplicate address & FQDN detection for the
1055       IPv6 address & FQDN constructed and sends out a Neighbor
1056       Solicitation message with FQDN option.
1057    
1058   #4. 6DNAC Server processes the Neighbor Solicitation message sent by
1059       6DNAC Client-A as part of duplicate FQDN detection procedure and
1060       creates a FQDN entry in its FQDN Cache (assuming that there is no
1061       entry <FQDN,A>), where A is Link Layer Address of the 6DNAC Client-A.
1062
1063   #5. 6DNAC Server then registers FQDN and corresponding IPv6 address
1064       through the existing protocol DDNS UPDATE.
1065
1066   #6. 6DNAC Client-B starts duplicate address & FQDN detection for the
1067       IPv6 address & FQDN constructed and sends out a Neighbor Solicitation
1068       message with FQDN option. 
1069
1070   #7. 6DNAC Server processes the Neighbor Solicitation message sent by
1071       6DNAC Client-B as part of duplicate FQDN detection procedure and 
1072       finds that the domain name is already in use by the 6DNAC Client-A.
1073       Hence, concludes to defend the duplicate FQDN detection of 6DNAC
1074       Client-B.
1075
1076   #8. 6DNAC Server sends out Neighbor Advertisement message with FQDN
1077       option to 6DNAC Client-B to defend its duplicate FQDN detection.
1078
1079   #9. 6DNAC Client-A times out and observes that there is no response to
1080       defend its duplicate FQDN detection procedure and the node is 
1081       successful in configuring its domain name.
1082
1083   #10. 6DNAC Client-B observes that there is a NA with FQDN option
1084        indicating that the domain name is duplicate and enters Retry
1085        Mode. In retry mode, 6DNAC Client constructs another FQDN based
1086        on Host Naming Algorithm. The number of retries is defined by the
1087        administrator and must be a configurable value.
1088   
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098 Park & Madanapalli             Expires October 2003            [Page 18]
1099 \f
1100 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003  
1101   
1102   7.2.4. Domain Name Registration in Retry Mode
1103
1104   Pre-Conditions:
1105
1106   1. Duplicate Address Detection has succeeded 
1107   2. Duplicate FQDN Detection FAILED
1108   3. FQDN is the first FQDN one constructed and FAILED
1109   4. FQDN2 is the second FQDN to be constructed
1110   5. The Neighbor Solicitation in the 'Retry Mode'
1111     carries unspecified address in its target field (NS*).
1112
1113    +---------+      +---------+      +---------+
1114    | 6DNAC-C |      | 6DNAC-S |      |  DNS-S  |
1115    +----+----+      +----+----+      +----+----+
1116         |                |                |
1117         |--------+       |                |
1118     Construct    | #1    |                |
1119     new FQDN2    |       |                |
1120         |<-------+       |                |
1121         |                |                |
1122   DFQDND Restarts        |                |
1123         |                |                |
1124         |                |                |
1125         |    NS* With    |                |
1126         |    FQDN Opt    |                |
1127         |--------------->|                |
1128         |       #2       |                |
1129         |                |                |
1130         |            No Entry             |
1131         |                |------+         |
1132         |          Create FQDN  | #3      |
1133         |            <FQDN2,C>  |         |
1134         |                |<-----+         |
1135         |                |                |
1136         |                | Register FQDN2 |
1137         |                |--------------->|
1138         |                |       #4       |
1139         |                |                |
1140         |--------+       |                |
1141    No Response   | #5    |                |
1142   DFQDND-Success |       |                |
1143         |<-------+       |                |
1144         |                |                |
1145         v                V                v
1146
1147                 
1148                 <Figure: 11 Regeneration of Domain Name>
1149                 
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159 Park & Madanapalli             Expires October 2003            [Page 19]
1160 \f
1161 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1162  
1163   #1. 6DNAC Client constructs the FQDN again as per Host Naming Algorithm,
1164       the DNS Zone Suffix, and it is FQDN2.
1165   #2. It then starts Duplicate Detection only for Domain Name. 6DNAC
1166       Client sends out NS with FQDN option and unspecified target
1167       address.
1168
1169   #3. 6DNAC Server processes the Retry Mode NS message and finds that
1170       the FQDN2 is not in use and creates Cache entry as <FQDN2, C>.
1171
1172   #4. It then starts registration procedures with the DNS Server.
1173
1174   #5. Meanwhile, 6DNAC Client timesout and observes that there is no
1175       defending NA for its DFQDND NS sent out and successfully
1176       configures its domain name.
1177
1178
1179   7.2.5. Domain Name Registration when DAD Fails
1180
1181   Duplicate domain name detection and subsequent registration starts 
1182   if and only if the DAD for IPv6 address succeeds. If the DAD for
1183   IPv6 address fails then no actions are taken for domain name. When
1184   DAD fails for stateless address autoconfiguration, then the domain
1185   configuration starts only when the address has been configured using 
1186   Stateful Address Configuration methods and the node is going on DAD
1187   for this address.
1188
1189   This scenario starts when a 6DNAC Client receives RA message with
1190   DNS Zone Suffix and other parameters including address prefix as
1191   specified in NDP [2461] and wants configure its IPv6 address (Global
1192   or Site Local) and domain name.
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220 Park & Madanapalli             Expires October 2003            [Page 20]
1221 \f
1222 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1223
1224    +---------+      +---------+      +---------+      +---------+
1225    | 6DNAC-A |      | 6DNAC-S |      | 6DNAC-B |      |  DNS-S  |
1226    +----+----+      +----+----+      +----+----+      +----+----+
1227         |                |                |                |
1228         |                |                |                |
1229         |     RA with    |                |                |
1230         | DNS Suffix Opt |                |                |
1231         |<---------------|                |                |
1232         |       #1       |                |                |
1233         |-----+          |                |                |
1234     Construct |          |                |                |
1235       FQDN&   | #2       |                |                |
1236     IPv6 Addr |          |                |                |
1237         |<----+          |                |                |
1238  DAD/DFQDND Starts       |                |                |
1239         |                |                |                |
1240         |                |                |                |
1241         |    NS with     |                |                |
1242         |    FQDN Opt    |                |                |
1243         |--------------->+--------------->|                |
1244         |       #3       |        #3      |                |
1245         |            No Entry             |                |
1246         |                |------+         |                |
1247         |          Create FQDN  |         |                |
1248         |            <FQDN,A>   | #4      |                |
1249         |                |<-----+         |                |
1250         |                |                |                |
1251         |                |                |------+         |
1252         |                |           My IPv6 Addr| #5      |
1253         |                |                |<-----+         |
1254         |                |   Defend DAD   |                |
1255         |                |    with NA     |                |
1256         |<---------------+<---------------|                |
1257         |      #6        |       #6       |                |
1258         |              Entry              |                |
1259         |                |------+         |                |
1260         |          Delete FQDN  | #7      |                |
1261         |                |<-----+         |                |
1262         |                |                |                |
1263         |----+           |                |                |
1264   DAD Failed | #8        |                |                |
1265  Stop DFQDND |           |                |                |
1266         |<---+           |                |                |
1267         |                |                |                |
1268         v                v                v                v
1269
1270                      <Figure: 12 DAD failure>
1271
1272   #1. 6DNAC Server sends out Router Advertisement to 6DNAC Client-A.
1273
1274   #2. 6DNAC Client-A constructs IPv6 Address based on the prefix and
1275       FQDN as per Host Naming Algorithm. 
1276
1277   #3. It then starts Duplicate address & FQDN Detection, for the newly 
1278       constructed IPv6 address and FQDN, and sends out DAD/DFQDND NS
1279       with FQDN option.  
1280
1281 Park & Madanapalli             Expires October 2003            [Page 21]
1282 \f
1283 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003      
1284
1285   #4. 6DNAC Server processes the DAD/DFQDND NS message and finds 
1286       that there is no entry for the FQDN in its cache. And,
1287       creates Cache entry as <FQDN, A> and starts a Registration
1288       timer with RegistrationWaitTime seconds.
1289
1290   #5. 6DNAC Client-B finds that the DAD/DFQDND-NS target address is 
1291       in its unicast address list.  
1292
1293   #6. It then starts defending DAD by sending NA to all-nodes multicast.
1294
1295   #7. 6DNAC Server finds that the DAD has failed for 6DNAC Client-A.  
1296       And, deletes its FQDN Cache entry <FQDN,A>.
1297       
1298   #8. 6DNAC Client gets defending DAD-NA and desists from DAD. 
1299       And also, stops Duplicate FQDN Detection as well.
1300       At this point the address must be configured using stateful 
1301       methods and the domain name registration starts with the DAD
1302       for the newly constructed IPv6 address.
1303   
1304   7.3. DNS Zone Suffix Discovery and FQDN Construction
1305   
1306   7.3.1. Sending Router Advertisement Messages
1307
1308   Routers send out Router Advertisement message periodically, 
1309   or in response to a Router Solicitation. Router should include 
1310   the DNS Zone Suffix Option in their advertisements. If the DNS
1311   Zone Suffix changes (similar to Site Renumbering), then it should
1312   advertise the Old Zone Suffix with zero Valid Lifetime and New
1313   Zone Suffix with proper non-zero Valid Lifetime.  In any other
1314   case, a router should not send this option twice in a single
1315   router advertisement.
1316
1317   7.3.2. Processing Router Advertisement Messages  
1318
1319   For each DNS Zone Suffix Option in Router Advertisement,
1320
1321   a. 6DNAC node stores the Zone Suffix information in its local
1322      database.  Also, constructs FQDN as per Host Naming Algorithm.
1323
1324   b. If the node has not configured FQDN yet,
1325
1326      1. If the node is going to perform DAD for either Site local or 
1327         Global Address, then it should include FQDN option to perform
1328         Duplicate FQDN Detection in parallel with DAD.
1329
1330      2. If the node has already got either Site local or Global 
1331         address, then it should send out NS with FQDN option and 
1332         unspecified target address to perform Duplicate FQDN 
1333         Detection.
1334
1335   c. If the node has already configured FQDN, and if the 
1336      advertisement carries two DNS Zone Suffix Options,
1337      First DNS Zone Suffix should match with the configured FQDN 
1338      Suffix and its Valid Lifetime must be zero. Second DNS Zone
1339
1340
1341
1342 Park & Madanapalli             Expires October 2003            [Page 22]
1343 \f
1344 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1345
1346
1347      Suffix should have non-zero Valid Lifetime. In this case, the
1348      node constructs new FQDN based on the new DNS Zone Suffix (from
1349      second DNS Zone Suffix option), and perform Duplicate FQDN 
1350      Detection with unspecified target address.  Also, it should
1351      overwrite the old FQDN with the newly constructed FQDN.
1352      
1353
1354   7.3.3. FQDN Lifetime expiry
1355
1356   6DNAC Server:  
1357   It should delete the FQDN cache entry and should de-register from
1358   the DNS Server.
1359
1360   6DNAC Client:
1361   It should send update to 6DNAC Server by restarting the Duplicate 
1362   FQDN Detection. 
1363   
1364   7.3.4. Host Naming Algorithm
1365  
1366   A node constructs FQDN by combining DNS Zone Suffix and the hostname
1367   as depicted in the following diagram.
1368
1369      +------------------+----------------------------------+
1370      |     Host Name    |          Advertised Suffix       |
1371      +------------------+----------------------------------+
1372
1373           <Figure 13: Fully Qualified Domain Name format>
1374
1375   A node can choose Host Name using any of the following methods:
1376  
1377   a. String form of random number generated from the Interface 
1378      Identifier.
1379      
1380   b. List of configured Host Names provided by the administrator.
1381
1382   
1383   The number of retries must be specified in this algorithm in 
1384   case of domain name duplication.
1385   
1386     
1387   7.4. Duplicate Domain Name Detection
1388   
1389   The procedure for detecting duplicated FQDNs uses Neighbor
1390   Solicitation and Advertisement messages as described below.
1391
1392   If a duplicate FQDN is detected during the procedure, the
1393   FQDN cannot be assigned to the node.
1394
1395   An FQDN on which the DFQDND Procedure is applied is said 
1396   to be tentative until the procedure has completed successfully.  
1397   A tentative FQDN is not considered "assigned to the node" in the 
1398   traditional sense.  That is, the node must accept Neighbor 
1399   Advertisement message containing the tentative FQDN in the FQDN 
1400   Option.
1401
1402
1403 Park & Madanapalli             Expires October 2003            [Page 23]
1404 \f
1405 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1406
1407
1408   It should also be noted that DFQDN must be performed prior to 
1409   registering with DNS Server to prevent multiple nodes from using 
1410   the same FQDN simultaneously. All the Duplicate Address Detection 
1411   Neighbor Solicitation messages must carry Source Link Layer Address 
1412   Option as specified in NDP [2461]. 
1413
1414   The detection of duplicate FQDN can be achieved through one of the
1415   following three types of procedures.
1416   
1417   1. DAD with All Nodes Multicast Address
1418   2. DAD with Router Alert Option for 6DNAC.
1419   3. Explicit Detection of Duplicate Domain Name
1420    
1421   Even though three solutions are listed, authors prefer only one 
1422   procedure to be followed in future based on further analysis and
1423   comments received from others. 
1424   
1425   7.4.1. DAD with All Nodes Multicast Address
1426   
1427   7.4.1.1. Sending Neighbor Solicitation Messages
1428
1429   6DNAC Client sends Neighbor Solicitation Messages as part
1430   of Duplicate Address Detection SLAAC [2462] with the following 
1431   extra information and modifications:
1432
1433   a. Include FQDN Option in the DAD Neighbor Solicitation Message
1434   b. Destination Address is set to All Nodes Multicast Address
1435
1436   There may be a case where DAD has succeeded but DFQDND is in Retry 
1437   Mode. In such case, the Neighbor Solicitation must carry unspecified 
1438   address in the ICMP target address field and new domain name in FQDN
1439   option to re-try the registration of the domain name.
1440
1441   7.4.1.2. Processing Neighbor Solicitation Messages
1442
1443   6DNAC Clients must ignore the FQDN option found in any of the
1444   neighbor solicitation messages.
1445
1446   6DNAC Server processes FQDN Option found in the Duplicate Address 
1447   Detection Neighbor Solicitation Messages as described below:
1448
1449   Lookup FQDN Cache for the domain name in FQDN Option.
1450
1451   If the entry exists and 
1452    i. Link Layer Address matches with SLLA option, this is the case, 
1453       where node has changed its IPv6 address or updating the valid 
1454       life time. 6DNAC Server updates its cache and also updates DNS
1455       Server using DDNS-UPDATE. If there is no change in IPv6 address
1456       or life time then no updates are sent to the DNS server. 
1457
1458   ii. Link Layer Address differs with SLLA option, defend the duplicate 
1459       FQDN Detection by sending Neighbor Advertisement Message as 
1460       described in $7.4.1.3$.
1461
1462
1463
1464 Park & Madanapalli             Expires October 2003            [Page 24]
1465 \f
1466 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1467
1468
1469   else,
1470     Lookup FQDN Cache for the Link Layer Address in SLLA Option.
1471
1472     If the entry exists, update the FQDN Cache and update DNS Server 
1473     using DDNS-UPDATE. This is the case, where node has changed its
1474     domain name (similar to Site Re-numbering).
1475
1476     If then entry does not exists, then it means that this is the new 
1477     registration. It must create a cache entry and start Registration    
1478     
1479     timer with RegistrationWaitTime. At the expiry of the Registration
1480     timer, it should update DNS Server with DDNS-UPDATE.
1481
1482   7.4.1.3. Sending Neighbor Advertisement Messages
1483
1484   6DNAC Server sends Neighbor Advertisement Messages as part
1485   of Duplicate Address Detection SLAAC [2462] with the FQDN Option 
1486   in Neighbor Advertisement message to defend duplicate FQDN 
1487   detection.
1488
1489   There may be the case where defending of duplicate address detection 
1490   is not required but defending of FQDN is required.  In such instance, 
1491   the defending Neighbor Advertisement must carry FQDN and unspecified
1492   address in the ICMP target address field.
1493
1494   7.4.1.4. Processing Neighbor Advertisement Messages
1495
1496   6DNAC Server must ignore the any FQDN option found any of 
1497   the neighbor advertisement messages.  If the Neighbor Advertisement
1498   is a DAD defending, then it must delete its FQDN Cache entry created 
1499   on the reception of DAD Neighbor Solicitation message.
1500
1501   When 6DNAC Clients gets the duplicate address detection neighbor
1502   advertisement messages with FQDN option set it means that its
1503   duplicate FQDN detection failed and enters Retry Mode.
1504
1505   7.4.1.5. Pros and Cons
1506   
1507   The advantage of this procedure is that it does not need any 
1508   extension header options to be included. The disadvantage of this 
1509   procedure is that, it needs change in the existing DAD procedure.
1510   The change is only that the DAD neighbor solicitations are to be 
1511   addressed to all nodes multicast address instead of solicited 
1512   node multicast address. The another disadvantage is that, it needs 
1513   the existence of Duplicate Address Detection Procedure to 
1514   perform duplicate FQDN detection. 
1515   
1516   7.4.2. DAD with Router Alert Option for 6DNAC
1517
1518   7.4.2.1. Sending Neighbor Solicitation Messages
1519
1520   6DNAC Client sends Neighbor Solicitation Messages as part
1521   of Duplicate Address Detection SLAAC [2462] with the following 
1522   extra information:
1523
1524
1525 Park & Madanapalli             Expires October 2003            [Page 25]
1526 \f
1527 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1528
1529
1530   a. Include Hop-by-Hop extension Header with Router Alert Option
1531      for 6DNAC as described in IPv6 Router Alert Option[2711].
1532
1533   b. Include FQDN Option in the DAD Neighbor Solicitation Message
1534
1535   7.4.2.2. Processing Neighbor Solicitation Messages
1536
1537   This is same as described in $7.4.1.2$. 
1538
1539   7.4.2.3. Sending Neighbor Advertisement Messages
1540
1541   This is same as described in $7.4.1.3$. 
1542
1543   7.4.2.4. Processing Neighbor Advertisement Messages
1544
1545   This is same as described in $7.4.1.4$.
1546
1547   7.4.2.5. Pros and Cons
1548
1549   The advantage of this procedure is that it does not disturb
1550   the existing implementation and their way of processing the 
1551   packets.  The disadvantage is that, it needs the existence 
1552   of Duplicate Address Detection Procedure to perform duplicate 
1553   FQDN detection. Another disadvantage is that this procedure 
1554   requires 6DNAC Server functionality to be implemented on Router.
1555   However, in this case 6DNAC Server can serve multiple links.
1556   
1557   7.4.3. Explicit Detection of Duplicate Domain Name
1558
1559   In this procedure Duplicate FQDN Detection starts after completion
1560   of successful Site local or Global Address configuration.
1561   
1562   7.4.3.1. Sending Neighbor Solicitation Messages
1563
1564   6DNAC Client sends Neighbor Solicitation Messages as part
1565   of Duplicate FQDN Detection with the following information:
1566
1567   a. Include FQDN Option in the Neighbor Solicitation Message
1568
1569   b. Destination Address is set to All Nodes Multicast Address
1570      or uses Router Alert Option for 6DNAC, when 6DNAC Server is 
1571      implemented on router.
1572
1573   c. Target Address is set to Unspecified Address
1574
1575   d. Other fields are set as per DAD SLAAC [2462].
1576
1577   7.4.3.2. Processing Neighbor Solicitation Messages
1578
1579   This is same as described in $7.4.1.2$.
1580
1581
1582
1583
1584
1585
1586 Park & Madanapalli             Expires October 2003            [Page 26]
1587 \f
1588 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003 
1589
1590
1591   7.4.3.3. Sending Neighbor Advertisement Messages
1592
1593   This is same as described in $7.4.1.3$.
1594
1595   7.4.3.4. Processing Neighbor Advertisement Messages
1596
1597   This is same as described in $7.4.1.4$.
1598
1599   7.4.3.5. Pros and Cons
1600
1601   The advantage of this procedure is that it does not need the
1602   existing duplicate address detection procedure.  This is introduced
1603   as the DAD procedure is found to be redundant in when IPv6 addresses
1604   are constructed from the interface ID [DIID].
1605
1606   Note that, if 6DNAC Clients know the address of 6DNAC Server then
1607   they can directly send DFQDND-NS to 6DNAC Server. 
1608
1609   7.4.4. Retry Mode for Re-registering Domain Name
1610
1611   In retry mode, nodes construct new FQDN as per Host Naming Algorithm.
1612   Then they restart Duplicate FQDN Detection as described in $7.4.3$.
1613
1614
1615   7.5. Domain Name Registration
1616   
1617   6DNAC Server must be an authenticated to update the DNS Server.
1618   6DNAC Server must also be configured with the DNS Server 
1619   information.
1620
1621   6DNAC Server detects the DNS information (IPv6 Address and 
1622   corresponding FQDN) from DAD/DFQDND messages and caches the
1623   information. It also have an associated Registration Timer with 
1624   RegistrationWaitTime to wait for the successful completion of 
1625   DFQDND and update DNS Server using existing protocol DDNS UPDATE 
1626   [2136].
1627   
1628                  
1629   8. Security Consideration
1630    
1631   If someone wants to hijack correct Domain Name registration, they 
1632   could send a NS message with incorrect or same Domain Name to the
1633   6DNAC server repeatedly and server would start the Domain Name 
1634   registration through above mechanism, which is a security hole. 
1635   As described in [2461], a host can check validity of NDP messages.
1636   If the NDP message include an IP Authentication Header, the message
1637   authenticates correctly. For DNS UPDATE processing, secure DNS
1638   Dynamic Update is described in [3007].
1639   
1640
1641
1642
1643
1644
1645
1646
1647 Park & Madanapalli             Expires October 2003            [Page 27]
1648 \f
1649 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1650
1651   
1652   9. IANA Consideration
1653   
1654   Values in the Router Alert Option are registered and maintained by
1655   IANA. For 6DNAC, the value has to be assigned by IANA. Also IANA is
1656   required to assign the Type values for DNS Zone Suffix Information
1657   option and FADN option.
1658
1659   
1660   10. Acknowledgement
1661   
1662   Special thanks are due to Badrinarayana N.S. and Christian Huitema for
1663   many helpful suggestions and revisions. 
1664   
1665   
1666   11. Intellectual Property
1667
1668   The following notice is copied from RFC 2026 [Bradner, 1996],
1669   Section 10.4, and describes the position of the IETF concerning
1670   intellectual property claims made against this document.
1671
1672   The IETF takes no position regarding the validity or scope of any
1673   intellectual property or other rights that might be claimed to
1674   pertain to the implementation or use other technology described in
1675
1676   this document or the extent to which any license under such rights
1677   might or might not be available; neither does it represent that it
1678   
1679   has made any effort to identify any such rights.  Information on the
1680   IETF's procedures with respect to rights in standards-track and
1681   standards-related documentation can be found in BCP-11.  Copies of
1682   claims of rights made available for publication and any assurances
1683   of licenses to be made available, or the result of an attempt made
1684   to obtain a general license or permission for the use of such
1685   proprietary rights by implementers or users of this specification
1686   can be obtained from the IETF Secretariat.
1687
1688   The IETF invites any interested party to bring to its attention any
1689   copyrights, patents or patent applications, or other proprietary
1690   rights which may cover technology that may be required to practice
1691   this standard.  Please address the information to the IETF Executive
1692   Director.
1693   
1694   
1695   12. Copyright
1696
1697   The following copyright notice is copied from RFC 2026 [Bradner,
1698   1996], Section 10.4, and describes the applicable copyright for this
1699   document.
1700
1701   Copyright (C) The Internet Society July 12, 2001. All Rights
1702   Reserved.
1703   
1704   This document and translations of it may be copied and furnished to
1705   others, and derivative works that comment on or otherwise explain it
1706   or assist in its implementation may be prepared, copied, published
1707
1708 Park & Madanapalli             Expires October 2003            [Page 28]
1709 \f
1710 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1711
1712
1713   and distributed, in whole or in part, without restriction of any
1714   kind, provided that the above copyright notice and this paragraph
1715   are included on all such copies and derivative works.  However, this
1716   
1717   document itself may not be modified in any way, such as by removing
1718   the copyright notice or references to the Internet Society or other
1719   Internet organizations, except as needed for the purpose of
1720   developing Internet standards in which case the procedures for
1721   copyrights defined in the Internet Standards process must be
1722   followed, or as required to translate it into languages other than
1723   English.
1724
1725   The limited permissions granted above are perpetual and will not be
1726   revoked by the Internet Society or its successors or assignees.
1727
1728   This document and the information contained herein is provided on an
1729   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1730   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1731   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1732   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1733   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1734   
1735   
1736   13. References
1737    
1738   [2373]        Hinden, R. and S. Deering, "IP Version 6 Addressing 
1739                 Architecture", RFC 2373, July 1998. 
1740        
1741   [2460]        Deering, S. abd R. Hinden, "Internet Protocol, 
1742                 Version 6 (IPv6) Specification", RFC 2460, 
1743                 December 1998. 
1744                
1745   [2461]        Narten, T., Nordmark, E. and W. Simpson, "Neighbor 
1746                 Discovery for IP version 6(IPv6)", RFC 2461, December 
1747                 1998. 
1748
1749   [2462]        S. Thomson and Narten T, "IPv6 Stateless Address Auto- 
1750                 Configuration", RFC 2462, December 1998. 
1751                
1752   [2711]        C. Patridge and A.Jackson, "IPv6 Router Alert Option",
1753                 RFC 2711, October 1999. 
1754              
1755   [1034]        P. Mockapetris, "DOMAIN NAMES - CONCEPTS AND 
1756                 FACILITIES", RFC 1034, November 1987. 
1757                
1758   [1035]        P. Mockapetris, "Domain Names - Implementation and 
1759                 Specification" RFC 1035, November 1987. 
1760
1761   [2136]        P. Vixie et al., "Dynamic Updates in the Domain Name
1762                 System (DNS UPDATE)", RFC2136, April 1997.
1763                 
1764   [3007]        B. Wellington, "Secure Domain Name System (DNS) Dynamic 
1765                 Update", RFC 3007, November 2000.
1766
1767
1768
1769 Park & Madanapalli             Expires October 2003            [Page 29]
1770 \f
1771 INTERNET-DRAFT     IPv6 Extensions for DNS Plug and Play      April 2003
1772
1773                  
1774   [DIID]        yokohama-dad-vs-diid.pdf
1775                 at http://playground.sun.com/ipng/presentations/July2002/
1776                 
1777   [DNSISSUES]   Durand, A., "IPv6 DNS transition issues", draft-ietf-              
1778                 dnsop-ipv6-dns-issues-00.txt, work in progress.
1779                 
1780   [PREFIX]      S. Miyakawa, R. Droms, "Requirements for IPv6 prefix
1781                 delegation", draft-ietf-ipv6-prefix-delegation-
1782                 requirement-01.txt, work in progress.
1783    
1784   [Autoreg]     H. Kitamura, "Domain Name Auto-Registration for 
1785                 Plugged-in IPv6 Nodes", draft-ietf-dnsext-ipv6-name-
1786                 auto-reg-00.txt, work in progress.
1787
1788   [NIQ]         Matt Crawford, "IPv6 Node Information Queries", <draft-
1789                 ietf-ipngwg-icmp-name-lookups-09.txt>, work in progress.
1790                   
1791   
1792   14. Author's Addresses 
1793   
1794   Soohong Daniel Park 
1795   Mobile Platform Laboratory, SAMSUNG Electronics, KOREA 
1796   Phone: +82-31-200-3728 
1797   Email:soohong.park@samsung.com
1798   
1799   Syam Madanapalli
1800   Network Systems Division, SAMSUNG India Software Operations, INDIA
1801   Phone: +91-80-5550555
1802   Email:syam@samsung.com
1803   
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830 Park & Madanapalli             Expires October 2003            [Page 30]