[ntp:questions] WARNING: someone's faking a leap second tonight

Brian Utterback brian.utterback at oracle.com
Sat Aug 4 18:32:53 UTC 2012

The relationship between a protocol, the RFC that defines it and the 
reference implementation (if there is one) is often not straight forward.

The early RFC almost all documented existing programs and the protocols 
that they implemented. This tradition has continued to this day because 
a working implementation is always preferable to a theoretical set of 
standards. However, it is often the case that new standards are designed 
by committee, with the (hopefully) best minds debating the features 
required. You can get amazing protocols that way, but you can just as 
easily end up with something that is never implemented.

In the case of NTP, the reference implementation came before the RFC, 
with the RFC basically documenting the protocol that the ref-impl was 
already used. Since the ref-impl continues to be an experimental 
platform at its core, with most of the protocol controlled by Dr. Mills, 
this is still the case.

So, an RFC defines the protocol and it is true that when others seek to 
implement NTP, it is the RFC they follow. But the ref-impl is still the 
gold standard that the RFC follows. And has been previously noted, this 
makes it tricky to fix bugs in the protocol. One needs to be very 
careful that the behavior is not intentional and just not yet documented 

On 08/04/12 12:28, unruh wrote:
> On 2012-08-04, David Woolley<david at ex.djwhome.demon.invalid>  wrote:
>> Harlan Stenn wrote:
>>>> Oh, my mistake:  I quote RFC5905 below, which is for NTPv4, which is
>>>> technically in _draft_ status - though it does seem pretty far along and
>>>> I believe current ntpd adheres to NTPv4, not v3.
>>> The NTP code *defines* the spec, and there will be times when the
>> I think you mean the "ntpd reference implementation", e.g. Microsoft's
>> NTP code does not define the standard.
> And it is a reference implimentation, not the definition. Ie, it is an
> implimentation that is supposed to follow the standard. It does not
> define the standard.
>> Also, I don't think this is the correct relationship between RFCs and
>> reference implementations.  An RFC specifies the protocol for a specific
> I think that the reference implimentation impliments a specific rfc. Ie,
> the rfc comes first.
>> reference implementation.  If you do more than fix bugs in the reference
>> implementation, you need a new RFC before it becomes the standard.
> An rfc is just a request for comments. It is NOT a standard. It may
> become one ( although I think none of the ntp rfcs have actually ever
> become standards).
> _______________________________________________
> questions mailing list
> questions at lists.ntp.org
> http://lists.ntp.org/listinfo/questions


Always code as if the guy who ends up maintaining your code will be a
violent psychopath who knows where you live. - Martin Golding
Brian Utterback - Solaris RPE, Oracle Corporation.
Ph:603-262-3916, Em:brian.utterback at oracle.com

More information about the questions mailing list