Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged))
 by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA26723
 for <dhcwg-archive@odin.ietf.org>; Tue, 5 Mar 2002 15:32:05 -0500 (EST)
Received: (from daemon@localhost)
 by optimus.ietf.org (8.9.1a/8.9.1) id PAA03265
 for dhcwg-archive@odin.ietf.org; Tue, 5 Mar 2002 15:32:08 -0500 (EST)
Received: from optimus.ietf.org (localhost [127.0.0.1])
 by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id PAA02856;
 Tue, 5 Mar 2002 15:30:22 -0500 (EST)
Received: from ietf.org (odin [132.151.1.176])
 by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id PAA02813
 for <dhcwg@optimus.ietf.org>; Tue, 5 Mar 2002 15:30:20 -0500 (EST)
Received: from imr1.ericy.com (imr1.ericy.com [208.237.135.240])
 by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA26610
 for <dhcwg@ietf.org>; Tue, 5 Mar 2002 15:30:12 -0500 (EST)
Received: from mr6.exu.ericsson.se (mr6u3.ericy.com [208.237.135.123])
 by imr1.ericy.com (8.11.3/8.11.3) with ESMTP id g25KUEh07904
 for <dhcwg@ietf.org>; Tue, 5 Mar 2002 14:30:14 -0600 (CST)
Received: from eamrcnt747.exu.ericsson.se (eamrcnt747.exu.ericsson.se
 [138.85.133.37])
 by mr6.exu.ericsson.se (8.11.3/8.11.3) with SMTP id g25KUEj24900
 for <dhcwg@ietf.org>; Tue, 5 Mar 2002 14:30:14 -0600 (CST)
Received: FROM eamrcnt760.exu.ericsson.se BY eamrcnt747.exu.ericsson.se ;
 Tue Mar 05 14:30:13 2002 -0600
Received: by eamrcnt760.exu.ericsson.se with Internet Mail Service
 (5.5.2653.19) id <ZQBNNJWR>; Tue, 5 Mar 2002 14:30:13 -0600
Message-ID: <66F66129A77AD411B76200508B65AC69B4D07B@EAMBUNT705>
From: "Bernie Volz (EUD)" <Bernie.Volz@am1.ericsson.se>
To: "'rbhibbs@pacbell.net'" <rbhibbs@pacbell.net>, dhcwg@ietf.org
Subject: RE: [dhcwg] Host Name option considerations draft
Date: Tue, 5 Mar 2002 14:30:12 -0600 
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: multipart/alternative;
 boundary="----_=_NextPart_001_01C1C484.8CDD11F0"
Sender: dhcwg-admin@ietf.org
Errors-To: dhcwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: <dhcwg.ietf.org>
X-BeenThere: dhcwg@ietf.org

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C1C484.8CDD11F0
Content-Type: text/plain;
	charset="iso-8859-1"

Barr ... thanks for providing some of these comments - I had several of them but hadn't yet sent a message. And, Carl and Ted, thanks for writing this draft!

FYI Barr, I believe regarding your issue:

>In (3), the Host Name *is* the FQDN, but how do I parse it properly into a
>"DNS domain name" given that simple rules such as "use the last two parts of
>the name" (which works for things like "dot.com") renders the DNS domain
>name as "co.uk" which I don't think is what you intend.

The host would remove the first label to produce the Domain Name, hence
"inside.sales.bluebear.co.uk". That's all it can and should do.

---

>      "a client SHOULD check for the presence of both Host Name
>      and Domain Name options, forming the FQDN by appending the
>      Domain Name to the Host Name.  A client MAY wish to compare
>      the Host Name option to the Domain Name option to verify
>      that the Host Name option does not include the Domain Name
>      part before concatenating the parts."

