GeodSoft logo   GeodSoft

Computer Time Synchronization
A Beginner's Guide to Network Time Protocol (NTP)

Warning! This page contains obsolete information.

Installing NTP Clients and Servers on Windows

To some degree this page is obsolete because all the 9x Windows systems are discontinued and unsupported as is NT. 2000 and XP have limited Microsoft support for NTP included. For anyone still using a 9x system either the Automachron or NetTime products discussed below should work fine. They also have not been developed recently. For NT any of the products discussed below should work. I am not personally familiar with the newer Microsoft products, but from the description of someone I trust, all the products described below are superior to the Microsoft implementation in standard desktop version of XP. If you have one or a few desktop systems and are looking for a very simple solution then Automachron is the answer. At the opposite extreme, if you want a fully NTP standards compliant server, that gives you control of all options, then you want a binary port as discussed in the fourth option below.

Three SNTP products for Windows are discussed here, one client only and two client server. All are free for personal and commercial use, but only NetTime is true open source. If you're already running ntpd (or timed) on multiple Unix machines, you may want to run NTP client only software on your Windows machines, avoiding the minor additional complexity introduced by Windows time servers. What and How explains NTP basics and Public NTP Servers tells how to find public time servers referred to here.

The best Windows SNTP products I know of are 1) Automachron, a reliable, simple but flexible, client only time synchronizer that runs on all Windows platforms, with very good report and logging options. 2) World Time 5 (as of April 2005, the current version is WT6) is a versatile clock and scheduling product including client and optional SNTP server synchronization for all Windows platforms. 3) The open source, NetTime, SNTP product has both client and server capabilities on all Windows platforms. It runs as system tray and / or service on NT and 2000. 4) A port of the current NTP source to Windows. This provides full ntpd client server capabilities on NT and latter Windows platforms.

1) Automachron: time sync only client, all Windows
2) World Time 5: clock & sync client, all Windows
3) NetTime: SNTP client and server, all Windows
4) Ntpd: full NTP client and server for Windows NT, 2000, XP
Recommendations and Suggested Configurations
Automachron

When I first searched for Windows computer time synchronization software, I did not find any open source NTP Windows clients but I did find an excellent, freeware product with no restrictions regarding use in commercial environments. This is Automachron from http://www.oneguycoding.com/automachron/ which is mentioned on the Other Time Software page. I forget the install procedure because it was a standard, trivial Windows install, that worked as it should, the first time.

Automachron typically runs as a system tray program on Windows 95 - 2000. On NT it can be made to run as service with the NT resource kit program, srvany. Automachron has many options starting with the ability to pick NTP servers, protocol version and port, and save these settings for later use. It can poll servers at any user specified interval or be a passive broadcast client, if local ntpd servers are in broadcast mode. It has a report only mode where it displays results without adjusting the system clock. It can wait for a dial-up connection, set limits on how much the clock can be adjusted, and log everything it does with very detailed results. Automachron displays much more than delay and offset information. In addition to supporting NTP it also connects to Time Protocol servers (timed on UNIX). All Automachron options can be changed at any time, by selecting Properties from the system tray icon.

Automachron was my NTP solution on my Windows NT workstation for about a year. I installed ntpd (the Trimble port) on my workstation briefly but had problems and returned to Automachron for my workstation time synchronization program. Recently (June 2001) I began running Net Time instead but held Automachron in reserve in case there are problems with Net Time. Automachron is so simple and trouble free that there is little point in trying to figure out what the problem is with any other software on the workstation. I've never seen any visible time discrepancy between the workstation and any other computers when Automachron does the synchronizing.

World Time 5

I found World Time 5, available from http://pawprint.net/wt/, after my original time software searches. It's free and runs on all Windows platforms. It uses Simple Network Time Protocol (SNTP) to synchronize with public time servers. It includes a long list of stratum 1 servers and has an option to cycle through them or select a single server for use. You can add others you know of. I had to turn the annoying default synchronize sounds off. The World Time authors also provide an SNTP server as a separate application downloadable from the same web site. (This is now included.)

Time synchronization is only one of World Time's many time related functions. I wanted a clock that would display UTC. World Time will display as many clocks as you have room for in any time or date and time format and display the correct time from any geographical location. It includes an alarm manager with audio and or visual reminders and the ability to start software. There's also a calendar and as many stop watches as you want and some other time related applications. This well done example of freeware gets 5 stars at ZDNet.

