Precision Time Protocol
aliases:
PTP
Higher accuracy network time synchronization protocol. Defined in IEEE 1588 standard.
Designed for timing-critical application requirements, including industrial networks, 5G cellular data connections, medical devices, market trading, financial services, or just a general deployment of PTP on a network.
Compared to NTP's millisecond precision, PTP is able to achieve nanosecond precision.
PTP is able to user layer 2 messaging and hardware clocks using compatible network adapters and switches, allowing for greater accuracy and synchronization timing than NTP can support. It has built-in mechanisms to measure and account for syncing delays.
PTP Clock Types
Three clock types: grandmaster, boundary, and ordinary.
Grandmaster clocks act as the authoritative time source within a PTP-deployed domain. Boundary clocks are implemented in the interface for a network segment. Ordinary clocks are implemented in devices with a single PTP interface.
When two PTP clocks are connected, one acts as the transmitter and the other as the receiver. Grandmaster clock interfaces always act as the transmitter. Boundary clocks act as receivers for the grandmaster clock, and as transmitters for ordinary clocks.
Special types of PTP clocks can be deployed called transparent clocks. They measure path delay and adjust P2P messages to compensate.
PTP over IP
PTP can technically be deployed on layer 3, but it won't be as accurate due to the overhead. Classical PTP implementations work with PTP compatible hardware adapters and switches that have timestamping capabilities.
Configuration
Microsoft-Windows: Configure a Windows Server machine to act as an NTP time server for the domain using the Services applet and the Registry Editor.
- Ensure that the Windows Time Service is set to 'Automatic' in the Services applet.
- Navigate to
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > W32Time > Parametersin the Registry Editor. - Change the 'Type' entry value to
NTP(often set fromNT5DS). - Navigate to
W32Time > Time Providers - Set the 'NtpServer' entry value to
1(from0). - Navigate to
W32Time > Config - Set the 'AnnounceFlags' value to
5(often set from0xaor0d10) - Restart the Windows Time Service in the Services applet.
There's also a way to configure the server to act as an NTP time server using PowerShell, but that method isn't specified. If you really want to know, you have the collective knowledge of mankind at your fingertips. Google it.