5 Minute Facts About Packet Timing
I recently received some questions about Boundary Clocks (BCs) becoming Grandmasters (GMs) from a blog reader sent to my email. Yes, I really answer them. It was especially interesting because we spent a lot of time discussing stepsRemoved and BC/GMs at a recent meeting of the Network Synchronization and Time Distribution Performance working group of the International Telecommunications Union, or ITU-T Q13/15 to you standards wonks. So, I thought I would bring up the issue to you, the knowledge seeking reader of this blog.
Before I get into it though. I want to make a brief note on terminology for clarity. IEEE 1588 has always, and still does, refer to certain PTP Port states and clock roles using the terms “master” and “slave.” This never bothered me, but it bothers some people. So from now on in this blog I will use the optional alternative terms identified in the amendment IEEE 1588g. That is timeTransmitter and timeReceiver. Grandmaster remains Grandmaster.
The question is, if a BC becomes the GM, then what is the values of stepsRemoved on Announce messages sent by the timeTransmitter ports of the BC? This is illustrated in Figure 1. The connection between the internal GM and the pure BC function is called is referred to as a virtual port on the BC in the ITU. IEEE 1588 does not provide any guidance, and the ITU Q13 working group never came to consensus, so it is currently up the manufacturer of the device. My thinking, as well as the many of standards body colleagues is that it should depend on how the GM-BC is designed. If the GM function and BC subsystems share a hardware clock, then the stepsRemoved should be set to ZERO. If instead a GM subsystem gets time, for example from GNSS, and a BC subsystem recovers that time though an internal link and a PLL, then the stepsRemoved should be ONE. The rationale is that in the latter case there are timing errors introduced between the subsystems similar to what would be introduced in a network link, but not in the former case.
In the standard BMCA … Wow, it’s going to take me a while to stop saying that. In the standard BTCA it never matters if the GM-BC sends Announce messages with stepsRemoved set to 0 or 1. That is because the stepsRemoved is only used to break ties when a BC receives Announce messages from two or more BCs synchronized to the same GM, see Figure 2.
However, in a hypothetical alternate BTCA it could matter. Perhaps a PTP Profile committee mandates that all GM capable Ordinary Clocks have the same performance level and wants BCs to synchronize to GM that is the fewest stepsRemoved away. This would likely result in a PTP network segregating into multiple domains but could nevertheless result in more accurate timing. See Figure 3. Note that different PTP domains can have the same domain number if they don’t interact.
If you have any questions about packet timing, don’t hesitate to send me an email at doug.arnold@meinberg-usa.com or visit our website at www.meinbergglobal.com.
If you enjoyed this post, or have any questions left, feel free to leave a comment or question below.