I did have a problem with World Time though. The only computer it could consistently get a connection to was bitsy.mit.edu. It never connected to any of my local servers by name or IP address. Automachron on the other hand appears to connect with complete reliability wherever it's pointed and by name or IP address. Maybe Automachron just tries harder and doesn't log individual failed packets and World Time logs every failure. Still, I don't like running software that's logging 2 or 3 failures for every success. After a short time, I returned to Automachron for time synchronization, while using World Time for it's other features. As I had other time synchronization issues on my NT workstation it's possible this was a workstation and not a Worldtime problem. On the other hand, two different SNTP based products worked with complete reliability in exactly the same environment.

NetTime

In June 2001, a reader brought NetTime, available from http://sourceforge.net/projects/nettime/ to my attention. Unlike the other Windows specific products listed on this page, which are simply freeware, NetTime is a true open source product. It's an original implementation of the SNTP protocol and available with source code under a BSD open source license.

After downloading the NetTime install .EXE, you're prompted if you want to install NetTime, and then presented a typical Installshield screen. The first option is the install location and then Start Menu group after which the actual install is performed taking only a few seconds. On Windows NT and 2000, you are given an option to install NetTime as a service, which I'd strongly recommend. The prompt tells you that you must be logged in as an administrator for this to work. Last you are prompted to configure NetTime. This is a necessary step.

There is an Auto Configure option. It tries servers in its own list and searches for local servers. In two attempts, it found and recommended one of my local NTP servers, but does not enter this information into the server address fields. It simply locates the NTP or SNTP server with the smallest "netlag" which is not synonymous with NTP synch distance. The suggested server is probably a good single server choice.

NetTime allows up to five time server addresses by name or IP number. It offers three protocol choices per server. I used the SNTP protocol choice. The standard UNIX Time protocol on port 37 is also available as both TCP and UDP. For each potential server, you can invoke the "Find" option which lets you select servers from a geographical tree of known public time servers (a mixture of stratum 1 and 2 public servers) and test each. Each that's reached, is saved in a list with the net lag shown, allowing you to select one as your time server. Find can also search for local time servers not in NetTime's lists.

The last NetTime install option asks if you want it to run as a system tray item. The answer is not important, if it's running as a service on Windows NT or 2000. You can remove it from the system tray at any time and put it back by selecting it from the start program menu. On Windows 95, 98 and ME, if it's not running in the system tray, it won't be running. The system tray allows a forced manual time synchronization or brings up the configuration dialog for updates. Any choice made during the install can be changed at any time.

I installed NetTime on two NT workstations. Both found and synchronized from both my Linux and NT NTP time servers and neither could find my OpenBSD time server, but will use the OpenBSD time server if pointed to it. The Linux and NT as well as other client NTP machines have no difficulty locating the BSD NTP server and Automachron on the same NT workstation also finds and uses the BSD NTP server. On the other hand World Time, mentioned above, cannot find any of the local NTP servers and has difficulty with many outside public time servers. I've been running NetTime on my NT workstation for about 6 months now (Dec 2001) and have never had any problem with it. I think it's a pretty clear first choice for an all around Windows time synchronization product with no extra frills.

NetTime includes an option that allows it to act as a time server to other machines. This is just a simple check box on the configuration dialog. There is no reason to think that this would not work on 95, 98 and ME machines but requires that the desktop be open even if no user is actively using it. As a service on NT or 2000 no user needs to be logged in.

If you change the time on a computer running NetTime, it will almost immediately launch a dialog box telling you of the discrepancy and giving you a choice of synchronizing the local computer with the NTP server times or shutting down the NetTime service. At first this seemed odd but makes sense. If you wish to allow a discrepancy between your computer time and that being reported by NTP servers, there in no reason for NetTime to continue running, as it's sole purpose is to synchronize with the servers.

Overall, NetTime is a fine implementation of SNTP, providing all the choices any but the most demanding environments are likely to want, in a simple package that NTP novices should have no difficulty with.

Ntpd Port of NTP

Another option on NT is to get a full implementation of Network Time Protocol. You could get the ntpd source package and build and install it yourself. This is not recommended but if you go this route, you'll want to look at the NTP 4.x for Windows NT page. This page has not been updated since July 2003.