I like this better than what Mike was suggesting because I could easily see a
case, such as your (2) below that should work and thus the client can not simply
see if the Host Name has one or more dots to determine whether it is fully qualified.
I would suggest that (a) if the host name has NO dots, the client should add the
domain name. If the host name has one or more dots, the client should only add 
the domain name if the host name does not end in the domain name.

>2.  Host Name:  "mike.inside.sales"
>    Domain Name:  "bluebear.co.uk"

---

Perhaps I missed it, but can we be clear about whether the trailing dot MUST NOT
be included. And, for backwards compability, a client (and server) should remove
any trailing dot if it does exist (this applies to the Host Name, Domain Name,
and FQDN options).

---

One thing that wasn't clear to me (and perhaps it is specified in RFC 2131?), but
for a client REQUEST, does (MUST) a client send the Host Name and FQDN options the
server sent in the OFFER, or MUST it send what it originally sent in the DISCOVER?
From this draft, it would appear it MUST send what was in the DISCOVER and not
what the server may have sent back.


- Bernie

-----Original Message-----
From: Richard Barr Hibbs [mailto:rbhibbs@pacbell.net]
Sent: Tuesday, March 05, 2002 2:18 PM
To: dhcwg@ietf.org
Subject: RE: [dhcwg] Host Name option considerations draft



Carl, Ted, et al.--

I've cut and pasted some sections from the draft with my comments....

--Barr


<*Snip!*>

3. Interactions with Name Services

   A DHCP client's use of the Host Name option should be fairly
   straightforward, but users report problems, particularly with the
   interactions between it and Domain Name option and between the DNS
   (RFC 1034 [5] and RFC 1035 [6]) and other naming services so we
   reiterate and expand the description of the expected behavior:

      if a DHCP server supplies both Host Name and Domain Name
      options to a client, the host name SHOULD NOT be fully-
      qualified

*corollary one* -- the Domain Name option also SHOULD NOT be fully-qualified

*corollary two* -- the name formed by concatenating Host Name and Domain
Name MUST be the Fully-Qualified Domain Name of the host, that is, there
should be no other prefixes or suffixes added to the Host Name and Domain
Name parts in creating the FQDN


      if a DHCP server supplies only a Host Name option, the host
      name SHOULD be fully qualified; the server MUST append only DNS
      domain names in forming a fully-qualified name

Carl, I don't understand your point here:  if the Host Name part IS
fully-qualified, how can any other information be added to it and make an
understandable name?  For example, if the Host Name part is
"rabbit.warren.org" what could be appended that makes any sense?


      a client MUST check to see whether a Host Name option contains
      a fully-qualified name and if so, MUST NOT append the value of
      the Domain Name option (if present) in forming its fully-
      qualified domain name

Carl, I think "MUST" is too strong here, plus I think this wording calls for
a specific level of sophistication in a client where it really should be an
implementation decision.  Having said that, if I understand this point
correctly, to mean that you are trying to guide a client so that invalid
FQDNs are not unintentionally created, I agree with the concept.  How about
wording such as:

      "a client SHOULD check for the presence of both Host Name
      and Domain Name options, forming the FQDN by appending the
      Domain Name to the Host Name.  A client MAY wish to compare
      the Host Name option to the Domain Name option to verify
      that the Host Name option does not include the Domain Name
      part before concatenating the parts."

The proposed wording does not require the client either to have local
knowledge of Top Level Domain names or to perform a DNS lookup on the Host
Name to determine if it is fully-qualified, which are the only two ways I
can imagine for the client to test the name as you proposed.


      since a Host Name option's value may be fully-qualified only by
      supplying the DNS domain name, a client that receives a fully-
      qualified name in the Host Name option MAY infer the DNS domain
      name from the suffix of the supplied host name.  This inference
      remains valid even in the presence of client configuration
      information or policies that prefer other name services in
      favor of, or in place of, DNS.

Carl, I don't understand what you're saying here.  Perhaps a few examples
will show you my confusion:

1.  Host Name:  "mike"
    Domain Name:  "inside.sales.bluebear.co.uk"

