Five Minute Facts About Packet Timing
By Doug Arnold
Every implementation of PTP includes some information about the state and performance of the device. So in principle a monitoring node could gather all the data and determine the health of the PTP network. Here’s the rub: If you’re the poor soul who is writing the code for the monitoring app, you have to write code for each model of equipment in the network. And not only do the devices have data in different data formats, but they have different things they are measuring. What if every PTP node kept standard information in a standard format that any monitoring node could read? That would be something! The IEEE 1588 Working Group took a step toward bringing about this glorious vision by defining standard performance monitoring statistics and counters. This is be included in the recent revision of IEEE 1588.
To begin with it was decided that any quantity which can be measured would be summarized with four simple statistics which everyone understands:
- Average
- Minimum
- Maximum
- Standard Deviation
Nothing fancy, no Hadamard Variance. No Population Stability Index, just basic statistics which everyone understands and can easily code a processor to compute. Next it was determined that standard data windows would be 15 minutes and 24 hours. In other words the minimum of same variable would be reported as the minimum over a 15 minute or 24 hour interval.
Now we can ask any PTP node which contains a slave port, e.g. an Ordinary Clock in the slave state or Boundary Clock, what is your offset from master. Specifically what are the average, minimum, maximum and standard deviation over a 15 minute and 24 hour time intervals.
Slave ports using the Delay Request/Response method of measuring network latency, can also report statistics for:
- Master to slave delay
- Slave to master delay
- mean path delay
In the case of Peer delay, one can instead report on mean link delay.
Some quantities of interest don’t have averages or maximums, they are events that either happen or not, and the interesting thing is just to count them. For each of the different PTP message types the standard counters were defined, one each for transmitted and received:
- Announce
- Foreign master Announce
- Sync
- Follow_Up
- Delay Request
- Delay Response
- pDelay Request messages
- pDelay Response messages
- pDelay Follow_up message
The draft standard even describes how to store all of these measurements. Each quantity includes a record for each of the last 15 minute measurement interval plus the current 24 hour interval, plus the previous 24 hour interval.
That means 98 values for each counter or statistic. Wow! That’s a lot of data. Don’t worry, you can implement a subset of the records and a subset of the variables.
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.