IEEE1588 (2008) is a huge standard, 269 pages long. It defines the Precision Time Profile (PTP), a protocol for distributing time over a packet network. Thing is, types of packet networks are ten a penny these days. There are industrial networks, power networks, telecom networks, audio networks, video networks, in-car networks just to name a few. All have subtly different requirements and therefore IEEE1588 contains loads of different options and features that simply aren’t appropriate for every network.
To cope with this, the good folks on the 1588 committee added profiles. A profile is “a set of required options, prohibited options, and the ranges and defaults of configurable attributes”. The idea was to allow other organisations (such as industry bodies or other standards bodies) to define which portions of the PTP protocol their industry would use. For example, ITU defined the G.8265.1 profile specifically for distributing accurate frequency (but not time) to mobile basestations.
Problem is, profiles have proliferated. ITU have defined 3 of them, IEEE themselves have at least 3, IETF tried to define one but never finished, IEC have one that is almost the same as one of the IEEE profiles but not quite, SMPTE have one, and there are probably others out there too.
It’s like they all claim to speak English, but they all have a different dialect – one speaks Geordie, one speaks American, another speaks Scots, and another speaks the Queen’s English. Each are sufficiently different for them to not quite understand each other.
So next time someone says “These are all PTP clocks, surely they’ll talk to each other?” you need to ask what profile they run before answering. Confusing or what?!