2.  Host Name:  "mike.inside.sales"
    Domain Name:  "bluebear.co.uk"

3.  Host Name:  "mike.inside.sales.bluebear.co.uk"
    Domain Name:  ""

In (1) and (2) appending the Domain Name to the Host Name clearly produces
an FQDN, but which is the "correct" representation of the "DNS domain name"
since both are valid representations?

In (3), the Host Name *is* the FQDN, but how do I parse it properly into a
"DNS domain name" given that simple rules such as "use the last two parts of
the name" (which works for things like "dot.com") renders the DNS domain
name as "co.uk" which I don't think is what you intend.

<*Snip!*>

4.1 DHCP Client Considerations and Behavior

   A DHCP client that uses the Host Name option to request a DNS
   update MUST be prepared to independently verify the success or
   failure of the request before using the name in a manner that
   would imply its validity.  If a DHCP server returns the requested
   name in the DHCPACK's Host Name option, the client MAY infer that
   the server has honored its request.

   There are a number of reasons that a DHCP server may fail to
   return a Host Name option, so nothing should be inferred from the
   option's absence in the DHCPACK.  The client MAY supply the option
   on subsequent RENEW operations as a method of retrying the
   request.  However, if the Host Name option is absent in the
   DHCPACK, the client MUST NOT use the requested name until it has
   verified the validity of the association between it and the IP
   address supplied in the yiaddr field.  Moreover, if the name
   returned in the DHCPACK is different from the one requested, the
   client MUST use the new name.

So, are you implying that (1) if a client does not request a Host Name
option from the server [typical of several widely-deployed clients!] but (2)
the server returns a Host Name option anyway in a DHCPACK, the client should
accept the [presumably] unwanted name?  I think this will break a whole lot
of deployed clients.


   A DHCP client MAY send either an unqualified or fully-qualified
   name in the Host Name option.  Clients sending unqualified names
   are implicitly relying on DHCP servers to associate the clients
   with the appropriate zone before issuing any updates to DNS.  A
   DHCP client in INIT state SHOULD fill in the requested host name
   in the DHCPDISCOVER packet.  It MUST do so in its subsequent
   DHCPREQUEST packet.

Here, again, I don't know how the server can reliably parse an FQDN sent in
the Host Name option.

<*Snip!*>

4.2 DHCP Server Considerations and Behavior

   Use of the FQDN option makes it possible to easily separate update
   operations into pieces corresponding to what are thought of as the
   traditional ownership boundaries:  DHCP servers own the addresses
   they lease, while the clients own their names.  This boundary is
   not present when the Host Name option is used:  the implied proxy
   update request assumes that the DHCP server has sufficient
   privilege to change both the A and PTR records.  That is, it
   ``owns'' both.

   For this and other reasons, use of the FQDN option is preferred:
   a DHCP server that receives both a Host Name option and a client
   FQDN option MUST prefer the FQDN option.  In such a case, the
   server SHOULD behave as if the Host Name option is not present.

I'm inclined to go further and suggest:

   "If a server receives both the Host Name option and the FQDN
   option from a client [for whom DNS updates are being proxied] the
   fully qualified name formed by appending the Domain Name to the
   client-supplied Host Name MUST be identical to the FQDN option
   for the server to update DNS on behalf of the client.  The server
   SHOULD return an error to the client if the names do not match."

This is something that has always bothered me about the FQDN option and the
DHCP-DNS update protocol -- is a mismatch an unintentional accident or an
attempt to confuse and invalidate DNS records?

<*Snip!*>



_______________________________________________
dhcwg mailing list
dhcwg@ietf.org
https://www1.ietf.org/mailman/listinfo/dhcwg

------_=_NextPart_001_01C1C484.8CDD11F0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2654.45">
<TITLE>RE: [dhcwg] Host Name option considerations draft</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>Barr ... thanks for providing some of these comments =
- I had several of them but hadn't yet sent a message. And, Carl and =
Ted, thanks for writing this draft!</FONT></P>

