L2 · management · reviewed
PTP
Precision Time Protocol
Sub-microsecond timing with Announce election and Delay_Req/Resp — not a drop-in replacement for NTP on every campus.
Presenter modeEmbed this figure
Why it exists
NTP’s millisecond-class sync is not enough for some radio, finance, and industrial control paths. PTP exchanges timestamps on a tighter loop.
Deploy boundary or ordinary clocks where applications need PTP-class sync.
Best master clock election
Announce messages carry clock quality; BMCA elects the grandmaster and the rest become slaves.
Clocks send Announce. BMCA compares priority, class, accuracy, and variance to elect the grandmaster. GM. Slave.
- Link
- Blocking
- Packet in flight
- Discarded
- Emphasis
Text equivalent of this diagram
| Element | Kind | State |
|---|---|---|
| GM | router | — |
| Slave | router | — |
| GM — Slave | link | up |
Clocks send Announce. BMCA compares priority, class, accuracy, and variance to elect the grandmaster.
What changed
- Grandmaster
- Slave
How it works
Announce elects the grandmaster. Sync/Follow_Up and Delay_Req/Delay_Resp measure offset and delay. Transparent clocks revise correction fields on the path.
On the wire
Constructed examples, encoded from the field table below them — not captured traffic.
- Physical
- A preamble and start-of-frame delimiter precede this, and the hardware removes them before any capture sees the frame. IEEE 802.3-2022
- MAC header
- Destination address, source address, and the EtherType naming the payload. IEEE 802.3-2022
- Payload and FCS
- Between 46 and 1500 octets, padded to the minimum, followed by a four-octet frame check sequence. IEEE 802.3-2022
Configure it
ptp domain 0 ptp profile default interface GigabitEthernet1/0/1 ptp enableEnable PTP on interfaces in the timing domain.
Verify
show ptp clock- Clock identity and role.
show ptp parent- Parent / GM information.
Caveats
- Marked draft: syntax has not been checked against a device.
When it breaks
Symptom first, because that is what you have when it happens.
Multiple grandmasters flapping.
Narrow it down
- Compare Announce priorities
- Check domain numbers
Cause
Mis-set priority or mixed domains.
Fix
Align domain and priority plan.
Offset never meets the app budget.
Narrow it down
- Path support
- Asymmetry
Cause
Unsupported switches or asymmetric paths.
Fix
Add transparent/boundary clocks; fix paths.
Slave stuck listening.
Narrow it down
- Announce receipt
- Port state
Cause
Filtered Announce or wrong domain.
Fix
Verify domain and L2/L3 transport.
Operator debugs with only NTP tools.
Narrow it down
- PTP port datasets
- Confirm the related configuration and counters.
Cause
Wrong protocol toolbox.
Fix
Use PTP-specific state (parent, GM, mean path delay).
App still fails after “PTP enabled”.
Narrow it down
- End-to-end clock chain
- Confirm the related configuration and counters.
Cause
Only the edge spoke PTP; middle did not.
Fix
Engineer the whole path.
Design notes
Deploy boundary or ordinary clocks where applications need PTP-class sync.
Misconceptions
- “PTP is just NTP with smaller numbers.”
- PTP has a different election, message set, and on-path clock model (boundary/transparent).
- “Announce elects based only on IP reachability.”
- BMCA compares clock quality datasets carried in Announce.
- “Asymmetry does not matter at PTP scale.”
- Asymmetry still biases delay-based offset; the error budget is just tighter.
More walkthroughs
Asymmetry still fools delayfailure
Delay request-response assumes symmetric delay. Persistent asymmetry biases the offset just as in NTP — only the scale differs.
Forward and reverse delay differ. The computed offset absorbs that error. R1. R2.
- Link
- Blocking
- Packet in flight
- Discarded
- Emphasis
Text equivalent of this diagram
| Element | Kind | State |
|---|---|---|
| R1 | router | — |
| R2 | router | — |
| R1 — R2 | link | up |
Forward and reverse delay differ. The computed offset absorbs that error.
What changed
- Biased offset
Expecting PTP everywhere NTP runsfailure
PTP needs on-path support for its accuracy claims. Treating it like “faster NTP” on an unsupported campus wastes the deployment.
A campus without boundary/transparent clocks will not deliver PTP-class results even if ports speak some PTP frames. R1. R2.
- Link
- Blocking
- Packet in flight
- Discarded
- Emphasis
Text equivalent of this diagram
| Element | Kind | State |
|---|---|---|
| R1 | router | — |
| R2 | router | — |
| R1 — R2 | link | up |
A campus without boundary/transparent clocks will not deliver PTP-class results even if ports speak some PTP frames.
What changed
- Unsupported path