How to set up an NTP Time Server on your Network

Clocks

How do you synchronize the machines on your network to the same time? This articles describes how to set up an NTP Server and configure Windows, Linux, and MacOS computers to use it.

In a world where timing is everything, time servers, especially GPS integrated NTP (Network Time Protocol) Servers, address real needs and have immense benefit for an array of applications. The current mass-scale and ongoing proliferation of our connected world (e.g. smartphones, tablets, PCs, automation and IoT devices) is, in large part, made possible through networked time synchronization. This is often accomplished with NTP and through time servers. There’s common use in banking and Point of Sale (POS) systems, remote sensing, distributed IoT, automation, industrial controls, biotech, high-speed sensor fusion, cloud computing and security networks.

Try Our ARM® Embedded IoT Dev Kit

Netburner ARM Cortex M7 embedded Development Kit for IoT product development and industrial automation.

Or, learn more about NetBurner IoT.

The What and Why on NTP Time Servers?

NTP (Network Time Protocol) is a network protocol that enables you to synchronize clocks on devices over a network. It works by using one or more NTP servers that maintain a highly accurate time, and allows clients to query for that time. These client devices query the server, then automatically adjust their own internal clock to mirror the NTP server. The NetBurner NTP server obtains highly accurate time by synchronizing it’s local clock to GPS satellites. Once plugged in to your network, the NTP device will allow your devices to maintain synchronized time.

Whenever and wherever there’s a need for highly accurate and even auditable timestamps and data streams — NTP using a GPS Stratum 1 Time Server can be your best friend (more on that Stratum jargon in just a few). For example, in transportation, financial, billing, or security applications, logging and correlating events with highly accurate timestamps is critical to making well informed decisions and actions – even of legal or catastrophic consequence. In fact one, one the first applications of NTP was in air traffic control, allowing distant networked air traffic control systems to accurately correlate radar signals and display aircraft positions with parity across all stations and towers in the control network.

The NetBurner GPS NTP server obtains highly accurate time by synchronizing its local clock to actual GPS satellites and their incredibly precise atomic clocks. Once the device is connected to your network, the server will allow any number of your devices to synchronize to its very accurate Coordinated Universal Time (aka UTC time), as it is called.

Stratum

Now, back to the business of stratum. NTP Servers are generally categorized into several tiered categories with respect to timing accuracy. These categories are referred to as stratum. As the stratum number increases, the accuracy of the time generally decreases. The NetBurner GPS NTP Server is a Stratum 1 device connected directly to a GPS time module.

  1. Stratum 0 devices are devices such as atomic, GPS, and radio clocks. These devices offer the highest accuracy, but are not usually publicly accessible.
  2. Stratum 1 devices are network servers that are connected directly to stratum 0 devices. Some public stratum 1 devices can be found, but they often come with usage restrictions, including limiting the number of requests and limiting usage for commercial devices.
  3. Stratum 2 devices are network servers that synchronize their time to one or more stratum 1 or 2 devices. Public, open use NTP servers often fall in to this category.

Stratum numbers can keep increasing, up to a theoretical stratum 256 device. However, any device listed as stratum 16 or greater should be considered inaccurate.[1]

Do I really need my own NTP server?

For many types of applications having your own NTP server is unnecessary. For example, you do not need one if you want to use the protocol and can reliably access and synchronize with 3rd party NTP servers over the internet (more on those resources below). However, in high-demand, timing-critical, remotely located or bandwidth constrained applications, these may be too unreliable, or worse yet, not work at all. It’s also useful for when you have a high number of client devices on the same network that require accurate synchronization. These cases are where having your own NTP server synchronized to GPS time can be essential.

According to Wikipedia, “NTP can usually maintain time to within tens of milliseconds over the public Internet, and can achieve better than one millisecond accuracy in local area networks under ideal conditions. Asymmetric routes and network congestion can cause errors of 100 ms or more.[1]” That sure sounds like a compelling use of local NTP servers for timing critical applications, right?!

If you are lucky enough to make due with the latencies and higher error associated with Internet NTP servers we have a few pointers. When selecting a publicly accessible NTP server, it is important to follow the access guidelines provided by the server. These restrictions include, but are not limited to:

  1. Service only to clients within a specified service area
  2. Service only for non commercial use
  3. Maximum number of clients
  4. Minimum polling interval

A large list of publicly accessible devices worldwide is provided by ntp.org, the online home for the NTP project. Usually you want to pick a server nearest your client device to reduce latencies.

How do I set up the NetBurner NTP Time Server?

Configuration options, status screens, and XML output can be reached on the PK70 NTP device by pointing your web browser to the IP address of the device. If you are unsure of the local IP address of your NetBurner NTP server, download our IPSetup tool, which will scan your local network for NetBurner devices and display a host of information about the device, including the IP address. Copy and paste this address into your browser to find the device’s configuration interface.

NTP Server Satellite Screen

