David Hankins | 2 Oct 2011 06:45
Picon
Favicon

Re: Review of draft-ietf-dhc-option-guidelines

I'm finally getting time to work on this again...

On Thu, Aug 11, 2011 at 1:16 AM, Jiangsheng <jiangsheng <at> huawei.com> wrote:
As agreed in the IETF 81 meeting, I have reviewed draft-ietf-dhc-option-guidelines and have below comments.

Overall, this guideline is very useful. If it was published, it should be recommended in DHC WG charter page.

1. The very first and maybe the most important comment is: it is better to separate DHCPv4 and DHCPv6. It means we should have two dedicated drafts for DHCPv4 and DHCPv6. DHCPv4 and DHCPv6 are similar, but two different protocols. Some of discussions may be common between them, some of discussion may have very different base. Combining this discussion may harmful. Section 9, "option size" is an example. The option size requirements for DHCPv4 and DHCPv6 are different.

Separating them would make the discussion more explicitly and targeting right readers. Say, one who is designing a new DHCPv6 option would not care how this may relevant to a DHCPv4 option.

Furthermore, if DHCPv4 option space has freeze or will freeze, guidelines for new DHCPv4 option may be meaningless.

I agree, but I don't really have the time to separate the draft. :(
 
2. In the introduction section, this draft mentioned support for unknown options. It is unclear for me, at least from the draft contents, how this can happen? It may be possible to add new option at the server side, how the client support it?

The ISC DHCP client and server share the same mechanism described in the Appendix.

My understanding of the Windows DHCP client is that it stores a copy of anything it receives in the registry and applications that require or support a new option will fetch it there.  Unfortunately, my memory is that there isn't a way to add the option to the PRL.  The dhcpinform-clarify draft documents for example the behavior of the Industry Updater ("Windows Updates"), which tickles the DHCP client to send a new set of DHCPINFORMs requesting option 252 - an option not supported (or not requested) by the base DHCP client, but desired by the Industry Updater.

The Solaris client, if memory serves, has an extensive configuration in /etc/dhcp.  Operators can manipulate the parameter request list, and have it request new options.  Again these are stored in a place with a consistent format so the operator's tools can fetch values.

More frequently however this feature is most useful to the DHCP Server operator, as you have indicated.

3. The section 2, "when to use DHCP" does not mentioned "IP address configuration", which is the most important usage of DHCP. Unless this text is dedicate for new DHCP option (the current text does not claim so), IP address configuration should be added.

Well, the section was intended to help with the situation where you have a specified problem, and you are asking if DHCP should be used in the solution.  Certainly, IP addressing is already handled, but so too should it be appropriate to resolve new addressing problems with DHCP.

I tried to provide the generic answer to that question - "any knob, dial, or slider", and only list some examples.  It isn't meant to be a complete list.  I certainly think "my IP address" counts as host configuration.

Do you think the current text is acceptable?

4. Disagree on the order of "when to use DHCP". The current text suggests using DHCP is first because client want information. But, in my understanding, network administration want to push/enforce some configuration is the most important requirements.

The order isn't intended to convey importance...but I think they are of equal importance actually.

It's certainly true that in some cases clients only have a knob because administrators want to be able to set it.  But I don't think for most new options that that is always the case; usually some new protocol or client feature needs a conveyance for configuration state.

5. The draft states, in section 2, "the client still reserves the right to ignore values received via DHCP". That's right. But this may be at their own risk to be rejected by network administration. This kind of observation should also mentioned. Otherwise, the above next may be misleading: client can ignore DHCP configuration without any effect.

This section is specifically trying to answer the question of whether it's appropriate to use DHCP for a particular problem statement.  I don't want to get encumbered in the minutiae of protocol implementation...

The specific problem we've had with objection to using DHCP in a few cases is "we don't want to use DHCP for new protocol X, because I (an IETF attendee) want to be able to configure my laptop myself."

If the protocol workers are quite happy being configured by the network administrator, that is already a solved problem.

6. At the end of section 4, there are some rules how to organize values in the option. There should be more, such as the order of fixed size values, the order of multiple variable sized values.

