Keeping Time on your Windows NT Network
|Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.|
Keeping everyone's workstations on your network on or near the same time can be challenging. How accurately a particular device keeps the correct time dictates how often you need to update the time and the degree of error you must deal with. The Network Time Synchronization Project offers the Network Time Protocol (NTP) service as a tool to help keep your network's workstations on as close to the same time as possible. This article will offer an overview of what NTP is, how to use it, and what you'll have to do to set it up on your network.
On This Page
Understanding NTP's Terminology
NTP has it's own set of terminology. The term "Stratum" refers to the particular timeserver location in the NTP hierarchy. A Stratum 1 NTP server is directly synchronized to the Universal Time Coordinate (UTC) through a modem connection, satellite, or radio. A Stratum 2 NTP server connects to a Stratum 1 system to obtain its time. A Stratum 3 NTP server connects to a Stratum 2 server. This relationship is an N-1 relationship. Ideally, you'll want to use the highest NTP server in the hierarchy that you can. If you connect to an NTP server that's lower in the Stratum hierarchy, your chance of experiencing a time skew (or variance from the real time) increases. Also, your server may not have the most accurate time to give out to other servers and workstations on your network. If you provide the time service to at least 100 devices, you may qualify to be a Stratum 2 server.
A single receiver that picks up the time signal and converts it to a form usable by the NTP server could cost up to $10,000. However, you may not be in a location that receives consistent reception of the time station signal. WWV (the U.S. Government Bureau of Standards' time station in Ft. Collins, CO) airs its time broadcasts at 5 MHz, 10 MHz, 15 MHz, 20 MHz and 25 MHz. Depending on the time of day and weather conditions, you may not be able to receive a good time signal. If this is the case, you may have to intermittently change your receiver's frequency to get a good signal.
Which NTP Server Should I Use?
By searching available NTP information, you'll discover a list of devices that can offer you access to time signal services such as WWV and CHU (Canada's equivalent to WWV).
Review the list of NTP servers to determine which you can use in your area (your time zone or your state) or the network you're on (e.g., NSFNET). Create a list that consists of at least one Stratum 1 and two Stratum 2 NTP servers. Use the PING command to determine which NTP server has the lowest round-trip time. Repeat this process several times a day for several days. This will help you identify a server that may reside on a path that's congested or subject to heavy traffic loads, and may not be able to report accurate time to your site. Since the configuration of the Internet is constantly changing, you should repeat this process periodically. The NTP server that's slowest today could be a better time source in the future.
Connecting to your NTP Server
In addition to using a special radio to hear the time signals broadcast on shortwave radio, you have two other options for receiving time signals. You can either use a modem or a network connection to the Internet. The main difference between the two is how much latency in the time signal you're willing to tolerate. In some cases, the modem may be more accurate than the network connection since you may dial directly into the timeserver. The downside to using a modem is that, depending on how often the modem needs to dial the time service and how much difficulty is encountered with modem synchronization problems, you may end up with a high phone bill. Unless you have a full-time Internet connection, or one that can be established as needed, the dial-up modem option may be your only choice.
The Internet connectivity choice may be easier to maintain since going to a new time source is as simple as entering the new Domain Name System (DNS) name or IP address and restarting the time service on your server. The disadvantage with this option is that you can expect a one-quarter to one-half second difference between the time on your server after it has been updated and what the real time actually is on the time source.
Configuring Windows NT for NTP
You will need to purchase the Microsoft® Windows NT® Server Resource Kit to obtain the necessary files for installing the Time Service that communicates with NTP. If you already have the kit, you may also want to obtain Supplement 4, which is now available without a subscription to the Resource Link on Microsoft.com. The most recent files have a date of 5/19/99 with a 4:29 PM timestamp.
The files you'll want to copy from the Supplement 4 Resource Kit CD are found in the \i386\compmgmt directory. Copy the Timeserv.ini file into your WINNT directory (the directory where your Windows NT files are located), and copy the Timeserv.exe and Timeserv.dll files into the \winnt\system32 directory. Next, make the desired changes to the Timeserv.ini file. For the purposes of this article, I'll assume that you will only be activating the NTP portions of the Timeserv service. Using either the MS-DOS® edit command or Notepad, open the Timeserv.ini file. Look for the [Timeserv] section of the INI file. Insert a semicolon in front of the Type=NISTACTS statement and remove the semicolon from the Type=NTP statement.
You will insert either the IP address or full DNS time (i.e. tock2.navs.mil) in the "NTPServer=" line in the Timeserv.ini file. The Timeserv service has a limitation of looking at only one NTP server. If you enter the IP address or DNS names of multiple NTP systems separated by spaces, commas, or semicolons, you'll receive an error when you start the time service. Insert a semicolon in front of the line that begins with timesource=no. The next line should read timesouce=yes—remove the semicolon from the beginning of the line. This command initiates a change in the Windows NT registry that will advise other servers in the network that this system can serve as a time source with authority.
The most important command to change in this section is Log=no. As before, insert a semicolon in front of this command, and remove the semicolon that's at the beginning of the following line, which should read Log=yes. This command allows entries to be made to the application log in Event Viewer. Unlike most Windows NT programs, Timeserv doesn't have a visual interface. To ensure that everything's working properly, you should make sure you log time events. Next, open MS-DOS and change directories to \WINNT\SYSTEM32. Type timeserv –automatic and press [Enter]. Double-click Services in the Control Panel and Time Service appears in the list of services. By default, Time Service will automatically start the next time you restart the PC. Unlike other Windows NT programs and services, you have the option of starting Time Service now without shutting down and restarting the Windows NT workstation. Give the time service a couple of minutes, then check the application in the event viewer. You should see a message indicating that there was a time variance of more than one-half of a second.
Periodically check that the time service is still successfully setting the time on your server. If you need to change to a different NTP server, stop Time Service Services icon in Control Panel before making any changes. Make the necessary changes to Timeserv.ini using an editing program (such as Notepad), then save the file in text format (TXT). Change to the \WINNT\System32 directory, type timeserv –update and press [Enter]. Now you can click the Services icon in the Control Panel and restart Time Service.
Keeping the servers on your network running on or near the same time is very important. When you have multiple servers, using Time Service helps keep the entries in the event viewer logs as close to the same time as the other servers as possible. Although the amount of visual feedback as to how well it's working is limited, the Time Service available in the Windows NT Server Resource Kit offers a functional time service without having to purchase a third-party solution to keep your servers synchronized.
References for further information
You can find out more information about NTP by checking NTP resources on the Internet. Usenet carries the comp.protocols.time.ntp newsgroup, which contains a great deal of information about NTP. You can find a list of U.S.-based timeservers by going to http://tycho.usno.navy.mil/ntp.html. If you want to find out information from the creator of NTP, you can go to his Web site at http://www.eecis.udel.edu/~mills/ntp/servers.html.
Finally, you can read the following Internet RFCs about NTP:
RFC 1503: Internet standard NTP
RFC 1119: Definition of NTP
RFC 2030: Simple NTP
You can find these RFCs by going to http://www.cis.ohio-state.edu/hypertext/information/rfc.html.
Ronald Nutter is a senior systems engineer in Lexington, KY. He's an MCSE, Novell Master CNE, and Compaq ASE. Ron has worked with networks ranging in size from single servers to multiserver/multi-OS setups, including NetWare, Windows NT, AS/400, 3090, and UNIX. He's also the help desk editor for Network World. You can reach Ron at firstname.lastname@example.org. (Because of the large volume of e-mail that he receives, it's impossible for him to respond to every message. However, he does read them all.)
The above article is courtesy of TechRepublic.
We at Microsoft Corporation hope that the information in this work is valuable to you. Your use of the information contained in this work, however, is at your sole risk. All information in this work is provided "as -is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Microsoft Corporation. Microsoft Corporation shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.