The 4-step setup of the NetBurner NTP server could not be easier. Unbox the device, plug in the power cable, plug in the network cable, and attach the included GPS antennae. For optimal performance, the antenna receiver should be placed next to a window with a clear view of the sky – as it is literally communicating with the GPS constellation in Earth’s orbit. Once the device powers up, the red LED light will turn green, indicating the device is GPS stratum 1 synchronized. DONE. Now go grab a coffee and work on saving the world.

Windows 7/10 Configuration

  1. Open the Windows Control Panel and select “Clock, Language, and Region” (Win 7) or “Clock and Region (Win 10). In the Classic Windows Control Panel there is also link called “Date and Time.”
  2. Click on “Set the time and date” or “Date and Time” depending on your Windows environment.
  3. Select the “Internet Time” tab in the new window that opens up
  4. Click on “Change Settings…” and input the new server address you wish to use
  5. Click “Update now”.

Upon success, you will see a message indicating that the clock was successfully synchronized. Further management in unnecessary; Windows will automatically and indefinitely synchronize with the specified server at a predetermined interval.

OSX Configuration

  1. Open System Preferences and click on “Date and Time”
  2. Check the option “Set Date and Time Automatically”
  3. Input one or more NTP server URLs, separating multiple URLs with a comma

Upon success, OSX will begin tracking all NTP servers that have been inputted. Using a smart algorithm, OSX will automatically pick the best NTP server to use and synchronize with it automatically at a predetermined interval.

Linux Configuration

Typical Linux distributions include ntpd, the daemon for syncing to an NTP server. If you are missing ntpd, then you should install ntpd with your favorite package manager.

  1. From the command line, use sudo privileges to edit the /etc/ntp.conf file. sudo vi /etc/ntp.conf
  2. Input one or more ntp servers, one per line. Prepend “server” to every URLExample ntp.conf file
				
					server time.apple.com
server time.nist.gov
server 10.1.1.78
				
			

        3. Restart ntpd, usually accomplished with /etc/init.d/ntpd restart

Once restarted, you can monitor ntpd with the command ntpq -p. This will list all of the NTP server in use, and include diagnostic information for all known NTP servers. It may take several minutes for an NTP server to be selected and synchronized with. Once an NTP server is selected, it will be indicated with a * in the ntpq output.

Conclusion

We hope it’s pretty obvious why accurate and synchronized time is a good thing. Using a local GPS NTP Time Server is really nice for more serious applications where timestamp accuracy and clock parity over a network of discrete devices is tantamount. Using NetBurner’s low cost and easy to use GPS NTP servers is a great way to get up to speed with your timing needs!

References:

  1. https://en.wikipedia.org/wiki/Network_Time_Protocol
  2. http://www.ntp.org/ntpfaq/NTP-s-def.htm
  3. https://en.wikipedia.org/wiki/Atomic_clock
  4. https://en.wikipedia.org/wiki/Coordinated_Universal_Time

Share this post

Subscribe to our Newsletter

Get monthly updates from our Learn Blog with the latest in IoT and Embedded technology news, trends, tutorial and best practices. Or just opt in for product change notifications.

5 thoughts on “How to set up an NTP Time Server on your Network

  1. Well it all looks very easy to set up if you are working indoors!
    But how do I manage to get my labtop in the observatory synchronized
    with my desktop PC indoors?
    They are connected via 2 TP-links using TeamWiewer.
    Do I have to run an extra Ethernet cable to the observatory?
    One of the TP-links are also using the only Ethernet plug on the labtop?
    Hopefully You have a solution?
    Kind regards,
    Bent

    1. Hey Bent,

      We would need a few more details to really help figure out a suitable solution for you. Would you mind emailing us your setup and this question to sales@netburner.com? One of our engineers will be happy to work through this with you.

      Kind Regards,
      Jon

  2. I was looking for this information relating to how to set up an ntp server on your network. You have really eased my work, loved your writing skill as well. I like how you have researched and presented these exact points so clearly. Please keep sharing more!

  3. I cannot get windows 10 to sync with my NTP. It is the PK70EX-NTP Netburner. I have tried a variety of maneuvers w/o success. The time is close… within 1-2 seconds. Do you have a FAQ on troubleshooting? I have 9 satellites visible on the Status page. I get the message that “Time synchronization failed if done from the Date&Time Settings; When I try it from the “Update Now” button in Synchronize with an Internet time server window, message is “An error occurred while Windows was synchronizing with http://192.168.2.56. The peer is unresolved.” Not sure where to go from here. thx.

    1. Hi Mario,

      Thanks for reaching out! It sounds like there is a network issue when your PC tries to reach the NTP server. I’m guessing since you’re able to see the status page that the IP address for the device is correct. I would check to make sure that port 123 (the standard NTP port) is open on your Windows machine and that it’s open to UDP traffic. If you continue to have issues, please email us at sale@netburner.com. We’d be happy to work with you to get things going.

      Kind Regards,
      Jon

Leave a Reply
Click to access the login or register cheese