I don't think there are any current best practices.  We don't sweat micro alignment for particular integer lengths (and it'll be ruined by other options in the payload anyway).

However I think the language is a bit stilted for variable length options.  In DHCPv4 the main variable length options would simply use the rest of the option data.  In DHCPv6 there are some variable length formats.

So there are a few things we've seen that we're trying to avoid.

The first is defining 6 options for one protocol (which is hard on DHCPv4), where the client would request all 6 all the time.

The second was an option I recall that wanted to use a NVT ascii string, followed by a zero byte (NULL value), followed by various fixed length values.  The NULL in this case wastes an octet, purely because of ordering, and complicates client parsing (there's no support for such a thing in most software).

7. section 5, using the conclusion as title can be more explicit: "avoid conditional formatting". This also looks like the title of section 6.

Done.
 
8. the title of section 6 has a typo: avoid alciasing/aliasing

I don't know if I already fixed this, but it's fixed in my xml copy.
 
9. "in the case where the server is configured with all formats, DHCP option space is wasted on option contents that are redundant". This is not necessary true - usage of sub-option can reduce the dhcp option type to be only 1. Although the usage of sub-option is not recommended in the next section. The readers may have question here. Suggest to add one sentence for sub-option and refer to next section.

So, here I think we are talking about an unfortunately overloaded terminology.

The "options space" in the DHCPv4 packet (the area after the BOOTP header) is here referred to as the options space.

The text isn't referring to the DHCPv4 option code space. :(

10. Title of section 7 is misleading. It looks like it will introduce several new formats in this section. Suggest to change as "consideration on creating new formats".

Good point, it's now "Considerations for Creating New Formats".
 
11. in Section 9, the discussion regarding to DHCPv6 cannot draw the conclusion "prefer option formats...in the SMALLEST form factor". Be clear, I do agree the conclusion, but not the analysis.

Do you think it is possible to describe a specific upper fixed limit for DHCPv6 in all deployments?

I don't see how the conclusion isn't supported by the evidence.

12. That the address is better than FQDN is a bad example for we should separate DHCPv4 and DHCPv6 discussion. FQDN has become favourite over IPv6 address in many recent DHCPv6 option design. We have RFC6334, draft-ietf-mif-dhcpv6-route-option and etc. The FQDN is more flexible and may benefit in load-balance scenarios.

I don't agree.  The FQDN has been selected in recent work despite that it is technically inferior.

The entirely non-technical motivations for those decisions will continue to over-rule any guidelines we set here.

13. This draft says nothing about option orders, which is also important. The principle should be not give any specific order when design a new DHCP option. The option should be allowed to appear any place in the DHCP message. The only exception is security option(s). They need to perform algorithm over all other options. They may be allowed to located at the end.

It gets very hard to write concise language here, since the DHCPv6 style of options is for options to contain options whose codes are taken from the same option spaces.  "Anywhere in the packet" is nice and simple, but very wrong in DHCPv6.
 
14. draft-ietf-dhc-secure-dhcpv6 should be mentioned in the security consideration section. If it deployed, some threats, like man-in-middle can be prevented since it introduced an data integrity protection for DHCPv6 messages.

Are option contents authors going to format their options differently from this information?

Mostly, I'd prefer not to gate publication of the draft on the publication of another draft.

15. The text regarding to fixed/variable length options in security consideration section looks mis-located for me. They are not security relevant.

Buffer overflows are security problems, especially since most DHCP client software is run by the system's super-user (or in simple firmware, having no user separation).  An author of a DHCP option draft would do well to try to think about how they can word the presentation of their option to enhance an implementor's wariness of buffer overruns.

--
David W. Hankins
SRE - Systems Engineer
Google, Inc.
_______________________________________________
dhcwg mailing list
dhcwg <at> ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg
David Hankins | 2 Oct 2011 07:08
Picon
Favicon

Re: Review of draft-ietf-dhc-option-guidelines

On Sat, Oct 1, 2011 at 9:45 PM, David Hankins <dhankins <at> google.com> wrote:

13. This draft says nothing about option orders, which is also important. The principle should be not give any specific order when design a new DHCP option. The option should be allowed to appear any place in the DHCP message. The only exception is security option(s). They need to perform algorithm over all other options. They may be allowed to located at the end.

It gets very hard to write concise language here, since the DHCPv6 style of options is for options to contain options whose codes are taken from the same option spaces.  "Anywhere in the packet" is nice and simple, but very wrong in DHCPv6.

I tell a lie, the "Clients Request their Options" section gives advice not to rely on any ordering unless in the most dire of circumstance.

The discussion does go along with ORO/PRL, since there can be an expectation that the ORO/PRL order leads to packet ordering.

-- 
David W. Hankins
SRE - Systems Engineer
Google, Inc.
_______________________________________________
dhcwg mailing list
dhcwg <at> ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg
David Hankins | 2 Oct 2011 07:19
Picon
Favicon

Re: New Version Notification for draft-ietf-dhc-option-guidelines-07.txt

On Sat, Oct 1, 2011 at 10:10 PM, <internet-drafts <at> ietf.org> wrote:

A new version of I-D, draft-ietf-dhc-option-guidelines-07.txt has been successfully submitted by David Hankins and posted to the IETF repository.

Filename:        draft-ietf-dhc-option-guidelines
Revision:        07
Title:           Guidelines for Creating New DHCP Options
Creation date:   2011-10-01
WG ID:           dhc
Number of pages: 18

Abstract:
  This document seeks to provide guidance to prospective DHCP Option
  authors, to help them in producing option formats that are easily
  adoptable.
 
In this version I've incorporated edits from Jiangsheng's review, an assortment of minor editorial changes (commas, pluralization, s/byte/octet/ for consistency (the RFC editor would only do this anyway)).

One notable addition beyond this is the inclusion of an extra sentence to clarify the meaning of "protocol level" options:

  "; these options carry data that is the result of a routine in some DHCP software"

For full context, the new text;

   There are at least two classes of DHCP options: A bulk class of
   options which are provided explicitly to carry data from one side of
   the DHCP exchange to the other (such as nameservers, domain names, or
   time servers), and a protocol class of options which require special
   processing on the part of the DHCP software or are used during
   special processing (such as the FQDN options ([RFC4702], [RFC4704]),
   DHCPv4 message type option [RFC2132], link selection options
   ([RFC3011], [RFC3527]), and so forth; these options carry data that
   is the result of a routine in some DHCP software).

--
David W. Hankins
SRE - Systems Engineer
Google, Inc.

_______________________________________________
dhcwg mailing list
dhcwg <at> ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg
internet-drafts | 2 Oct 2011 07:30
Picon
Favicon

I-D Action: draft-ietf-dhc-dhcpinform-clarify-06.txt

A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item
of the Dynamic Host Configuration Working Group of the IETF.

	Title           : Dynamic Host Configuration Protocol DHCPINFORM Message Clarifications
	Author(s)       : David W. Hankins
	Filename        : draft-ietf-dhc-dhcpinform-clarify-06.txt
	Pages           : 9
	Date            : 2011-10-01

   The DHCPINFORM message within the DHCPv4 protocol has in operation
   diverged incompatibly from the current defined standard.  This
   document seeks to provide clarification of actual behaviour and
   guidance for some situations that were previously omitted.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-dhc-dhcpinform-clarify-06.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

This Internet-Draft can be retrieved at:
ftp://ftp.ietf.org/internet-drafts/draft-ietf-dhc-dhcpinform-clarify-06.txt
Ralph Droms | 3 Oct 2011 22:05
Picon

review of draft-ietf-geopriv-dhcp-lbyr-uri-option

I'd appreciate a review of draft-ietf-geopriv-dhcp-lbyr-uri-option.  Are there any issues, especially
with the option format, the suggestions about dealing with large URIs or the inclusion of a separate
lifetime in the Location URI?

- Ralph
Ted Lemon | 3 Oct 2011 22:22

Re: review of draft-ietf-geopriv-dhcp-lbyr-uri-option

On Oct 3, 2011, at 4:05 PM, Ralph Droms wrote:
I'd appreciate a review of draft-ietf-geopriv-dhcp-lbyr-uri-option.  Are there any issues, especially with the option format, the suggestions about dealing with large URIs or the inclusion of a separate lifetime in the Location URI?

Having a separate lifetime is certainly an issue!   :)

_______________________________________________
dhcwg mailing list
dhcwg <at> ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg
James M. Polk | 4 Oct 2011 00:03
Picon
Favicon

Re: review of draft-ietf-geopriv-dhcp-lbyr-uri-option

At 03:22 PM 10/3/2011, Ted Lemon wrote:
>Content-Language: en-US
>Content-Type: multipart/alternative;
>         boundary="_000_2207D364CADB43D2907B204180A6E4CCnominumcom_"
>
>On Oct 3, 2011, at 4:05 PM, Ralph Droms wrote:
>>I'd appreciate a review of 
>>draft-ietf-geopriv-dhcp-lbyr-uri-option.  Are there any issues, 
>>especially with the option format, the suggestions about dealing 
>>with large URIs or the inclusion of a separate lifetime in the Location URI?
>
>Having a separate lifetime is certainly an issue!   :)