<P><FONT SIZE=3D2>FYI Barr, I believe regarding your issue:</FONT>
</P>

<P><FONT SIZE=3D2>&gt;In (3), the Host Name *is* the FQDN, but how do I =
parse it properly into a</FONT>
<BR><FONT SIZE=3D2>&gt;&quot;DNS domain name&quot; given that simple =
rules such as &quot;use the last two parts of</FONT>
<BR><FONT SIZE=3D2>&gt;the name&quot; (which works for things like =
&quot;dot.com&quot;) renders the DNS domain</FONT>
<BR><FONT SIZE=3D2>&gt;name as &quot;co.uk&quot; which I don't think is =
what you intend.</FONT>
</P>

<P><FONT SIZE=3D2>The host would remove the first label to produce the =
Domain Name, hence</FONT>
<BR><FONT SIZE=3D2>&quot;inside.sales.bluebear.co.uk&quot;. That's all =
it can and should do.</FONT>
</P>

<P><FONT SIZE=3D2>---</FONT>
</P>

<P><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;a client =
SHOULD check for the presence of both Host Name</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and Domain Name =
options, forming the FQDN by appending the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Domain Name to =
the Host Name.&nbsp; A client MAY wish to compare</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Host Name =
option to the Domain Name option to verify</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; that the Host =
Name option does not include the Domain Name</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; part before =
concatenating the parts.&quot;</FONT>
</P>

<P><FONT SIZE=3D2>I like this better than what Mike was suggesting =
because I could easily see a</FONT>
<BR><FONT SIZE=3D2>case, such as your (2) below that should work and =
thus the client can not simply</FONT>
<BR><FONT SIZE=3D2>see if the Host Name has one or more dots to =
determine whether it is fully qualified.</FONT>
<BR><FONT SIZE=3D2>I would suggest that (a) if the host name has NO =
dots, the client should add the</FONT>
<BR><FONT SIZE=3D2>domain name. If the host name has one or more dots, =
the client should only add </FONT>
<BR><FONT SIZE=3D2>the domain name if the host name does not end in the =
domain name.</FONT>
</P>

<P><FONT SIZE=3D2>&gt;2.&nbsp; Host Name:&nbsp; =
&quot;mike.inside.sales&quot;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp; Domain Name:&nbsp; =
&quot;bluebear.co.uk&quot;</FONT>
</P>

<P><FONT SIZE=3D2>---</FONT>
</P>

<P><FONT SIZE=3D2>Perhaps I missed it, but can we be clear about =
whether the trailing dot MUST NOT</FONT>
<BR><FONT SIZE=3D2>be included. And, for backwards compability, a =
client (and server) should remove</FONT>
<BR><FONT SIZE=3D2>any trailing dot if it does exist (this applies to =
the Host Name, Domain Name,</FONT>
<BR><FONT SIZE=3D2>and FQDN options).</FONT>
</P>

<P><FONT SIZE=3D2>---</FONT>
</P>

<P><FONT SIZE=3D2>One thing that wasn't clear to me (and perhaps it is =
specified in RFC 2131?), but</FONT>
<BR><FONT SIZE=3D2>for a client REQUEST, does (MUST) a client send the =
Host Name and FQDN options the</FONT>
<BR><FONT SIZE=3D2>server sent in the OFFER, or MUST it send what it =
originally sent in the DISCOVER?</FONT>
<BR><FONT SIZE=3D2>From this draft, it would appear it MUST send what =
was in the DISCOVER and not</FONT>
<BR><FONT SIZE=3D2>what the server may have sent back.</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>- Bernie</FONT>
</P>

