Precision Time Protocol (PTP) IEEE 1588v2
Precision Time Protocol (IEEE 1588v2) allows precise synchronization of clocks in measurement and controls systems implemented with technologies such as network communications, local computing and distributed objects. The protocol supports system wide synchronization accuracy in sub-microseconds range with minimal network and local clock computing resources. The protocol operates in master/subordinate configuration. IEEE1588 deploys Multicast over an Ethernet network, and devices such as routers and switches can sync to the provided timing source.
Supported Load Modules
The following Ixia load modules have the PTP capability:
- LSM1000XMV(R)16, XMV(R)12, XMV(R)8, XMV(R)4
- Xcellon-Ultra XP, NP, and NG
Supported Messages
The following messages are supported between clocks participating in the PTP protocol.
- Event messages
- Sync
- Delay Request
- General Messages
- Announce
- Follow_up
- Delay_Response
Supported Features
The following PTP features are supported.
- Only one two-step clock is supported on an Ixia port, at this time. One-step clock is not supported.
- Ixia ports can run other (non-PTP) traffic along with PTP traffic. Ixia ports have the ability to throttle transmit based on flow control packets being received.
- IEEE 1588 version 2.2 in IPV4 (multicast) is supported.
- Ports are manually configured in Master or Subordinate mode.
- A histogram reporting Subordinate clock OFFSET from master is provided in the form of plot along with PTP messages transmitted and received.
- Aggregate statistics are displayed in Statistics View in IxExplorer.
- Session/Per Interface stats is displayed in IxNw/Tcl/csv file.
- Per Interface configuration is done in protocol interfaces.
- Ability to compose or decode PTP messages from the IxExplorer user interface.
- Negative testing is supported.
- Programmable follow-up messages as a percentage of sync messages. See how dropping 10-90% of follow-up messages (while sending 100% of sync messages) affects the DUT.
- Send follow-up messages with a bad packet.
- Purposely send data with timestamps that include jitter (to try forcing a sync to fail).
- Negative testing is done with packet streams/linux.
Local Clock synchronization through PTP to another PTP clock
The local clock of the is synchronized to the 's master clock by minimizing the Offset_from_master value of the current data set. The time and the rate characteristics of the local clock are modified upon receipt of either a sync message or follow-up message. The following figure illustrates the PTP communication path.
Figure: PTP Communication Path
Term | Value |
---|---|
sync_receipt_time = Ts1 |
Ts1 =Tm1+O+master_to__delay |
preciseOriginTimestamp = Tm1 |
Tm1 |
master_to__delay (computed) |
Ts1Tm1 |
delay_req_sending_time = Ts2 |
Ts2 |
delayReceiptTimestamp = Tm2 |
Tm2 = Ts2 O + _to_master_delay |
_to_master_delay (computed) |
Tm2 Ts2 |
one_way_delay |
{(master_to__delay as computed) + (_to_master_delay as computed)}/2 |
{(Ts1-Tm1) + (Tm2-Ts2)}/2 |
|
{(O + master_to__delay ) + |
|
O +_to_master_delay)}/2 |
|
{(master_to__delay ) + (_to_master_delay)}/2 |
|
|
master_to__delay if path is symmetrical |
- Offset shall be computed as O= Ts1-Tm1 - one_way_Delay. Offset and One way delay shall be stored.
- Offset correction shall be applied to the local clock.
Local clock frequency transfer
In Slave mode of operation, the Ixia port implements a local clock in software (Linux). The frequency of the oscillator is not adjusted but allowed to free-run. The local clock shall be implemented based on time information synchronized from sync/follow_up messages and hardware timestamps associated with these messages. The local clock is associated with a constant and a slope. The rate of a local clock relative to a master clock is illustrated in the figure below in IxExplorer References section.
IxExplorer References
See the IxExplorer User Guide, Chapter 10, Protocol Interfaces, especially topics Protocol Interfaces Tab, PTP Discovered Information, and PTP Clock Configuration.
Figure: Rate of Local Clock Relative to Master
- Clock = K+ Slope*(TS-TS1),
- Slope = (T2-T1)/(TS2-TS1).
- K = T1
Where T1 is the time synchronized from the master and TS1 is the hardware timestamp associated with sync message 1. T2 and TS2 are corresponding parameters associated with sync message 2. T is the time at any point of time.
With a sync message, the parameters K and the slope are updated. The Clock Offset from master is calculated as discussed above and applied to K for correction.
Timestamps are cleared once when PTP is enabled.
In master mode of operation, server provides timestamp to the ports at the instant timestamps are cleared and slope is 1. OFFSET from master is 0.
If a GPS source is interfaced to the chassis, ports emulating the master are configured as Grand Master.
Local clock time format is seconds (32 bits) and nanoseconds (32 bits). The Ixia port supports a 2-step clock.