This wasn't my idea. This was something several members of the 
Geopriv WG wanted, and the chairs directed me to incorporate it into the draft.

Geopriv as a WG is worried about location information becoming or 
being stale (i.e., old or out of date or "no longer 
valid/applicable"). I tried to argue that what this doc does is 
create a means to download the URI pointing to the location 
information (of a client) that can change without updating the URI. 
But some believed (and still do) that if the location of the client 
changes, so must the URI.

I lost that battle.

I have no problems with having the location URI lifetime be exactly 
the same as what covers the rest of what comes from DHCP (i.e., use 
of one lease is good enough for me, but the WG needs to be convinced of this).

James

>_______________________________________________
>dhcwg mailing list
>dhcwg <at> ietf.org
>https://www.ietf.org/mailman/listinfo/dhcwg
Ted Lemon | 4 Oct 2011 01:03

Re: review of draft-ietf-geopriv-dhcp-lbyr-uri-option

On Oct 3, 2011, at 6:03 PM, James M. Polk wrote:
Geopriv as a WG is worried about location information becoming or being stale (i.e., old or out of date or "no longer valid/applicable"). I tried to argue that what this doc does is create a means to download the URI pointing to the location information (of a client) that can change without updating the URI. But some believed (and still do) that if the location of the client changes, so must the URI.

Wouldn't the client get a new address if its location changed?
_______________________________________________
dhcwg mailing list
dhcwg <at> ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg
teemu.savolainen | 4 Oct 2011 09:47
Picon

Re: Call for review: draft-ietf-mif-dns-server-selection-04.txt

Hi,

 

I would especially appreciate review of the sanity of the DHCPv4 option structure and usage. Comments to DHCPv6 option and other points are of course welcome as well.

 

Best regards,

 

                Teemu

 

From: dhcwg-bounces <at> ietf.org [mailto:dhcwg-bounces <at> ietf.org] On Behalf Of Savolainen Teemu (Nokia-CTO/Tampere)
Sent: 20. syyskuuta 2011 22:13
To: Ted.Lemon <at> nominum.com; dhcwg <at> ietf.org
Subject: Re: [dhcwg] Call for review: draft-ietf-mif-dns-server-selection-04.txt

 

Hi, we were planning to update to -05 before soliciting dnsext/dnsop/dhc comments.. here is the -05 as I have it currently updated after quite some tsv-area comments. Please check out this -05 instead if you did not read -04 yet.

 

http://www.ietf.org/id/draft-ietf-mif-dns-server-selection-05.txt

 

Thanks,

 

                Teemu

 

From: dhcwg-bounces <at> ietf.org [mailto:dhcwg-bounces <at> ietf.org] On Behalf Of ext Ted Lemon
Sent: 20. syyskuuta 2011 18:52
To: dhc WG    
Subject: [dhcwg] Call for review: draft-ietf-mif-dns-server-selection-04.txt

 

There's a document going through the mif working group that defines a new DHCP option for configuring DNS resolvers.   The document allows the DHCP server to send the DHCP client a list of domains for which specific name servers should be used instead of the name servers configured in the DNS Recursive Name Server option.   It would be helpful if some DHC working group members could review the document to see if they can find any problems with it.   If you are interested in discussing the validity of the practice described in the document, dnsop or dnsext is probably the right place; if you are interested in making sure that it's a well-formed DHCP option that is clearly described and can be implemented in such a way that interoperability is likely, this is the place.

 

The draft is at:

 

 

Thanks!

 

Attachment (smime.p7s): application/pkcs7-signature, 4580 bytes
_______________________________________________
dhcwg mailing list
dhcwg <at> ietf.org
https://www.ietf.org/mailman/listinfo/dhcwg
James M. Polk | 4 Oct 2011 19:32
Picon
Favicon

Re: review of draft-ietf-geopriv-dhcp-lbyr-uri-option

At 06:03 PM 10/3/2011, Ted Lemon wrote:
>On Oct 3, 2011, at 6:03 PM, James M. Polk wrote:
>>Geopriv as a WG is worried about location information becoming or 
>>being stale (i.e., old or out of date or "no longer 
>>valid/applicable"). I tried to argue that what this doc does is 
>>create a means to download the URI pointing to the location 
>>information (of a client) that can change without updating the URI. 
>>But some believed (and still do) that if the location of the client 
>>changes, so must the URI.
>
>Wouldn't the client get a new address if its location changed?

that argument was tried and failed too...

2 reasons were given:

#1 - some were thinking that really flat networks wouldn't 
necessarily change the router interface even when the dot11 APs changed;

#2 - cellular doesn't change an IP address even though an AP or tower 
changes (DHCP is now part of IMS for those that didn't know).

James

Gmane