W32time

W32time is a time service you can use in Microsoft Windows to automatically set your computer's clock to the right time. What is it, where is it and other questions are answered, including the most critical one, how to set the right time source.

Your computer's clock is inaccurate and varies based on conditions of use. Your computer might lose 2 minutes per month when switched off and gain 1 minute per month when switched on, leading to an inaccuracy based on the amount of time the computer is switched on. The worst inaccuracy I have measured in a modern computer was a computer that lost 20 minutes per day when switched on.

Some people maintain atomic clocks to measure time accurate to billionths of a second and then they cross check their clock against other clocks to avoid variations from temperature and all the clocks are cross checked against astronomic measurements to double check the time. The incredibly accurate atomic clocks feed the time to time servers which, in turn, feed the time through the Internet to other servers. You can connect to a local server that in turn connects to one of the main time servers. Your computer then becomes almost as accurate as an atomic clock.

Public Time Servers

The original server talks frequently to the atomic clock and at high speed to keep the server synchronised. The original server then feeds the time to public servers using a high speed local network that should keep the time accurate to millionths of a second. The public servers are called primary servers or stratum one time servers and should only be used to provide time for a whole network. If your company has thousands of computers then create a couple of local time servers, connect your local time servers to the stratum one time servers and set all your other computers to get their time from your time servers.

Stratum Two Time Servers

The next level of time servers are Stratum Two Time Servers and you should use them because they are local. When you connect to a time server, you increase accuracy by connecting to a local server because you decrease the delay between requesting the time and receiving the time. You want a local server on the most direct connection and you want the local server maintained to the latest standards.

ISP Time Server

The most direct connection is to your ISP, your Internet Service Provider. In Australia TPG is a big ISP and they run two time servers. If you use TPG and connect to TPG's time servers then your connection to their server should be direct with no intermediate hops through other servers, or at a maximum of one hop through their proxy servers. Ask you ISP if they have a time server and connect to the ISP's time server.

Time Servers in Other Countries

The TPG time servers are public which means other people in Australia can use the TPG time servers. If you have to connect to a time server in another country then test the links to several other countries. In Australia we have multiple high speed connections to America which makes American time servers almost as good as local time servers. Our connection into Asian and European countries are not as fast which makes those countries less accurate as time sources.

You can measure the time delay to another server with Ping. Ping is a command that sends the minimum size message to a server and receives back the minimum size reply so that there are minimal delays introduced by data transmission. Ping reports the number of hops from server to server as well as the total delay.

Windows 2000

You connect with a time server using a time service. XP finally has one built it, Windows 2000 uses w32time and NT used the classic timeserv written by the time nut Doug Hogarth. This article is about w32time on Windows 2000.

SNTP

The time service talks to the time server using NTP, the Network Time Protocol, or SNTP, the Simplified NTP. The time service calls the time server using SNTP and the server replies. The time service assumes that half the round trip time is sending the request out and half is getting the time back. If the round trip time is 1.3 seconds then the delay between the time server and the reply must be 1.3 divided by 2, which is 0.65 seconds. The time service then subtracts 0.65 seconds from the time received from the time server and uses the result to the computer time.

When time servers talk amongst themselves, they swap lots of times and accurately work out network delays, which makes local time servers accurate. When you computer talks with a time server, your request is delayed by the activity on the local server which is a good reason to pick a less active server. If you can have a time server on your local network and then point every other computer to the local server, you reduce the NTP traffic overall and have only one server to change if the NTP sources change.

Routers

Many networks are separated from the Internet by a router. Modern routers provide firewalls and many other services. My old FR314 provided an NTP server which meant I could point my FR314 at a primary time server to make the DR314 one hundred percent accurate then I could point all my local computers at the FR314.

My replacement D-Link router, replaced purely to get wireless, there was absolutely nothing wrong with the Netgear device, uses NTP to set the right time on the D-Link device but does not act as an NTP server for my connected computers. Bad move D-Link. If D-Link made all their routers NTP servers then there would be less NTP traffic as all the computers behind the routers would share the same time requests as the routers.

Your Computer

Install w32time on your Windows 2000 computer then connect to a time server. Use the documentation supplied by Microsoft. Most of the defaults work. You login as administrator in Windows 2000 Pro, and if you do not have the pro version of Windows 2000, then upgrade now. You install and configure w32time. You connect to time servers.

References

ntp.isc.org has lists of time servers. Find the one closest to your.