A much better way is to let someone else do the hard work and create a standard Windows install application with a complete current Windows ntpd implementation included. For several years none was available but thanks to Meinberg Funkuhren, a German company that makes a variety of precision time equipment, including a PC radio clock and LAN time server, which use the ntpd server (the PC or LAN server become a stratum 1 NTP server), new Windows ports are now available for NT, 2000, 2003, and XP. Both a stable and experimental version are available at http://www.meinberg.de/english/sw/ntp.htm. Be sure to look at the documentation page described as the "NTP Installer Readme". The "NTP info page" up higher links to an more general discussion of NTP, and also has links to Meinberg's two NTP related hardware products. Unlike previous Windows ports of NTP, this new Meinberg port has good online documentation describing what you're getting before you download, so take advantage of it. I no longer have a Windows system to test this on, but I suspect that unlike many Windows installs, this one may not be successful if you don't read the instructions.

There are also several commercial products but these can cost hundreds of dollars per server plus client license fees. With Microsoft providing at least basic NTP products and the real thing available for free, it's beyond my comprehension why anyone would pay commercial fees for a product like this. A computer professional whose prepared to pay several hundred dollars for a GUI interface so he or his staff doesn't have to look at a text configuration file doesn't merit the designation professional.

Recommendations and Suggested Configurations

Which of the four Windows NTP or SNTP computer time synchronizations products is the best choice depends largely on three factors. How many computers need to be time synchronized, the diversity of your computing environment, and the relative importance you place on simplicity of install versus complete accuracy of the time on the computers. Here, diversity of your computing environment has to do more with whether or not it contains multiple UNIX machines that must also be time synchronized, rather than having multiple Window's family OSs. I'll start with the smaller, simpler environments first.

I ran NetTime for about two years and never had a problem. For most circumstances NetTime would now be my clear first choice in Windows time synchronization products but under some situations I'd consider Automachron. The previous was written at a time when no binary port of NTP was available. Now (April 2005) that one is again, I'd probably consider that as my first choice, except for the simplest of situations where Automachron is appropriate.

What I might use under various circumstances follows.

If you have between one and five Windows only computers the choice is between Automachron and NetTime. If you value simplicity, choose Automachron and pick a nearby public stratum 2 time server. Point all your Windows PCs to the same time server. Don't use pool servers if your computers are using Automachron and outside servers, as each will have marginally different times. If all use the same stratum 2 server, all your computers will have the same time and it will nearly always be very close to correct. Public stratum 2 time servers are rarely off by a second if that much. I have, however, once seen one off by about an hour and a half. If the selected server is wrong, all your computers will have the wrong time unless the public server time change is sudden, and exceeds the configuration limits set in Automachron.

Public time servers are unlikely to drift much from the accurate time but could accidentally be changed by an administrator or set maliciously by an intruder. Using Automachron, you can significantly reduce the chance of your computers accepting an invalid time by changing the default Max Ahead and Max Back settings from the default 3600 seconds and 600 seconds respectively to 120 to 180 seconds each, after first accurately setting the local computer times by conventional methods or by using The Official U.S. Time. The day prior to daylight savings time changes you'd want to change ahead or back to 3660 or 3720 and the following day restore it to a more conservative value.

If accuracy is more important than simplicity of setup, then use NetTime rather than Automachron. With more than one PC, on each PC check "Allow other computers to sync to this computer". Once NetTime is running on all your PCs, use the "Find" button then "Find Local NTP Servers". Those that have been checked should show (and each PC should find itself). With the ported version of ntpd use "peer" in the configuration file and provide the IP address or hostname of the other PCs.

With one Windows PC I'd use three to five different outside pool or public stratum 2 time servers. With two PCs, I'd use three or four each public time servers and the other PC as a fourth or fifth time server. With three Windows PCs, I'd use three each outside time servers and the other two PCs as a fourth and fifth. With four PCs, two outside and three local time servers. With five PCs, I'd only use one outside time server each and four local time servers. With each of these setups, if one or even two bad times are received from outside, NetTime should rely on the other local PCs, whose times should closely agree, as the time sources. The same logical setup could be done with a ported version of ntpd.

With four or more computers, you can, and with six or more, you should move to a local server topology, where three computers that are up 24 hours a day, become time servers for your LAN. See What NTP Does and How It Works for an explanation. Each of the three local time serves, now stratum 3 servers, should get time from two or three outside sources, peer with each other and act as time servers to the rest of the LAN. Use different outside time servers for each of your top level time servers. You can do this with NetTime or preferably you can use the ported version of ntpd.

With NetTime, the setup would be similar to the three PC setup described above, except that all other PCs would use the three local NetTime Windows PCs as time servers and would not be set to act as servers themselves. Only the three time server PCs would directly connect to nine outside time sources and also use each other as time sources. The setup for the ported version of ntpd would be the same. The "server" command would specify the outside servers in the configuration file of the time servers and the "peer" command the other two servers. The client only PCs would all name the three local servers as their servers with the "server" command and not use peers. There is also a broadcast mode but I'm not familiar with its pros and cons or setup options.

