non-LAN implementations and to allow for ex- tensibility through profiles. There were also changes made to improve the practical accuracy of PTP time transfer. The drawback of the 2008 update was the limited backward compatibility with the previous version, which meant translation was required to ensure meaningful coexistence of PTPv1- - and PTPv2-cap- able equipment in the same network. For example, one significant difference is that PTPv1 did not use separate information notifications (called Announce messages, introduced in PTPv2) to com- municate valuable data about the source and quality of the upstream clock. Nowadays, interoperability is no longer an issue for most applications, as PTPv1 is now rarely used. In fact, a new version of PTP, IEEE 1588-2019, was published in 2020. It is also referred to as PTPv2.1, at least in part to emphasize the very strong desire by the IEEE committee to ensure back- ward compatibility with PTPv2. More details on PTPv2.1 are provided toward the end of this chapter. To summarize, at the time of writing, there are three separate releases of the IEEE 1588 standard, from 2002, 2008, and 2019. Although people refer to them colloquially as PTPv1, PTPv2, and PTPv2.1, technically the version of the protocol is a separate issue from the edition of the standard. Note that the PTP specifications use the term message rather than packet, although many other tim- ing specifications refer to packet-based timing. For compatibility with the existing editions of the IEEE 1588 standards, this chapter follows the convention of using the term message when referring to packets carrying PTP information. 7.2 PTP Versus NTP According to the IEEE 1588-2002 specification, PTP was designed to provide microsecond-level time synchronization between devices that were located closely to each other. For example, al- though PTPv1 supported User Datagram Protocol (UDP)/Internet protocol (IP) transport, it was re- quired to use layer 3 (L3) multicast with messages not to be forwarded through a router (meaning