PTP es un estándar internacional, especificado en la norma IEEE1588. Se revisó en 2008, dando lugar a la versión 2. Precision Time Protocol (PTPv2) es un protocolo de comunicaciones con sincronización temporal de red que se puede utilizar para sincronizar los relojes de distintos tipos de dispositivos. Proporciona una precisión del orden de submicrosegundos. PTPv2 se basa en Ethernet. En comparación con el protocolo NTP, PTPv2 está integrado en la capa física, por lo que hablamos de horofechado basado en hardware real para una sincronización temporal precisa de todos los participantes de la red Ethernet.
El PTPv2 es un mecanismo de sincronización temporal relativa. Se selecciona un participante para que actúe como reloj maestro y envíe mensajes de sincronización temporal a todos los dispositivos esclavos. El proceso de sincronización comienza con un telegrama de sincronización temporal que se envía a la red. Todos los participantes (esclavos) calculan la diferencia de tiempo (retardo) entre su hora local y la del reloj maestro en cuestión y se adaptan paso a paso a una diferencia horaria inferior a 2 µs. Por ejemplo, supongamos que una fuente PTP envía un mensaje PTP en el que declara que la hora es la 1:00:00 pm. El problema es que este mensaje tarda un tiempo en llegar a su destino. Si el paquete PTP tarda 1 segundo en llegar a su fuente, cuando la fuente reciba un paquete PTP que de que es la 1:00:00 pm., ya será la 1:00:01 pm. En consecuencia, es necesario compensar la latencia de la red, cosa que se consigue intercambiando una serie de mensajes entre el reloj maestro y los esclavos, como se muestra en la figura de más abajo.