There are some services on the Internet that are taken for granted. Network Time Protocol (NTP) is one of those bits of infrastructure that few people even think about. There are some elements of NTP that are showing their age — it is one of the oldest protocols used as widely as it is on the internet — but it performs its function quite capably. If the device you are using to read this shows the correct time, it is probably synchronising its clock using NTP. But what is it synchronising to?
A number of volunteers contribute their bandwidth and other resources to the NTP Pool Project, "a big virtual cluster of timeservers providing reliable easy to use NTP service for millions of clients." But how do these timeservers know what time it is? Are there some "clock masters" who check the accuracy of some Internet-connected timepieces? That's actually not a bad analogy; but we also need to understand what beat those Internet-connected timepieces "tick" to, and understand a little about the nature of time (without getting too philosophical).
The primary time standard around the world is Co-ordinated Universal Time, or UTC. This is closely linked to International Atomic Time, TAI, which in turn is linked to the definition of a second as vibrations of energy between two atomic states. For anyone who does not possess easy access to an atomic clock, there are other ways to get accurate atomic time:
- the MSF radio time signal broadcast from Anthorn in the UK
- the German national physics laboratory DCF77 transmitter
- satellites containing atomic clocks, such as the GPS constellation
We settled upon the LeoNTP manufactured by Leo Bodnar electronics, mainly because of its small footprint and very good power efficiency. It is a GPS receiver and NTP server in one unit. All that remained was to perform some testing, and then installation:
It’s tiny, even compared to Middle Monty, but this https://t.co/FAo4hwy13O GPS stratum 1 master clock from @LeoBodnar will fill its 100M network uplink to serve time. Wow! The moose now want to go install it somewhere ironic… what are they up to? pic.twitter.com/WzdBtrhPIu— Network Moose (@NetworkMoose) 14 January 2018
Unfortunately, even with high-gain and amplified antennae, we were not able to use the LeoNTP indoors in either of our Manchester datacentre facilities. We also felt that approaching the datacentre operator there would have been prohibitively expensive. Thankfully the datacentre operator of our Geneva facility, Infomaniak, were very understanding and happy to accommodate our co-axial cabling needs. It took a few emails, and would cost us a few hundred Euros, but all the pieces of the puzzle were then in place for installation. I particularly liked the irony of a high quality time source being installed in a Swiss datacentre!
The latest recruit to the Network Moose team might be tiny, but he’s packed full of irony. Here he is installing a @LeoBodnar LeoNTP GPS clock… in Switzerland! Just the antlerenna to be cabled to the roof, and this latest clock will be ticking! pic.twitter.com/hy8vcKTeJo— Network Moose (@NetworkMoose) 23 March 2018
A couple of days after handing the aerial and cables to the datacentre technicians, our LeoNTP had GPS signal reception. We promptly added it to our automated server configurations and, of course, the NTP Pool.
What benefits does this bring us, as a hosting provider?
We derive huge benefits from the NTP Pool. Among other things, we need accurate clocks on our servers to that two-factor authentication using TOTP will work. We offer TOTP as a second factor on our CRM as a service, and use TOTP for various internal login systems. Given that we benefit from a stable and reliable NTP Pool, we felt that we should give something back — and that is one of the reasons why we host so many NTP servers on our networks.
But another benefit is for our customers. We aren't relying on other operators' servers for our definition of time, or worse, operating with a "smeared" leap-second. By operating our own NTP infrastructure our network's clocks have traceability back to the global standard. This can be important when gathering evidence, it helps with incident investigation, and simplifies correlating events across a cloud of servers.