Do You Have The Time?
RetroGeek writes: "This ZDNet article talks about the perils of the PC clock. And (something I did not know) that Windows XP and Mac OS X both automatically get a time stamp from MicroSoft and Apple respectively. At any rate, my home firewall gets the time every hour from the NIST servers, then each of the machines on my LAN query the time server daemon on the firewall. That way all my home network machines have the same time. And latency on the LAN is next to zero. Now if I can only get my VCR connected. Anyone else running a time server?" So how do you get the time?
I look at a clock. Or maybe my (wind-up) wristwatch.
Sheesh. Geeks. If it ain't digital, it ain't.
Cheers,
Ethelred
Everyone wants to be Ethelred. Even I want to be Ethelred.
Some VCRs including my JVC can get a time signal that is broadcasted by PBS stations via cable. It's wonderful to never have to set that puppy.Combined with ntp for my computers, and WWV for my stand alone clocks (so called 'atomic alarm clocks' I am down to one clock that I have to set - my wristwatch.
Consider running a proper NTP daemon instead.
:)
It has the advantage of not jerking your clock around every time you sync. It makes calculated "smooth" adjustments to keep your clock accurate. It can also use multiple servers.
It's the difference between a perfectly-ticking clock, and one that gets manually reset twice a day to make it (temporarily) accurate.
The biggest impact this will have is if you do file access across the network or need your timestamps to be reliable. Depending on how much your clock drifts, that ntpdate adjustment could back up several seconds. This can wreck havok on timestamp-dependent things, like "make".
Most ntpd distributions make this easier to set up than a crontab entry anyway.
For a few of the european hosts, we use GPS time receivers, primarily the Motorolla Oncore UT+ kits. You can get eval units of these, google around. They're nearly as easy to use, but do require a kernel config change.
It's really kind of addictive playing with time. :-) And you get spoiled by never having any clock weirdness on any of your machines...
..that the Microsoft time server was 3 minutes slow ! This was about 2 weeks ago. I checked it against both another time server, and then the UK speaking clock (dial 123 in the UK) which is synchronised with Greenwich. As a result, I disabled the time synch (right click on the time in the system tray, Adjust Date Time, Internet tab, uncheck the box). I now use the time synchronisation feature that comes with the Dynip client. :(
Since the MS time synch is enabled by default, they really should make sure their server farm has the correct time
Never, ever lose a file again. Ever.
If you're on cable or DSL, most of the upstream routers run proper NTP servers, and they're just a hop away. The bandwidth for running an NTP client is minimal.
To find the nearest NTP server, to a traceroute to a few non-local hosts. Then start at your nearest router and ping each one for a time server using something like 'ntptrace'.
Near-perfect accuracy, just a trickle of data, and your provider will thank you for using nearby machinery.
On your Red Hat Linux server/firewall/whatever (easily adapted to any NTP setup, really):
/etc/ntp/drift /var/run/ntpd.pid /var/log/ntpd
/etc/ntp/step-tickers has the IP addresses for those hosts, all one line (the Red Hat startup script uses these to set the clock at boot, in case it's WAY out of sync.):
ntp.conf:
server time.apple.com
server tick.usno.navy.mil
server tock.usno.navy.mil
# In case the network is down
server 127.127.1.0
fudge 127.127.1.0 stratum 10
broadcastdelay 0.008
authenticate no
driftfile
pidfile
logfile
and
17.254.0.27 192.5.41.40 192.5.41.41 17.254.0.26 17.254.0.31
Then on your LAN, have all your other machines use this machine as the time server. That's it! Never set a clock again.
It's important to have accurate time for many protocols, including HTTP, and also to timestamp your logs accurately for forensics and evidence.
For even more accurate and secure local timeservers, run a GPS antenna to your roof and buy one of these products.
4) ???
5) Profit
"...my home firewall gets the time every hour from the NIST servers,..."
Don't use stratum one servers for your home network. It's wasteful and unnecessary. Use a stratum 2 or higher server or your ISP's server.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
- time.windows.com
- time.nist.gov
Take a wild guess which one I chose...But if you want more choices than that:
This allowed me to set my own choice of NTP server, and then synced from it. Like many other MS 'features', theThis article inspired me to do some dumpster-diving in the Registry... Import this key/value:
default can be changed, if you know how...
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
Comment removed based on user account deletion
the key won't affect the next, but the one after that will read this value to determine the time
for the one after that.
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
Right now I'm doing research in very high precision time synchronization for very large numbers of very small things. My lab does work in sensor networks -- get a tiny little computer with a few sensors and a radio, sprinkle thousands of them out over a building or a battlefield or a forest. Have the network tell you where the fire started, where the enemy is lurking, which light bulb needs to be replaced, or a thousand other things.
You need very time sync to do lots of this stuff -- to track motion, for example. Our current testbed times the flight of sound to tell how far apart things are, and for that we need accuracy on the order of 10 microseconds between clocks.
My research right now centers around a new time sync scheme, called Reference Broadcast Synchronization, which in a recent study I showed is almost an order of magnitude more precise than NTP under the same conditions -- 5 microseconds between a group of nodes with a userspace implementation, and down to 1 microsecond in the in-kernel implementation (which is the resolution of the clock! I'll do better when I have a clock that ticks more than once a microsecond.)
NTP, even under "optimal" conditions -- very high query rate to a stratum 1 GPS-steered clock in our lab--- did no better than 50 microseconds. When we introduced high levels of congestion on the network, NTP degraded by a factor of 30 while RBS was almost unchanged.
Of course, NTP is still a fantastic protocol, and much better than trying to apply RBS to the Internet (which is basically impossible). But for tiny nodes that need very tight time sync, I say, we can do better
Some recent papers you might like are here, including
- "Fine Grained Network Time Sync using Reference Broadcasts" -- the original RBS paper
- "Wireless Sensor Networks: A New Regime for time synchronization" -- my argument as to why NTP shouldn't be used for sensor networks
- "Locating nodes in time and space: A case study" -- description of our testbed that is capable of localizing objects down to 1cm by measuring time of flight of sound, combined with RBS time sync.
It's funny, I'm sitting in the lab right now, tinkering with the testbed when this article should come up.There's latency, and then there's relativity. When the server receives the time request, it takes the current timestamp and puts it in a network packet, which then trickles down the wire to the client. The client receives the packet and then knows what time it was at the server. That's latency. If you're NTP'ing over a dial-up connection from a distant server, the latency can be a second or more in worst cases. (NTP may have features to compensate for this; I couldn't say.)
;-)
Relativity affects the rate at which time runs for two observers in different inertial frames. It doesn't affect synchronization directly; if you ignore or compensate for latency, you can synchronize two clocks in different reference frames. But the clocks will start to drift apart immediately due to the different rates at which time passes in the two frames.
Now here's the cool thing. According to general relativity-- actually, according to my vague recollection of general relativity from a college semester more than ten years ago-- gravity affects the rate at which time passes in a reference frame. In other words, time runs more quickly in a high gravity field relative to a lower gravity field.
It's pretty well known that the local force of gravity varies measurably over the Earth's surface. Depending on where you are, the local force of gravity may be higher or lower.
So if you wanna get accurate, pick an NTP server in a region with a similar local G to yours.
HHOS.
It was right. The GPS time epoch is 0000 UT on 6-Jan-1980. Since then UTC has had 13 leap seconds inserted. This offset is available in the NAV message; maybe the version of NTP you used was ignoring that message or maybe that particular GPS receiver didn't implement that message. (Actually, buggy firmware in GPS receivers has been a problem in the past.)