You could use Automachron on the client only computers but the simplicity of the install is offset by using two different software products in your environment. You'd have to select a "primary" time server to which all the Automachron clients would connect or different computers on the LAN could have different times. This also eliminates the redundancy of having three top level servers, any two of which can be down for moderate periods without much affecting the overall time accuracy of clients throughout the LAN. Ntpd is a very low overhead server and can run on any machine that is normally up 24 hours a day including desktop machines.

If you do want a very simple way to set up a local time server, it makes better sense to have a single NetTime or ntpd port server connecting to three to five outside sources and serving as the sole server to a LAN of Automachron clients. If you are setting up multiple local time servers using NetTime or an ntpd port, it makes better sense to stick with NetTime or the ntpd port consistently for all the clients as well.

If your environment includes three or more UNIX machines that are up 24 hours a day, they should obviously be included in the local computer time synchronization. This situation is quite different than an all Windows environment. There aren't a lot of half way NTP solutions in the UNIX world. If a computer uses the NTP protocol, it will almost certainly be using ntpd and the only difference between a client and a server will be the details of the configuration file. Except for public time servers with many thousands of clients, the load is negligible on an ntpd server. Any UNIX machine that's normally up 24 hours a day and is Internet connected, whether it's a server or desktop should do. If I had such machines mixed with Windows machines, I'd pick three UNIX machines for use as stratum 3 time servers and run all Windows machines as clients only.

There could still be a choice between Automachron and NetTime. The issues discussed above apply. Automachron suggests the selection of a "primary" time server. A single, reliable UNIX machine could use several outside time sources and act as the sole local time server; it's not the recommended configuration but would work.

What about World Time? World Time 5 is a fine clock and scheduling program but I cannot recommend it for computer time synchronization. It may work well in other environments. Given its over all quality, I'm surprised at what I've seen but in my environment it simply was not acceptable for time synchronization. The problems could have been my NT Workstation and not World Time as two time products on this NT Workstation, WorldTime and Trimble's ntpd port, have exhibited some anomalous behavior. If the many other clock features of World Time appeal to you then it's worth trying it's time synchronization capabilities. It's supposed to work as either a client or optionally as a server so should fit any strategy outlined above. If the time synchronization is not reliable but the other clock features are valuable, one of the other products could be added for time synchronization. I continued to use World Time as long as I used NT even though I did not use it for time synchronization after a day or so.

One very practical element to NTP that does not appear to be part of SNTP is the ability to maintain accurate time without a current outside time source. As it runs, ntpd calibrates the current computer's clock and up to some limit of accuracy knows how fast or slow it naturally runs. Absent outside time sources, once the ntp.drift file has been calculated and saved, as long as ntpd continues running, it can keep the local computer's time accurate (within limits) for hours or even days.

Like Automachron, if NetTime has only a single outside time source, it may slavishly set the local computers time to match. If it has two different outside times it will average them not checking either for plausibility.

My understanding of ntpd is that if the outside times are not plausible, it won't use them and it won't average unmatched times. So if accuracy and reliability are your primary concern then you'll definitely choose the ntpd port. If these are really a high priority you'd want to at least investigate having your own stratum 1 server, i.e. check out the Meinberg products at http://www.meinberg.de/english/info/ntp.htm. There are of course competing products so if these look seriously interesting to you, you'll want to investigate at least some alternatives before making any purchases.

transparent spacer

Top of Page - Site Map

Copyright © 2000 - 2014 by George Shaffer. This material may be distributed only subject to the terms and conditions set forth in http://GeodSoft.com/terms.htm (or http://GeodSoft.com/cgi-bin/terms.pl). These terms are subject to change. Distribution is subject to the current terms, or at the choice of the distributor, those in an earlier, digitally signed electronic copy of http://GeodSoft.com/terms.htm (or cgi-bin/terms.pl) from the time of the distribution. Distribution of substantively modified versions of GeodSoft content is prohibited without the explicit written permission of George Shaffer. Distribution of the work or derivatives of the work, in whole or in part, for commercial purposes is prohibited unless prior written permission is obtained from George Shaffer. Distribution in accordance with these terms, for unrestricted and uncompensated public access, non profit, or internal company use is allowed.

 
Home >
How-To >
Introduction to NTP >
wininstall.htm


What's New
How-To
Opinion
Book
                                       
Email address

Copyright © 2000-2014, George Shaffer. Terms and Conditions of Use.