<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: Richard Barr Hibbs [<A =
HREF=3D"mailto:rbhibbs@pacbell.net">mailto:rbhibbs@pacbell.net</A>]</FON=
T>
<BR><FONT SIZE=3D2>Sent: Tuesday, March 05, 2002 2:18 PM</FONT>
<BR><FONT SIZE=3D2>To: dhcwg@ietf.org</FONT>
<BR><FONT SIZE=3D2>Subject: RE: [dhcwg] Host Name option considerations =
draft</FONT>
</P>
<BR>
<BR>

<P><FONT SIZE=3D2>Carl, Ted, et al.--</FONT>
</P>

<P><FONT SIZE=3D2>I've cut and pasted some sections from the draft with =
my comments....</FONT>
</P>

<P><FONT SIZE=3D2>--Barr</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>&lt;*Snip!*&gt;</FONT>
</P>

<P><FONT SIZE=3D2>3. Interactions with Name Services</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; A DHCP client's use of the Host Name =
option should be fairly</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; straightforward, but users report =
problems, particularly with the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; interactions between it and Domain Name =
option and between the DNS</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; (RFC 1034 [5] and RFC 1035 [6]) and =
other naming services so we</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; reiterate and expand the description of =
the expected behavior:</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if a DHCP server =
supplies both Host Name and Domain Name</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; options to a client, =
the host name SHOULD NOT be fully-</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qualified</FONT>
</P>

<P><FONT SIZE=3D2>*corollary one* -- the Domain Name option also SHOULD =
NOT be fully-qualified</FONT>
</P>

<P><FONT SIZE=3D2>*corollary two* -- the name formed by concatenating =
Host Name and Domain</FONT>
<BR><FONT SIZE=3D2>Name MUST be the Fully-Qualified Domain Name of the =
host, that is, there</FONT>
<BR><FONT SIZE=3D2>should be no other prefixes or suffixes added to the =
Host Name and Domain</FONT>
<BR><FONT SIZE=3D2>Name parts in creating the FQDN</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if a DHCP server =
supplies only a Host Name option, the host</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name SHOULD be fully =
qualified; the server MUST append only DNS</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; domain names in =
forming a fully-qualified name</FONT>
</P>

<P><FONT SIZE=3D2>Carl, I don't understand your point here:&nbsp; if =
the Host Name part IS</FONT>
<BR><FONT SIZE=3D2>fully-qualified, how can any other information be =
added to it and make an</FONT>
<BR><FONT SIZE=3D2>understandable name?&nbsp; For example, if the Host =
Name part is</FONT>
<BR><FONT SIZE=3D2>&quot;rabbit.warren.org&quot; what could be appended =
that makes any sense?</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a client MUST check to =
see whether a Host Name option contains</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a fully-qualified =
name and if so, MUST NOT append the value of</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Domain Name =
option (if present) in forming its fully-</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qualified domain =
name</FONT>
</P>

<P><FONT SIZE=3D2>Carl, I think &quot;MUST&quot; is too strong here, =
plus I think this wording calls for</FONT>
<BR><FONT SIZE=3D2>a specific level of sophistication in a client where =
it really should be an</FONT>
<BR><FONT SIZE=3D2>implementation decision.&nbsp; Having said that, if =
I understand this point</FONT>
<BR><FONT SIZE=3D2>correctly, to mean that you are trying to guide a =
client so that invalid</FONT>
<BR><FONT SIZE=3D2>FQDNs are not unintentionally created, I agree with =
the concept.&nbsp; How about</FONT>
<BR><FONT SIZE=3D2>wording such as:</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;a client SHOULD =
check for the presence of both Host Name</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and Domain Name =
options, forming the FQDN by appending the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Domain Name to the =
Host Name.&nbsp; A client MAY wish to compare</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the Host Name option =
to the Domain Name option to verify</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; that the Host Name =
option does not include the Domain Name</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; part before =
concatenating the parts.&quot;</FONT>
</P>

