Commit a5ee4860 authored by Maciej Lipinski's avatar Maciej Lipinski

[ISPCS-HA] major redoing of the paper

parent e4b3e0d8
......@@ -13,7 +13,7 @@
\begin{document}
% paper title
% can use linebreaks \\ within to get better formatting as desired
\title{ High Accuracy:\\ Layer 1 Syntonization Optional Feature}
\title{ High Accuracy\\ in next revision of IEEE1588}
% author names and affiliations
% use a multiple column layout for up to three different
......@@ -21,9 +21,10 @@
\author{
\IEEEauthorblockN{Maciej Lipi\'{n}ski}
\IEEEauthorblockA{CERN, Geneva, Switzerland}
\IEEEauthorblockA{Warsaw University of Technology, Poland}
\and
\IEEEauthorblockN{Opher Ronen}
\IEEEauthorblockA{Oscilloquartz an ADVA Optical Networking Company, Raanana, Israel}
\IEEEauthorblockA{Oscilloquartz an ADVA Optical Networking Company,\\ Raanana, Israel}
}
% make the title area
......@@ -34,17 +35,17 @@
\begin{abstract}
The High Accuracy (HA) sub-committee (SC) is a part of the P1588 Working Group (WG). It works
on a suite of additional options to the IEEE1588 Precision Time Protocol (PTP).
These options are meant to enable interoperable PTP implementations
on a suite of optional features to the IEEE1588 Precision Time Protocol (PTP).
These features are meant to enable interoperable PTP implementations
with enhanced synchronization accuracy. The HA work is
based on the White Rabbit (WR) extension to PTP~\cite{wr}.
Synchronization in WR enhances PTP in two areas: (1)~calibration/measurement of
asymmetries and (2)~precise round-trip measurement.
WR extensions are investigated by HA in an attempt of generalization and
These enhancements are investigated by High Accuracy SC in an attempt of generalization and
formulation into standard language.
This article offers an insight into the current work of High Accuracy SC. It provides technical
This article offers an insight into the current work of High Accuracy SC. It provides
background, definitions and explanations of different features being developed in the committee,
relating them to the original White Rabbit.
......@@ -59,19 +60,19 @@ The task of High Accuracy SC is summarized in the following sentence stated in t
Authorization Request: \textit{The protocol enhances support for synchronization to better than 1 nanosecond.}
The work of High Accuracy SC is based on White Rabbit (WR) extension to PTP~\cite{wr}.
A number of independent aspects of WR was distinguished.
A number of independent aspects of WR were distinguished.
These aspects are handled separately to be potentially included in the IEEE1588 as HA Optional
Features. A High Accuracy Profile will likely use all the HA Optional Features to enable sub-nanosecond
accuracy of synchronization. The features may be used separately by any profile
in order to increase synchronization performance.
accuracy of synchronization under specific conditions. The features may be used separately by any profile
in order to enhance synchronization performance.
This article first presents what dependencies need to be fulfilled to achieve high accuracy.
These dependencies are related to different aspects of the original White Rabbit. Then,
This article first presents what have been distinguished as high accuracy dependencies which
are related to different aspects of the original White Rabbit. Then,
terms used throughout the article, and in the work of High Accuracy SC, are defined to
facilitate further explanations. The rest of the article explains two High Accuracy
dependencies: \textit{Precise round-trip measurement} and \textit{Ingress and egress latency asymmetry}.
It focuses on the former, since its the first and most advanced. It gives
a high-level overview of the later. Finally, some insights into the future challenges in
facilitate further explanations. The rest of the article explains items the High Accuracy SC
is currently working on: \textit{Precise round-trip measurement} and \textit{Ingress and egress latency asymmetry}.
It focuses on the former, since it is the first to be handled and most advanced in work.
It gives a high-level overview of the later. Finally, some insights into the future challenges in
the work of High Accuracy SC are outlined.
......@@ -110,26 +111,24 @@ described below and presented in Figure~\ref{fig:HAdependency}, are fulfilled.
bitslide \cite{bitslide} and system-wide calibration procedure \cite{wrCalibration}.
This is handled by High Accuracy SC within \textit{Calibration} effort.
\item \textbf{Medium asymmetry} is introduced by the difference of transmission
\item \textbf{Medium asymmetry} is introduced by the difference of propagation
delays in the two directions in the medium alone. White Rabbit provides
method to estimate this asymmetry for single-mode single fibre used as
bi-directional medium. This is not currently handled by High Accuracy SC.
\end{itemize}
\section{Definitions and terms}
\section{Terms used in this article}
\label{Definitions}
Discussing accurate synchronization requires precise definitions. This section defines basic
Discussing accurate synchronization requires precise language. This section provides basic
terms that will be used throughout this article (always in \textit{italic}).
\textbf{PTP node} is used to mean a network element
that acts as Boundary, Ordinary or Transparent Clock. A node can have several \textbf{PTP ports}.
\textbf{PTP node} is used to mean a PTP-capable network element
that acts as Boundary, Ordinary or Transparent Clock. A \textit{PTP node} can have several
\textbf{PTP ports}.
\textbf{Clock signal} provides frequency and phase. It is represented by a physical signal that
has periodic events (e.g. oscillator output). The events mark the significant instants at
which the time counter of the physical clock is incremented
which the time counter of the physical clock is incremented.
\textbf{Clock} provides time. It is either
\begin{itemize}
......@@ -142,17 +141,44 @@ which the time counter of the physical clock is incremented
\textbf{Local PTP clock signal} provides PTP frequency and phase. It is the \textit{clock signal}
of a \textit{PTP node} that generates the \textit{local PTP clock}.
\textbf{Local PTP clock} provides PTP time. It is the \textit{clock} of a \textit{PTP node} that provides local
estimate of the time of its Grandmaster, i.e. it is synchronized to the Grandmaster.
\textbf{Local PTP clock} provides PTP time. It is the \textit{clock} of a \textit{PTP node}
that provides local estimate of the time of its Grandmaster, i.e. it is synchronized to the
Grandmaster.
\textbf{L1 clock signal} provides L1 frequency and phase. It is the \textit{clock signal} that is used
by the physical elements that transmit and receive data (e.g. PHYs). \textbf{L1 tx clock signal}
is used to transmit data; \textbf{L1 rx clock signal} is recovered from the received data.
\textbf{Bitslide} is the term used for misalignment of symbols encoded as serial and parallel data
when serializing/deserializing. As an example for Gigabit Ethernet, it is the phase offset
between the "edge" of the 8b/10b symbol and the edge of the \textit{L1 clock signal}
with which the 8b parallel word is aligned, as depicted in Figure~\ref{fig:bitslide}.
\textbf{Port coherency} exists if the \textit{L1 tx clock signal} is derived from the
\textit{local PTP clock signal}.
\textbf{Node coherency} exists if the \textit{local PTP clock signal} is physically
syntonized to the \textit{local clock signal} of its Grandmaster. This is achieved by
deriving \textit{local PTP clock signal} from the \textit{L1 rx clock signal}
syntonized to Grandmaster.
\textbf{Port congruency} exists if the direction of L1 syntonization and PTP synchronization
is uniform at a port, i.e.
\begin{itemize}
\item \textit{Local (PTP) clock signal} is syntonized to the \textit{L1 rx clock signal}
(L1 Slave) and \textit{local PTP clock} is synchronized to the peer node (PTP Slave), \\OR
\item \textit{L1 tx clock signal} is derived from the \textit{local (PTP) clock signal}
(L1 Master) and \textit{local PTP clock} provides time to the peer node (PTP Master)
\end{itemize}
% For ports in PTP states other than PTP Master or Slave, congruency always is considered to
% exist.
\textbf{Bitslide} is the delay resulting from any bit-level misalignment
between the \textit{L1 rx clock signal} recovered from the serial bit stream and the serial
word boarder. While the parallel word (upon which the timestamp is generated) is aligned with the
\textit{L1 rx clock signal}, the actual timestamping point is aligned with the serial word boarder,
resulting in bitslide.
As an example, for Gigabit Ethernet, it is the
phase offset between the "edge" of the 8b/10b symbol and the edge of the \textit{L1 clock signal}
(with which the 8 bit parallel word is aligned) as depicted in Figure~\ref{fig:bitslide}.
\begin{figure}[!ht]
\centering
......@@ -166,10 +192,17 @@ with which the 8b parallel word is aligned, as depicted in Figure~\ref{fig:bitsl
\textit{Precise round-trip measurement} is tackled in the High Accuracy SC as
the \textit{Layer 1 Syntonization Optional Feature} (L1SynOp). Most of its "workload" relies
on the implementation to provide precise timestamps however it requires both communicating
PTP nodes to agree on configuration and ensure compatibility. First we introduce the idea
of enhancing timestamp precision and its requirements, then we present a reference model
which shows it works on a single link.
on the implementation to provide precise timestamps however it requires both interconnected
\textit{PTP ports} to agree on configuration and ensure their proper state. In this section, we
first introduce the idea of enhancing timestamp precision. We then present a reference model
which shows how round-trip measurement can be enhanced on a single link,
and its requirements. It is followed by outlining different aspects considered within the
work on L1SynOp, such as:
\textit{High Accuracy in multi-domain PTP networks},
\textit{Phase and frequency offset parameters},
\textit{Congruency between L1 Syntonization and PTP synchronization}, and
\textit{Indirect L1 Syntonization}.
Finally, a brief overview of L1SynOp functioning is presented.
\subsection{Enhancing precision of hardware timestamps}
......@@ -184,7 +217,7 @@ a technique used for phase detection depends on the mutual frequency stability o
compared \textit{clock signals}. Ideally, the phase offset should be constant, which means
that the \textit{local PTP and L1 clock signals} are syntonized. A phase offset which changes
at a slow, constant rate decreases the precision of phase detection but still enables to get
meaningful and useful data. This can be the case if the two clock signals are indirectly
meaningful and useful data. This can be the case if the two \textit{clock signals} are indirectly
syntonized or if they are syntonized to independent Primary Reference Clocks (PRCs), such
as caesium or rubidium.
......@@ -194,7 +227,7 @@ as caesium or rubidium.
\label{RefModel}
The idea of enhancing timestamping precision is modelled for a round-trip measurement.
Figure~\ref{fig:refModel} depicts a link between two PTP nodes. In each
Figure~\ref{fig:refModel} depicts a link between two \textit{PTP nodes}. In each
node three clock signals are distinguished:
\textit{Local PTP clock signal} ($clk_{PTP\_A}$, $clk_{PTP\_B}$),
\textit{L1 Tx clock signal} ($clk_{L1\_Tx\_A}$, $clk_{L1\_Tx\_B}$), and
......@@ -221,7 +254,7 @@ is marked as $x_{Rx\_A}$ and $x_{Rx\_B}$ for \textit{Node A} and \textit{Node B}
The fine part of the round-trip can be calculated when the values of all the phase offsets,
i.e. $x_{Tx\_A}$, $x_{Tx\_B}$, $x_{Rx\_A}$, and $x_{Rx\_B}$, are known for the appropriate
instances (i.e the transmission and reception time of the relevant event messages).
Therefore, both nodes participating in the link must "know" their phase offsets.
Therefore, both nodes participating in the communication path must "know" their phase offsets.
The PTP Slave must be informed about the phase offsets of the PTP Master.
"Knowing" can take different forms. For example, if the \textit{L1 Rx clock signal} is used
directly for the PTP time-keeping ($clk_{PTP}=clk_{L1\_Rx}$), their phase offset is known to be
......@@ -235,441 +268,302 @@ or derived in some other way.
The reference model relies on the following requirements:
\begin{itemize}
\item The PTP and L1 clock signals are syntonized at a level sufficient to measure their phase offsets.
\item Each node "knows" the phase offset between its PTP and L1 clock signals.
\item The two \textit{PTP Nodes} are directly connected.
\item The \textit{PTP and L1 clock signals} are syntonized at a level sufficient to measure their phase offsets.
\item Each node "knows" the phase offset between its \textit{PTP and L1 clock signals}.
\item The PTP Slave node is informed that the PTP Master node "knows" its phase offsets.
\item The PTP Slave node is provided with the values of the PTP Master phase offsets. These values can be embedded in the timestamps if agreed.
\end{itemize}
It is the task of the \textit{Layer 1 Syntonization Optional Feature} to make sure the
requirements are fulfilled on the link.
% \subsection{Reference Model applied to White Rabbit}
%
% As an example, the \textit{reference model} is applied to White Rabbit:
% \begin{itemize}
% \item Both nodes use the \textit{PTP clock signal} for the data transmission ($clk_{PTP}=clk_{L1\_Tx}$),
% and the transmission phase offsets are know to be zero ($x_{Tx}=0$).
% \item The PTP Slave node uses its recovered \textit{L1 clock signal} for PTP time-keeping
% but shifts the \textit{PTP clock signal} to phase-align its phase with
% the phase of the clock of the PTP Master. The reception phase offset on the
% PTP Slave is known (it is set): $x_{Rx}=set\_point$.
% \item The PTP Master node measures (using a DDMTD phase detector \cite{ddmtd}) its reception
% phase offset: $x_{Rx}=DDMTD\_measurement$.
% \item The PTP Slave node is assured that all the phase offsets are known after successfully
% accomplishing the \textit{WR link setup procedure} (page 14-15 of \cite{wrdraft}).
% \item The PTP Master node embeds its reception phase offset ($x_{Rx}$) into
% the $t_4$ timestamp by correcting it, using the fractional nanosecond part included
% in the correction field.
% \end{itemize}
% \subsection{High Accuracy in multi-domain PTP networks}
% \label{HAinMultiDomain}
%
% PTP networks can support many \textit{domains}. The time for a \textit{domain} is established
% by a grandmaster. In other words, all the PTP nodes in the \textit{domain} are synchronized
% to the time provided by the grandmaster, \textit{GM time}. The \textit{GM time} specifies
% epoch and definition of a second. Two grandmasters in the same timescale, might have slightly
% different \textit{GM times}. For example, two grandmasters synchronized using separate GPS
% receivers are expected to be off by tens of nanoseconds. Similarly, two grandmasters
% syntonized to separate Rubinium sources exhibit frequency offset, therefore their
% definition of a second is not precisely the same.
%
% Many \textit{GM times} can be independently propagated in separate domains over the
% same physical network of PTP nodes. In such case, PTP message
% communication and synchronization are performed for each \textit{domain} separately.
% Effectively, each PTP node participates in multiple domains and synchronizes to multiple
% \textit{GM times}. Frequency offsets between such \textit{GM time} exist.
%
% The primary syntonization method in PTP networks uses timestamps to measure
% the \textit{Sync message} rate. This information is then used to control the frequency of
% the slave. The method is limited by the timestamping precision and the control loop frequency.
%
% SyncE achieves more precise syntonization by using the \textit{L1 clock signal} in the
% physical layer. However, a single SyncE network can be used to syntonize precisely only one
% PTP \textit{domain}. Many \textit{GM times} can only be transported over SyncE networks
% by using timestamp-based syntonization.
%
% It has been noticed that the knowledge of the phase offset between the PTP and the L1 clock
% signals in the HA nodes can be used to recreate precisely many \textit{GM times}.
% Effectively, a single physical \textit{L1 clock signal} can provide precise syntonization for
% \textit{PTP clock signals} in different domains.
% This can be decoupled from the direction of propagation of the L1 syntonization.
% The SyncE spanning tree in the network is irrelevant as long as the
% information required to recreate the \textit{PTP clock signal} is distributed from the
% PTP master to the PTP slave.\\
%
%
%
% \section{(Non-) Congruency between L1 syntonization and PTP synchronization}
%
% \begin{figure}[!t]
% \centering
% \includegraphics[width=0.5\textwidth]{figs/NonCongruency.eps}
% \caption{Telecom synchronous network partially upgraded to HA -- a use case for non-congruency.}
% \label{fig:nonCongruency}
% \end{figure}
%
% Non-congruency between the L1 syntonization spanning tree and the PTP synchronization spanning tree
% can be useful in a number of cases. One is described below.
%
% An existing ITU-T SyncE network is partially upgraded to support High Accuracy,
% as depicted in Figure~\ref{fig:nonCongruency}.
% Two nodes in the network are replaced with HA-capable devices (blue).
% The HA installation provides synchronization between the Primary Reference Time Clock (PRTC)
% at the \textit{Experiment installation headquarters} and the experimental base station at another
% site.
% The syntonization spanning tree (red) in the SyncE network cannot be modified due to the
% legacy equipment. Therefore, non-congruent HA links are required to provide synchronization
% for the HA installation. For example,
% the link between the HA~grandmaster at the \textit{Experiment installation headquarters}
% and the HA node in the SyncE network. The grandmaster uses the
% SyncE \textit{L1 clock signal} (red) to distribute its PTP \textit{timescale} (blue).
% It measures the relation between the blue and red clock signals. This information
% is then distributed to the other HA nodes to recreate the blue
% PTP \textit{timescale} along the HA synchronization path (dashed blue and red line).
% Finally, the \textit{experimental base station} is synchronized to the blue PTP \textit{timescale}.
%
% The rate of change of the phase offset between the blue and red clock signals must be small
% enough for the offset to be measurable and useful. This is true if the references of
% the red and the blue frequencies are caesium or rubidium standards.
%
% \section{Indirect L1 syntonization}
%
% \begin{figure}[!t]
% \centering
% \includegraphics[width=0.5\textwidth]{figs/BackupLink.eps}
% \caption{Indirect syntonization on a redundant and "passive" link.}
% \label{fig:BackupLink}
% \end{figure}
%
%
% A redundant link is an example of indirect syntonization. Figure~\ref{fig:BackupLink}
% shows a grandmaster node A connected to two nodes, B and C, which are synchronized and
% syntonized to the grandmaster. There is a direct link between node B and C which is
% redundant for the synchronization and syntonization spanning trees. The \textit{PTP clock signal} of
% node B is not syntonized to the \textit{L1 clock signal} recovered on its West interface.
% Neither is the \textit{PTP clock signal} of node C on its East interface.
% However, the \textit{PTP clock signals} of
% both nodes are syntonized through the grandmaster. We say that nodes B and C are indirectly
% syntonized. A precise round-trip measurement is possible on such an indirectly syntonized
% link provided the reference model requirements from section~\ref{RefModel} are fulfilled.
%
%
% \section{Layer 1 Syntonization Optional Feature (L1SynOp) proposal}
%
% The L1SynOp shall provide a standard way for the interconnected ports of two PTP nodes to:
% \begin{itemize}
% \item agree on the ability to perform the \textit{precise round-trip measurement},
% \item exchange necessary information,
% \item enable multi-domain syntonization.
% \end{itemize}
% A PTP port that is capable of performing L1SynOp is called \textit{L1SynOp port}. A PTP
% node that has \textit{L1SynOp ports} is called \textit{L1SynOp node}.
%
% The prerequisite condition for the \textit{precise round-trip measurement} is a direct
% link between two \textit{L1SynOp ports}.
% Switches or routers without L1SynOp support are not allowed "in between" the \textit{L1SynOp ports}.
% Such non-L1SynOp network elements can be detected by sending option-specific frames to the
% link-limited reserved address\footnote{01-80-C2-00-00-0E for the IEEE 802.3/Ethernet mapping}.
% These frames are discarded by all the network elements except the \textit{L1SynOp nodes}.
% % This kind of verification shall be provided by the L1SynOp.
%
% Provided a direct link exists, two connected \textit{L1SynOp ports} shall verify that the
% requirements of the reference model are satisfied. In particular, the exchanged information
% shall enable:
% \begin{itemize}
% \item verification of syntonization between the PTP and L1 clock signals on both \textit{L1SynOp ports},
% \item confirmation that both \textit{L1SynOp ports} know their phase offsets,
% \item exchange of the phase offset values so that the \textit{L1SynOp port} in the PTP Slave
% state can use them in its calculations.
% \end{itemize}
% The \textit{L1SynOp port} in the PTP Master state can embed its phase
% offsets into timestamps by correcting their values. If phase offsets are embedded,
% the $t_1$ shall be corrected with $x_{Tx}$ and $t_4$ with $x_{Rx}$.
%
%
% \subsection{L1SynOp information exchange}
%
% A single Type-Length-Value (TLV) is defined for the exchange of all the L1SynOp information.
% It is called the L1InfoTLV. Two types of L1InfoTLV are distinguished by a \textit{Type ID}:
% \begin{enumerate}
% \item Announce-L1InfoTLV. It is suffixed to PTP Announce Messages and/or sent in
% Signaling Messages, depending on the profile specification.
% \item Response-L1InfoTLV. It is sent in Signaling Messages using a reserved destination
% address. It is sent only as a response to a request carried in
% the Announce-L1InfoTLV.
% \end{enumerate}
% A \textit{L1SynOp port} sends Response-L1InfoTLV if it receives Announce-L1InfoTLV
% with the \textit{Response Request flag} set to \textit{True}, see
% Table~\ref{tab:L1InfoTLV}. This mechanism provides means for an \textit{L1SynOp port} to
% (1) verify whether a link is direct, and
% (2) request an update from the other \textit{L1SynOp port}.
% The rules for setting the \textit{Response Request flag} are defined by L1SynOp and can be
% fine-tuned by a profile.
%
% The \textit{Response Request flag} is set to \textit{True} whenever the physical interface goes up.
% It is set to False whenever a Response-L1InfoTLV is received in a response to Announce-L1InfoTLV.
% The flag can be periodically set to \textit{True} for link re-verification. The verification
% is repeated at regular time intervals. The default value for the time interval is zero,
% which means that re-verification is disabled. However, a profile can modify the
% interval accordingly.
%
% A Boundary or Ordinary Clock (BC \& OC) sends
% the Announce-L1InfoTLVs on its \textit{L1SynOp ports} which are in the PTP Master or
% Uncalibrated state. It can be sent in other states if defined by the profile.
%
% A Transparent Clock (TC) sends Announce-L1InfoTLV on all its \textit{L1SynOp ports}
% periodically.
%
%
% A profile that uses L1SynOp defines the condition to activate the L1SynOp implementation-specific mechanisms
% which enable precise round-trip measurement. This condition uses the information provided
% by the L1SynOp.
%
% \subsection{L1InfoTLV content}
% \label{L1InfoTLV}
%
% \begin{table}[!t]
% \centering
% \begin{tabular}{| c | c | } \hline
% \textbf{Name} & \textbf{Values} \\ \hline
% & \\ \hline
% Type ID & Announce, Response \\ \hline
% Response Request flag & True, False \\ \hline
% Link-verified flag & True, False \\ \hline
% Phase offsets known flag & True, False \\ \hline
% Congruent & True, False \\ \hline
% Coupled & True, False \\ \hline
% L1 status & Master, Slave, Not syntonized \\ \hline
% L1 configuration & Master, Slave, Both \\ \hline
% Timestamps corrected & True, False \\ \hline
% Parameter(s) & \textit{Integer}(s) \\ \hline
% Parameter Flag & True, False \\ \hline
% Parameter Valid Flag & True, False \\ \hline
% FrequencyClass & See Table~\ref{tab:freqClass}
% in Section~\ref{FrequencyClass} \\ \hline
% \end{tabular}
% \caption{L1InfoTLV content.}
% \label{tab:L1InfoTLV}
% \end{table}
%
%
% Table~\ref{tab:L1InfoTLV} presents the information that is sent
% in the L1InfoTLV. Each field is described below.\\
% \textbf{Type ID} ensures distinction between the Announce-L1InfoTLV
% and Response-L1InfoTLV. The former is specified by the profile to be either suffixed to the
% PTP Announce or sent in the Signaling Message. The latter
% is required to be sent on request in the Signaling Message to a link-limited address, regardless of
% the profile specification.
% \\
% \textbf{Response Request flag}. If it is set to \textit{True} in the Announce-L1InfoTLV received by
% the \textit{L1SynOp port}, a Response-L1InfoTLV is sent. It is set to False in all the Response-L1InfoTLVs.
% \\
% \textbf{Link-verified flag} is set to \textit{True} if the sending \textit{L1SynOp port} has successfully verified
% that the link is direct.
% \\
% \textbf{Phase offsets known} is set to \textit{True} if the sending \textit{L1SynOp port} "knows" the phase
% offsets between its PTP and L1 clock signals: $x_{Rx}$ and $x_{Tx}$. For example, it is set
% to \textit{True} by an \textit{L1SynOp port} that uses directly the recovered \textit{L1 clock signal} for its
% PTP time-keeping ($x_{Rx}=0$) and uses the same clock signal for transmission ($x_{Tx}=0$). The flag is
% also set to \textit{True} by an \textit{L1SynOp port} that uses its \textit{PTP clock signal} to transmit traffic
% ($x_{Tx}=0$) and measures the phase offset between its \textit{PTP clock signal} and the recovered
% \textit{L1 clock signal} ($x_{Rx}=measurement$).
% \\
% \textbf{Congruent} informs about a profile-wide relation between the PTP synchronization
% spanning tree and the L1 syntonization spanning tree. If it is set to \textit{True}, the L1 spanning tree
% is determined by the PTP spanning tree and the frequency source node is chosen as the same node as
% the PTP grandmaster. For example, if SyncE is used for L1 syntonization, the Ethernet Synchronization
% Message Channel (ESMC) is disabled and SyncE is configured by the PTP stack.
% \\
% \textbf{Coupled} informs about a profile-wide relation between the PTP synchronization
% and the L1 syntonization process. If it is set to \textit{True}, an \textit{L1SynOp port} recommended to enter
% the PTP Slave state waits to do so until the L1 syntonization is completed.
% It allows the definition of profiles which give some level of guarantee that no phase jumps or shifting
% occurs when PTP synchronization happens.
% \\
% \textbf{L1 status} informs about the status of the L1 syntonization on the sending \textit{L1SynOp port}.
% The status is obtained from a media-dependent mechanism (e.g. ITU-T-SyncE or WR-SyncE)
% via a media-independent interface, detailed in section~\ref{mediaIndependentIF}.
% The following \textit{L1 status} values are defined: \textit{L1 Slave}, \textit{L1 Master} and \textit{Not syntonized}.\\
%
%
% \textbf{L1 configuration} informs about whether the sending \textit{L1SynOp port}
% can act as an L1 Master, or an L1 Slave, or both.
% This information is foreseen for congruent mode when the PTP spanning tree controls
% the L1 spanning tree and an L1-specific protocol is not used. This could be the case e.g. if ESMC is disabled.
%
% \textbf{Timestamps corrected} informs about whether the sending \textit{L1SynOp port}
% embeds its phase offsets into timestamps by correcting their values.
% \\
% \textbf{Parameters} -- a set of values that inform about the relation between the
% \textit{L1 clock signal} used for transmitting data and the \textit{PTP clock signal}
% in the domain in which the PTP messages are exchanged.
% These parameters can enable an optional multi-domain syntonization.
% \\
% \textbf{Parameters Flag} informs that the \textit{Parameters} are provided by the
% sending \textit{L1SynOp port}.
% \\
% \textbf{Parameters Valid Flag} informs that the sent \textit{Parameters}
% are valid.
% \\
% \textbf{FrequencyClass} informs about the quality of the \textit{L1 clock signal}
% on the syntonization path from the PRTC. Its usage is left to a profile. It is described in
% details in the following section. %To be investigated.
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Parameters}
% \label{parameters}
%
% The main intention of exchanging the \textit{Parameters}, as explained in
% Section~\ref{HAinMultiDomain}, is to precisely recreate \textit{PTP clocks} in different
% domains using a single physical \textit{L1 clock signal}.
% The exchanged parameters can be also useful for diagnostics, R\&D, or correction of timestamps.
%
% It is proposed to capture the relation between the \textit{PTP clock signal} and the
% \textit{L1 clock signal} by timestamping periodic events and capturing phase offset between
% the L1 and PTP clock signals at the event occurrence. The events shall be timestamped using the
% \textit {PTP clock} ($t_n$). The phase offset between the rising edge of the \textit{PTP clock
% signal} and the following rising edge of the \textit{L1 clock signal} shall be captured in the
% \textit{PTP clock signal} timebase.
%
% The proposed schema is depicted in Figure~\ref{fig:Parameters}, which shows the events as
% dashed red lines. The generation of events is implementation-specific. An event can be, for
% example, a transmission of the PTP message, such as a Sync Message or a Signaling Message. In
% principle, an event can be virtual, especially if the \textit{PTP clock} is a "paper clock"
% which is only calculated.
% The frequency of events shall be such that the difference between the consecutive (measured)
% phase offsets is much smaller than the period of the \textit{PTP clock signal}, i.e.
% $x_{n+1}-x_n < T_0$.
%
%
% The following values are proposed to be sent in the L1InfoTLV as \textit{Parameters}:
% \begin{itemize}
% \item \textbf{timestamp ($t_n$)} of each event, captured using the \textit{PTP~clock},
% \item \textbf{phase offset ($x_n$)} at the event occurrence, between the rising edge of the
% \textit{PTP clock signals} and the following rising edge of the \textit{L1 clock
% signal}, measured using the \textit{PTP~clock signal} definition of the
% second,
% \item \textbf{flag} to indicate whether the above values are valid.
% \end{itemize}
%
% \begin{figure}[!t]
% \centering
% \includegraphics[width=0.5\textwidth]{figs/Parameters-2.eps}
% \caption{Relation between PTP and L1 clocks expressed using timestamps and
% phase offsets ($t_n$ and $x_n$).}
% \label{fig:Parameters}
% \end{figure}
%
% It has been suggested to enable sending the value of the \textbf{fractional frequency offset}
% between the L1 and PTP clock signals, along with a \textbf{flag} indicating that the value
% is valid. The \textit{fractional frequency offset} value can be calculated by an \textit{L1SynOp
% port} after receiving two consecutive L1InfoTLVs:
% \begin{equation}
% \label{eq:frequencyOffset}
% y_n= \frac{x_n - x_{n-1}}{t_n - t_{n-1}}
% \end{equation}
% There is a number of arguments in favour of sending this seemingly redundant information.
% These arguments are presented below and need to be evaluated:
% \begin{itemize}
% \item
% Let's consider an example where the \textit{PTP clock signal} is generated from the
% \textit{L1 clock signal} by applying the \textit{frequency offset} as a control word,
% as depicted in Figure~\ref{fig:freqOffset}.
% The control algorithm is unknown to the other \textit{L1SynOp node}.
% The \textit{frequency offset} ($y_n$) applied for the subsequent interval ($T_{n+1}$) can be
% calculated only when the interval has passed and all the four values are available:
% $x_n$, $x_{n+1}$, $t_{n}$ and $t_{n+1}$. If the \textit{frequency offset} is sent, the
% other \textit{L1SynOp node} can apply it directly, rather than wait $T$.
% \item
% For some "alternative media" there may not be a well defined timestamping instance
% (or at least not related to packet sending). The decoupling of L1 info from the
% timestamps, by providing the frequency offset value, may possibly give useful
% freedom in implementations or definitions.
% \item
% \textit{Frequency offset} is the "natural" value to control VCXOs, thus can
% be directly supplied to their controller and no extra computation is required.
% \end{itemize}
% \begin{figure}[!t]
% \centering
% \includegraphics[width=0.5\textwidth]{figs/FreqOffset-2.eps}
% \caption{Frequency offset applied as control word for L1 Tx clock signal generation.}
% \label{fig:freqOffset}
% \end{figure}
%
%
%
%
% \subsection{Media independent interface}
% \label{mediaIndependentIF}
%
% The media independent interface enables exchange of information between the
% media-independent \textit{L1SynOp entity} and a media-dependent syntonization mechanism, e.g. WR-SyncE or
% ITU-T-SyncE, as depicted in Figure~\ref{fig:IF}.
% The exchange happens at each \textit{L1SynOp port} in two directions: lower-to-upper and upper-to-lower.
%
% \begin{figure}[!t]
% \centering
% \includegraphics[width=0.3\textwidth]{figs/IF.eps}
% \caption{Media-independent interface.}
% \label{fig:IF}
% \end{figure}
%
% \subsubsection{Lower-to-upper} the media-dependent mechanism provides information to
% the \textit{L1SynOp entity}. The information concerns the status of L1 syntonization
% and is sent in the \textit{L1InfoTLV} as the \textit{L1 status}.
% The interface shall enable the \textit{L1SynOp entity} to query about the syntonization status:
% \begin{itemize}
% \item Is this port an L1-Master that is locked to a source~?
% \item Is this port an L1-Slave that is locked to the recovered \textit{L1 clock signal}~?
% \end{itemize}
%
% \subsubsection{Upper-to-lower} an \textit{L1SynOp port} in congruent mode shall be able to
% configure the syntonization mechanism. The interface shall provide the
% \textit{L1SynOp entity} with the possibility of sending the following requests to the media-dependent mechanism:
% \begin{itemize}
% \item Become L1-Master.
% \item Become L1-Slave.
% \end{itemize}
% The result of the above requests can be verified by using the lower-to-upper queries.
%
% \subsection{Passive ports}
%
% The L1SynOp works on so-called "passive links" which exist between
% ports in the PTP Master and Passive states. A \textit{L1SynOp port} in the PTP Master state
% sends Announce-L1InfoTLVs. If the \textit{Response Request flag} is set to \textit{True},
% the \textit{L1SynOp port} in the PTP Passive state replies
% with the Response-L1InfoTLV. Such an exchange is possible since Signaling Messages are allowed
% by PTP on ports in the Passive state.
% The mutual exchange of information on the "passive link" enables to verify the link and
% the applicability of the \textit{reference model}; the L1SynOp information can be kept up to date.
It is the task of the protocol mechanisms developed within
\textit{Layer 1 Syntonization Optional Feature} to make sure these requirements are fulfilled
on the communication path.
\subsection{Reference Model applied to White Rabbit}
As an example, the \textit{reference model} is applied to White Rabbit:
\begin{itemize}
\item Both nodes use the \textit{local PTP clock signal} for the data transmission ($clk_{PTP}=clk_{L1\_Tx}$),
and the transmission phase offsets are know to be zero ($x_{Tx}=0$).
\item The PTP Slave node uses its recovered \textit{L1 clock signal} for PTP time-keeping
but shifts the \textit{local PTP clock signal} ($clk_{PTP\_B}$) to phase-align its phase with
the phase of the \textit{local PTP clock signal} ($clk_{PTP\_A}$) of the PTP Master.
The reception phase offset on the PTP Slave Node is known (it is set): $x_{Rx}=set\_point$.
\item The PTP Master node measures (using a DDMTD phase detector \cite{ddmtd}) its reception
phase offset: $x_{Rx}=DDMTD\_measurement$.
\item The PTP Slave node is assured that all the phase offsets are known after successfully
accomplishing the \textit{WR link setup procedure} (page 14-15 of \cite{wrdraft}).
\item The PTP Master node embeds its reception phase offset ($x_{Rx}$) into
the $t_4$ timestamp by correcting it, using the fractional nanosecond part included
in the correction field.
\end{itemize}
\subsection{High Accuracy in multi-domain PTP networks}
\label{HAinMultiDomain}
PTP networks can support many \textit{domains}. The time for a \textit{domain} is established
by a grandmaster. In other words, all the PTP nodes in the \textit{domain} are synchronized
to the time provided by the Grandmaster, \textit{GM time}. The \textit{GM time} specifies
epoch and definition of a second. Two Grandmasters in the same timescale, might have slightly
different \textit{GM times}. For example, two Grandmasters synchronized using separate GPS
receivers are expected to be off by tens of nanoseconds. Similarly, two Grandmasters
syntonized to separate Rubinium sources exhibit frequency offset, therefore their
definition of a second is not precisely the same.
Many \textit{GM times} can be independently propagated in separate domains over the
same physical network of PTP nodes. In such case, PTP message
communication and synchronization are performed for each \textit{domain} separately.
Effectively, each PTP node participates in multiple domains and synchronizes to multiple
\textit{GM times}. Frequency offsets between such \textit{GM time} exist.
The primary syntonization method in PTP networks uses timestamps to measure
the \textit{Sync message} rate. This information is then used to control the frequency of
the slave. The method is limited by the timestamping precision and the control loop frequency.
L1 syntonization (e.g. used in SyncE \cite{synce}) achieves more precise frequency
transfer by using the \textit{L1 clock signal} in the physical layer. However, a single frequency
can be transferred through a network to syntonize precisely only one
PTP \textit{domain}. Many \textit{GM times} can only be transported over physically
syntonized networks by using timestamp-based syntonization.
It has been noticed that the knowledge of the phase offset between the
\textit{PTP and the L1 clock signals} in the HA nodes can be used to recreate precisely
many \textit{GM times}.
Effectively, a single physical \textit{L1 clock signal} can provide precise syntonization for
\textit{local PTP clock signals} in different domains.
This can be decoupled from the direction of propagation of the L1 syntonization to create
non-congruent high accuracy network.
The L1 syntonization distribution spanning tree in the network is irrelevant as long as the
information required to recreate the \textit{PTP clock signal} is distributed from the
PTP master to the PTP slave.\\
\subsection{(Non-) Congruency between L1 syntonization and PTP synchronization}
\begin{figure}[!t]
\centering
\includegraphics[width=0.5\textwidth]{figs/NonCongruency.eps}
\caption{Telecom synchronous network partially upgraded to HA -- a use case for non-congruency.}
\label{fig:nonCongruency}
\end{figure}
Non-congruency between the L1 syntonization spanning tree and the PTP synchronization spanning
tree can be useful in a number of cases. One is described below.
An existing ITU-T SyncE network is partially upgraded to support High Accuracy, as depicted
in Figure~\ref{fig:nonCongruency}.
Two nodes in the network are replaced with HA-capable devices (blue).
The HA installation provides synchronization between the Primary Reference Time Clock (PRTC)
at the \textit{Experiment installation headquarters} and the experimental base station at
another site.
The syntonization spanning tree (red) in the SyncE network cannot be modified due to the
legacy equipment. Therefore, non-congruent HA links are required to provide synchronization
for the HA installation. For example,
the link between the HA~grandmaster at the \textit{Experiment installation headquarters}
and the HA node in the SyncE network. The grandmaster uses the
SyncE \textit{L1 clock signal} (red) to distribute its PTP \textit{time} (blue), i.e.
the \textit{local PTP clock} of the HA grandmaster.
It measures the relation between the blue and red clock signals. This information
is then distributed to the other HA nodes to recreate the blue
PTP \textit{time} along the HA synchronization path (dashed blue and red line).
Finally, the \textit{experimental base station} is synchronized to the blue PTP \textit{time}
of the HA grandmaster.
The rate of change of the phase offset between the blue and red clock signals must be small
enough for the offset to be measurable and useful. This is true if the references of
the red and the blue frequencies are caesium or rubidium standards.
\subsection{Phase and frequency offset parameters}
\label{parameters}
The main intention of exchanging the \textit{parameters}, as explained in
Section~\ref{HAinMultiDomain}, is to precisely recreate \textit{local PTP clocks} in different
domains using a single physical \textit{L1 clock signal}. The exchanged parameters can be
also useful for diagnostics, R\&D, or correction of timestamps. These \textit{parameters}
are meant to be optionally supported by \textit{PTP Nodes} implementing L1SynOp.
The \textit{parameters} enable to supply information about the known
(possibly via measurement) interrelations between the \textit{L1 tx clock signal}
used for transmission in a link and the \textit{local PTP clock signal}.
The Phase offset is the value $x_{tx}$ in Figure~\ref{fig:refModel} that indicates the
phase-difference between the desired time stamping time at the reference plane, and a sampling
time aligned to the \textit{local PTP clock signal}. In general this Phase offset is time
varying, so the time for each known value is supplied as well, it is expressed in PTP