|
Don’t believe me? Remember the panic and paranoia that hit the headlines with regards the Millennium Bug?! Yup, we were
all sure that on midnight when the year ticked over to 2000 the world was surely, most definitely going to end. But
guess what? It didn’t! But the fear was not completely unjustified…. Time needs to be carefully coordinated, reliable
and accurate. If it is not, then it might cause DNS caches to expire, causing such horrors to happen such as the
Millennium Bug. Thankfully, due to the complex, and frankly brilliant, nature of NTP, the end of the world did not occur.
We also need time to be spot on if we’re to avoid crashes when we’re flying back from our hols in Spain, if we want to
buy something off an auction website and also to schedule TV networks. Without our computers and internet servers running
on accurate time, the world would be full of all sorts of confusion. Data files might expire before they were even
created and you might receive an email before the sender had even written it. Crazy.
Now I have your attention, and you are definitely convinced that our lives would be a far worse place without the
wonders of NTP, you are probably scratching your head as to think – where on earth did NTP come from?
Here’s one of the
clever chappies who helped develop the idea, Professor David L. Mills, from the University of Delaware.
Not only
does he have the ability to grow impressive facial hair, but during the 80’s he was all about the synchronizing of
computer network time. The protocols that he developed have evolved into the Network Time Protocol.
During the early 1980’s, an Internet Clock Service was developed. It came about as there was need for clock
synchronization for the ‘HELLO routing protocol’ (one of the first examples of messages being sent electronically
over a very early system of what we now know as the ‘can’t-live-without-it-internet’.) The service was based on
very basic calculations and only had an accuracy of several hundred milliseconds. Still, it was a start…
In 1988, the specification of the protocol and accompanying algorithms (that’s complicated calculations for the
non technical talkers of us…) were completed for the first version of NTP. As well as the specification of the
protocol and algorithms, it also included early versions of other aspects of NTP such as the clock filter
(which are used to cut out computer jitter).
1989 saw the creation of NTP Version 2. The second version included features such as NTP Control Message Protocol
for use in managing NTP servers and clients and the cryptographic authentication scheme based on symmetric-key
cryptography. Both of these have survived to the present day version of NTP.
However, 1989 also saw another time synchronization protocol come on the scene - Digital Time Synchronization
Service (DTSS). Both the DTSS and the NTP communities had much the same goals – that of accurate and reliable time –
but had different strategies for achieving them. The people on the side of NTP thought that DTSS had a problem
with losing accuracy as DTSS did not discipline the clock frequency. On the side, the DTSS community criticised
how NTP lacked the formal correctness principles in the design process.
Rather than getting mad, the people involved with NTP did what anybody else would do in their situation. They
‘borrowed’ the ideas from DTSS and included them with their own. In 1992, thanks to combining the good ideas of
DTSS and NTP, the official internet standard of NTP (version 3) was created. NTP Version 3 introduced formal
correctness principles, revised algorithms and a broadcast mode was added to the protocol.
In 1994, a kernel model for precision timekeeping described a new implementation and interface. The implementation
could keep time with a precision of up to one microsecond. Since then, both the specification and the implementation
of NTP is being continuously improved with version 4 underway. Version 4 includes such shiny, spangly, must have
features regarding automatic configuration, reliability, Internet traffic reduction and authentication. A new kernel
clock model is also being developed which can keep time with a precision of up to one nanosecond.
So, I think you’ll agree that the development of NTP is surely a marvelous one. As time goes on, so does the
improvement of NTP and it is only going to get better and better with further improvements. And just as well,
for where would we be without it? Probably, stuck in yesterday’s time zone reading tomorrow’s emails…
|