<P><FONT SIZE=3D2>The proposed wording does not require the client =
either to have local</FONT>
<BR><FONT SIZE=3D2>knowledge of Top Level Domain names or to perform a =
DNS lookup on the Host</FONT>
<BR><FONT SIZE=3D2>Name to determine if it is fully-qualified, which =
are the only two ways I</FONT>
<BR><FONT SIZE=3D2>can imagine for the client to test the name as you =
proposed.</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; since a Host Name =
option's value may be fully-qualified only by</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; supplying the DNS =
domain name, a client that receives a fully-</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; qualified name in the =
Host Name option MAY infer the DNS domain</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name from the suffix =
of the supplied host name.&nbsp; This inference</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remains valid even in =
the presence of client configuration</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; information or =
policies that prefer other name services in</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; favor of, or in place =
of, DNS.</FONT>
</P>

<P><FONT SIZE=3D2>Carl, I don't understand what you're saying =
here.&nbsp; Perhaps a few examples</FONT>
<BR><FONT SIZE=3D2>will show you my confusion:</FONT>
</P>

<P><FONT SIZE=3D2>1.&nbsp; Host Name:&nbsp; &quot;mike&quot;</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp; Domain Name:&nbsp; =
&quot;inside.sales.bluebear.co.uk&quot;</FONT>
</P>

<P><FONT SIZE=3D2>2.&nbsp; Host Name:&nbsp; =
&quot;mike.inside.sales&quot;</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp; Domain Name:&nbsp; =
&quot;bluebear.co.uk&quot;</FONT>
</P>

<P><FONT SIZE=3D2>3.&nbsp; Host Name:&nbsp; =
&quot;mike.inside.sales.bluebear.co.uk&quot;</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp; Domain Name:&nbsp; =
&quot;&quot;</FONT>
</P>

<P><FONT SIZE=3D2>In (1) and (2) appending the Domain Name to the Host =
Name clearly produces</FONT>
<BR><FONT SIZE=3D2>an FQDN, but which is the &quot;correct&quot; =
representation of the &quot;DNS domain name&quot;</FONT>
<BR><FONT SIZE=3D2>since both are valid representations?</FONT>
</P>

<P><FONT SIZE=3D2>In (3), the Host Name *is* the FQDN, but how do I =
parse it properly into a</FONT>
<BR><FONT SIZE=3D2>&quot;DNS domain name&quot; given that simple rules =
such as &quot;use the last two parts of</FONT>
<BR><FONT SIZE=3D2>the name&quot; (which works for things like =
&quot;dot.com&quot;) renders the DNS domain</FONT>
<BR><FONT SIZE=3D2>name as &quot;co.uk&quot; which I don't think is =
what you intend.</FONT>
</P>

<P><FONT SIZE=3D2>&lt;*Snip!*&gt;</FONT>
</P>

<P><FONT SIZE=3D2>4.1 DHCP Client Considerations and Behavior</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; A DHCP client that uses the Host Name =
option to request a DNS</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; update MUST be prepared to =
independently verify the success or</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; failure of the request before using the =
name in a manner that</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; would imply its validity.&nbsp; If a =
DHCP server returns the requested</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; name in the DHCPACK's Host Name option, =
the client MAY infer that</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; the server has honored its =
request.</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; There are a number of reasons that a =
DHCP server may fail to</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; return a Host Name option, so nothing =
should be inferred from the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; option's absence in the DHCPACK.&nbsp; =
The client MAY supply the option</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; on subsequent RENEW operations as a =
method of retrying the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; request.&nbsp; However, if the Host =
Name option is absent in the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; DHCPACK, the client MUST NOT use the =
requested name until it has</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; verified the validity of the =
association between it and the IP</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; address supplied in the yiaddr =
field.&nbsp; Moreover, if the name</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; returned in the DHCPACK is different =
from the one requested, the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; client MUST use the new name.</FONT>
</P>

