[ntpwg] [dhcwg] Network Time Protocol (NTP) OptionsforDHCPv6
Richard Gayraud (rgayraud)
rgayraud at cisco.com
Thu Nov 29 17:36:58 GMT 2007
Hello All,
Thank you very much for all your comments about our draft.
Benoit and I did not expect such a passionate discussion when we
submitted it 3 weeks ago.
With this email, I would like to summarize the current
situation, objections, issues, and possible solutions. We will
try to take into account as much as possible of the remarks and
questions. The possibility of an increased risk of catastrophic
event will be considered very carefully and will be mitigated.
First of all, I would like to expose again the motivation for
this work (I believe there was some confusion about the
rationale for it):
System administrators like to configure a large number of hosts
from a centralized DHCP server. Today, DHCP is a protocol of
choice for remote configuration of IP hosts. DHCPv6 is lacking
the ability to configure NTP clients. This is our main
motivation. So, this work is not intended to address some
hypothetical NTP requirement to improve its peer discovery
mechanisms. Instead, this work is intended to address a DHCPv6
need to include NTP configuration. In other words, we are
working in the context of DHCPv6, to make it more comprehensive.
One may argue that some other protocol than DHCP might be more
suitable for this, but our precise purpose is to extend DHCPv6
expressiveness.
This is not a replacement for existing NTP configuration
mechanisms. This will simplify the work of system administrators
(or ISPs) by allowing global, remote configuration of NTP
clients, instead of individual, per-host configuration of the
ntpd.conf file.
We try to be implementation agnostic. As someone mentioned,
the parameters we selected exist in the reference implementation,
but they are also clearly defined as part of the NTPv4
specification. The relevance of these parameters in DHCP
will be discussed. Some of will be removed, some will be added
(I encourage people in the NTP WG to propose some other useful
parameters). All depends on the level of expressiveness we want
to give to DHCP regarding NTP. In any case, all parameters will
be optional (in the same way they are in ntpd.conf). Only the
server identity will be required (IP address or FQDN depending
on the outcome of the discussion about this).
That being said, I tried to collect all the issues you raised in
a sort of 'dashboard' that I will update.
Issue #1: DHCPv6 NTP option may trigger some catastrophic event
---------------------------------------------------------------
This is similar to what happened in the past with hardcoded NTP
servers IP addresses in SOHO routers. We can imagine that a
badly designed SOHO equipment with an embedded DHCP server would
advertise a hardcoded address over the SOHO LAN. There has been
no consensus yet about the validity of this scenario:
- Some people think adding the possibility to carry an FQDN
instead of an IP address will solve this,
- Others think FQDN will not solve the issue but move it to the
DNS system, (though it might reduce the amplitude of the issue
due to the distributed nature of DNS),
- Others think this is a non-issue as DHCP servers in SOHO
equipments only redistribute information they got from their
client side. Bigger DHCP servers are manually configured.
The same problem would happen to DNS servers if SOHO equipments
would contain hardcoded DNS servers addresses. But in the case
of DNS, DHCP have contributed to avoid the issue rather than
amplifying it (please refer to the 2 messages Mark Andrews sent
on sunday and monday for details).
Unless we all agree with Mark Andrews that this is a non-issue,
we need to fully understand the exact use case involved if this
problem can happen, and provide a way to avoid it. Next week
discussions might be a good opportunity to clarify this.
=> Possible solutions include:
- use of FQDN,
- add clear statement an NTP server IP address MUST NOT be
hardcoded in a DHCP servers, unless it points to an equipments
operated by the vendor. describe the risk in the document
itself
- mandatory use of FQDN ?
- aren't KOD packets part of the solution ? (This draft only
addresses NTPv4 clients with IPv6 connectivity). Maybe we
can enforce support for KOD for clients supporting DHCP NTP
configuration.
Issue #2: Use of FQDN should be allowed for DNS indirection
-----------------------------------------------------------
Regardless the outcome of Issue #1, there seems to be some
interest in the community to carry either an IP address or an
FQDN (ntpd.conf also offers FQDN as a way to specify server
identity).
We could re-define the option syntax to use sub-options. FQDN
and Server address being 2 possible sub-options. Other
parameters (if suitable) could also be defined as sub-options.
Issue #3: Irrelevant parameters (maxpoll/minpoll/burst/iburst)
--------------------------------------------------------------
When writing the first version of this draft, one of our goals
was to allow better control of the tradeoff between NTP clock
precision and traffic generated over a LAN. IPv6 has a large
address space, and an IPv6 subnet can contain a huge number of
hosts. Thus, it may be suitable to reduce the amount of traffic
generated by NTP clients. On the other hand, some deployments
may require fast and precise clock synchronization. Hence the
Maxpoll, Minpoll, Burst and IBurst parameters. Again, these are
not mandatory and will rarely be used.
- some people says you have to be an expert to set these
parameters and these should not be opened.
=> I do not understand why theworkstation users (controlling
their individual ntpd.conf file) would be more skilled to
set these parameters than network administrators (controlling
the DHCP server)?
If some parameter is questionable in a DHCP option, I think it
is also questionable as an ntpd.conf option. Isn't it?
I do remember examples of customers requesting that their NTP
clients quickly sync (and acquire time) on startup. If the network
administrator wants NTP this kind of behavior, he will set the
Burst flag to reach fast NTP convergence. Anything I missed here?
Issue #4: "maxpoll is useless"
------------------------------
Even people who like additional parameters, agree to say that
maxpoll is useless (Brian, Dave). Could you explain why this is
useless?.
Issue #5: "delay is useless"
----------------------------
The delay field serves as a trigger to enable/disable the
client volley in multicast mode. Again, I don't understand why
this is useless. The goal of this parameter is not to have the
DHCP server to measure the network delay. It is simply to allow
the network administrator to manually configure a constant delay
to compensate for having no volley (please refer to
http://www.cis.udel.edu/~mills/ntp/html/confopt.html where the
'broadcastdelay' option has a similar purpose). I believe the
default 4ms might not be suitable for all network topologies.
Issue #6: "multiple instances versus list of addresses"
-------------------------------------------------------
The use of multiple instances of the same DHCP option to
advertise several NTP servers seems to be somewhat confusing.
Depending on the decision made for other issues, we will
probably change the syntax of the options (or sub-options if
any).
Having a list of "struct" or "records" is not usual in DHCP and
it is not guaranteed that implementations will support it. This
is why we opted for the simpler "multiple instances option" as
we have some per-server configuration parameters (Key-ID, issue
#7, might become another one). Any suggestion for a better
syntax allowing a list of "struct" to be carried over DHCPv6 is
welcome.
The sub-option syntax would enable easier future evolutions, but
it seems difficult to use it to attach per-server parameters like
Burst or Key-ID (unless we consider the order of sub-options to
be relevant, which is a bit weird, isn't it?).
Issue #7: Key ID
----------------
Some people suggest it might be useful to carry a Key ID with
each server name/address. There is no opposition to this I
believe.
Issue #8: Carrying an URL for a config file
-------------------------------------------
This has been suggested a few times, but has 2 major drawbacks:
- It requires the client to be ftp/tftp/http-enabled (a lot
of complexity on the client),
- It would be implementation dependant,
If sub-options are used in the DHCP message, we will certainly
have the same level of flexibility.
----
Please tell me if I made any mistakes, I would like to converge
on a comprehensive list of issues.
Thanks you very much,
Richard.
More information about the ntpwg
mailing list