<P><FONT SIZE=3D2>So, are you implying that (1) if a client does not =
request a Host Name</FONT>
<BR><FONT SIZE=3D2>option from the server [typical of several =
widely-deployed clients!] but (2)</FONT>
<BR><FONT SIZE=3D2>the server returns a Host Name option anyway in a =
DHCPACK, the client should</FONT>
<BR><FONT SIZE=3D2>accept the [presumably] unwanted name?&nbsp; I think =
this will break a whole lot</FONT>
<BR><FONT SIZE=3D2>of deployed clients.</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>&nbsp;&nbsp; A DHCP client MAY send either an =
unqualified or fully-qualified</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; name in the Host Name option.&nbsp; =
Clients sending unqualified names</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; are implicitly relying on DHCP servers =
to associate the clients</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; with the appropriate zone before =
issuing any updates to DNS.&nbsp; A</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; DHCP client in INIT state SHOULD fill =
in the requested host name</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; in the DHCPDISCOVER packet.&nbsp; It =
MUST do so in its subsequent</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; DHCPREQUEST packet.</FONT>
</P>

<P><FONT SIZE=3D2>Here, again, I don't know how the server can reliably =
parse an FQDN sent in</FONT>
<BR><FONT SIZE=3D2>the Host Name option.</FONT>
</P>

<P><FONT SIZE=3D2>&lt;*Snip!*&gt;</FONT>
</P>

<P><FONT SIZE=3D2>4.2 DHCP Server Considerations and Behavior</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; Use of the FQDN option makes it possible =
to easily separate update</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; operations into pieces corresponding to =
what are thought of as the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; traditional ownership boundaries:&nbsp; =
DHCP servers own the addresses</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; they lease, while the clients own their =
names.&nbsp; This boundary is</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; not present when the Host Name option =
is used:&nbsp; the implied proxy</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; update request assumes that the DHCP =
server has sufficient</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; privilege to change both the A and PTR =
records.&nbsp; That is, it</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; ``owns'' both.</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; For this and other reasons, use of the =
FQDN option is preferred:</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; a DHCP server that receives both a Host =
Name option and a client</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; FQDN option MUST prefer the FQDN =
option.&nbsp; In such a case, the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; server SHOULD behave as if the Host =
Name option is not present.</FONT>
</P>

<P><FONT SIZE=3D2>I'm inclined to go further and suggest:</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; &quot;If a server receives both the Host =
Name option and the FQDN</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; option from a client [for whom DNS =
updates are being proxied] the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; fully qualified name formed by =
appending the Domain Name to the</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; client-supplied Host Name MUST be =
identical to the FQDN option</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; for the server to update DNS on behalf =
of the client.&nbsp; The server</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; SHOULD return an error to the client if =
the names do not match.&quot;</FONT>
</P>

<P><FONT SIZE=3D2>This is something that has always bothered me about =
the FQDN option and the</FONT>
<BR><FONT SIZE=3D2>DHCP-DNS update protocol -- is a mismatch an =
unintentional accident or an</FONT>
<BR><FONT SIZE=3D2>attempt to confuse and invalidate DNS =
records?</FONT>
</P>

<P><FONT SIZE=3D2>&lt;*Snip!*&gt;</FONT>
</P>
<BR>
<BR>

<P><FONT =
SIZE=3D2>_______________________________________________</FONT>
<BR><FONT SIZE=3D2>dhcwg mailing list</FONT>
<BR><FONT SIZE=3D2>dhcwg@ietf.org</FONT>
<BR><FONT SIZE=3D2><A =
HREF=3D"https://www1.ietf.org/mailman/listinfo/dhcwg" =
TARGET=3D"_blank">https://www1.ietf.org/mailman/listinfo/dhcwg</A></FONT=
>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C1C484.8CDD11F0--

_______________________________________________
dhcwg mailing list
dhcwg@ietf.org
https://www1.ietf.org/mailman/listinfo/dhcwg


