A clock synchronization scheme for software

INTERNATIONAL JOURNAL OF NETWORK MANAGEMENT
Int. J. Network Mgmt 2016; 26:355–372
Published online 28 July 2016 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/nem.1942
R EVERSE PTP: A clock synchronization scheme for
software-defined networks
Tal Mizrahi, and Yoram Moses
Department of Electrical Engineering, Technion — Israel Institute of Technology, Haifa, Israel
SUMMARY
We introduce R EVERSE PTP, a clock synchronization scheme for software-defined networks (SDNs).
R EVERSE PTP is based on the Precision Time Protocol (PTP), but is conceptually reversed; in
R EVERSE PTP, all nodes (switches) in the network distribute timing information to a single software-based
central node (the SDN controller), which tracks the state of all the clocks in the network. Hence, all computations and bookkeeping are performed by the central node, whereas the ‘dumb’ switches are only required
to periodically send it their current time. In accordance with the SDN paradigm, the ‘brain’ is implemented
in software, making R EVERSE PTP flexible and programmable from an SDN programmer’s perspective. We
present the R EVERSE PTP architecture and discuss how it can be used in typical SDN architectures. Our
experimental evaluation of a network with 34 R EVERSE PTP-enabled nodes demonstrates the effectiveness
and scalability of using R EVERSE PTP. Copyright © 2016 John Wiley & Sons, Ltd.
Received 31 August 2015; Revised 18 February 2016; Accepted 24 May 2016
1. INTRODUCTION
1.1. Background
Software-defined networking (SDN) is an architecture in which a network is managed by a centralized
controller. The controller provides an application programming interface that allows SDN programmers to manage the network using a high-level programming language. The SDN approach defines a
clear distinction between the data plane and the control plane; on the data plane, forwarding decisions
is taken locally by each switch in the network, while the control plane is managed by a centralized
entity called the controller, overcoming the need for complicated distributed control protocols and
providing the network operator with powerful and efficient tools to manage the data plane.
In recent years, as accurate time synchronization has become an accessible and affordable
tool, it is used in various different applications; mobile backhaul networks use clock synchronization protocols to synchronize mobile base stations [1]. Google’s Spanner [2] uses
synchronized clocks as a tool for synchronizing a distributed database. Industrial automation
systems [3] use synchronized clocks to allow deterministic response times of machines to external events and to enforce coordinated orchestration in factory product lines. The Time-sensitive
Networking technology [4] is used in automotive networks and in audio/video networks. The
well-known nuclear research labs at CERN use state-of-the-art synchronization [5], allowing
sub-nanosecond accuracy in response to management messages that control the experiments.
Correspondence to: Tal Mizrahi, Department of Electrical Engineering, Technion — Israel Institute of Technology,
Haifa, Israel.
E-mail: [email protected]
Yoram Moses is the Israel Pollak academic chair at Technion.
Copyright © 2016 John Wiley & Sons, Ltd.
356
T. MIZRAHI AND Y. MOSES
The rise of SDN raises two interesting use cases for accurate clock synchronization:
Distributing time over SDN-enabled networks. Accurate time is required in various environments, in which SDN is being considered (e.g., [6]). Hence, an SDN can be used as a vessel for
distributing accurate time between end points. Notably, accurate synchronization between end
points requires the SDN-enabled network equipment to take part in the synchronization protocol.
Timed network operations. A recently introduced approach [7–9] suggests the usage of accurate
time to coordinate network updates in an OpenFlow-enabled network in a simple and scalable
manner, reducing packet loss and anomalies during configuration or topology changes. Accurate
time can be a useful tool in various scenarios in the dynamic SDN setting, for example, coordinated topology changes, resource allocation updates, and accurate timestamping for event logs
and statistics collection. Our previous work in this context includes an extension [10] to the OpenFlow [11,12] protocol that enables timed operations using OpenFlow. This new feature has been
approved by the Open Networking Foundation and integrated into OpenFlow 1.5 [12].
A network that either distributes time between its end points or makes use of timed operations
requires a clock synchronization protocol. The Precision Time Protocol (PTP), defined in the IEEE
1588–2008 standard [13], is a natural candidate, as it can provide a very high degree of accuracy,
typically on the order of 1 microsecond (e.g., [14]) or less, and is widely supported in switch silicons.
The challenge of using a standard synchronization protocol such as PTP in an SDN environment lies
in the fundamental difference between these two technologies. A key property of SDN is its centralized
control plane, whereas PTP is a decentralized control protocol; a master clock is elected by the Best
Master Clock Algorithm (BMCA), and each of the slaves runs a complex clock servo algorithm that
continuously computes the accurate time based on the protocol messages received from the master
clock. Thus, if SDN switches function as PTP slaves, then in contrast to the SDN philosophy, they
are required to run complex algorithmic functionality and to exchange control messages with other
switches. Indeed, a hybrid [12] approach can be taken, where the SDN operates alongside traditional
control-plane protocols such as PTP. Our approach is to adapt PTP to the SDN philosophy by shifting
the core of its functionality to the controller.
1.2. R EVERSE PTP in a nutshell
In this paper, we introduce R EVERSE PTP, a novel approach that addresses the previous challenge;
in contrast to the conventional PTP paradigm, where a master clock distributes its time to multiple
slave clocks (Figure 1(a)), in R EVERSE PTP (Figure 1(b)), there is a single node (the SDN controller)
that runs multiple instances of a PTP slave and multiple masters (the switches). Every switch runs a
separate instance of PTP with the controller, where the switch is the master and the controller is the
Figure 1. Time distribution in PTP and R EVERSE PTP.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
357
slave. Hence, every switch distributes its time to the controller. The controller keeps track of the offset,
skew, and drift of each of the switches’ clocks with respect to the controller’s clock. This relieves the
switches of any complicated computations and does not require message exchange between switches,
as all protocol messages are exchanged with the controller.
The significant advantage of R EVERSE PTP is that the complex algorithmic functionality that
acquires the accurate time using the information received in the PTP messages is implemented in the
controller. This algorithmic logic can be modified or reprogrammed at the controller without upgrading
switches in the network or can be dynamically tuned and adapted to the topology and behavior of the
network based on a network-wide perspective. Moreover, an operator that uses switches from different vendors may experience inconsistent behavior when using conventional PTP, as different switches
may use different clock servo algorithms, while R EVERSE PTP guarantees uniform behavior as all the
algorithmic logic runs on the controller.
Notably, the main difference between PTP and R EVERSE PTP is the direction of time distribution;
in R EVERSE PTP, time is distributed in an all-to-one fashion in contrast to PTP’s one-to-all nature.
Hence, the accuracy of conventional PTP and R EVERSE PTP should be similar, given that all other
aspects of the network are the same.
R EVERSE PTP is defined as an IEEE 1588 profile.1 Because switches function as conventional PTP
masters, our approach is applicable to existing implementations of PTP-enabled switches. We note
that the R EVERSE PTP approach can be applied to other synchronization protocols, for example, the
Network Time Protocol [15].
In a precise sense, R EVERSE PTP is not a clock synchronization protocol. Instead, R EVERSE PTP
is a tool for coordinating synchronized actions in an SDN environment. All the timing information is
maintained in the ‘brain’ of the network, the controller, whereas the ‘dumb’ SDN switches do not need
to be synchronized.
1.3. Related work
In preliminary versions of this paper [16,17], we introduced R EVERSE PTP and its main principles. The
current paper describes R EVERSE PTP in detail and includes detailed experimental evaluation results.
A topic that has been thoroughly studied in the literature is software-based implementation of accurate clock synchronization [18,19], not to be confused with SDN, which is the network architecture
that the current paper focuses on. The PTIDES project [20,21] defines a programming model for
time-aware programs. The current paper presents R EVERSE PTP and focuses on how time-aware SDN
applications can use it. The programming model is beyond the scope of this paper.
In conventional synchronization protocols, multiple time sources are sometimes used to improve the
accuracy and security of the protocol [15], or for redundancy, allowing fast recovery when the primary
master fails [22]. Contrary to conventional synchronization protocols, R EVERSE PTP is not used for
clock synchronization, but for many-to-one time distribution, and for coordinating actions at different
sites in a timely manner.
1.4. Contributions
The main contributions of this paper are:
We introduce R EVERSE PTP. To the best of our knowledge, our work is the first to present a clock
synchronization scheme for SDN.
We show that R EVERSE PTP can be defined as a PTP profile, that is, a subset of the features of
PTP. Consequently, R EVERSE PTP can be implemented by existing PTP-enabled switches.
We show that R EVERSE PTP is applicable to two main scenarios: (i) an SDN that uses time to
coordinate configuration updates and notifications and (ii) an SDN that distributes accurate time
between its end points or attached networks.
We present experimental results that analyze and demonstrate the accuracy and scalability of
R EVERSE PTP and show that they are comparable with those of PTP.
1
A profile [13] is a specific selection of features and modes of PTP.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
358
T. MIZRAHI AND Y. MOSES
2. PRELIMINARIES
2.1. A brief overview of Precision Time Protocol
Precision Time Protocol is a protocol that allows the distribution of time and frequency over packetswitched networks. Three types of nodes are defined in PTP (Figure 2(a)); ordinary clocks (OCs),
transparent clocks (TCs), and boundary clocks (BCs). TCs and BCs are either switches or routers,
whereas OCs are typically end points. An OC can either be a master or a slave. A master distributes
information about its local time to slave clocks in the network using PTP messages.
The BMCA is used to elect the most accurate clock in the network as the master. A set of PTP
clocks that synchronize to a common master forms a PTP domain. A network may consist of several
domains, where each domain is dominated by a different master.
A master periodically sends Sync messages to its slaves, incorporating information about its current
time. Delay Request and Delay Response messages (Figure 2(b)) are used to measure the network delay
between the master and slave. At the end of this message exchange, the slave has four time values, T1 ,
T2 , T3 , and T4 , as illustrated in Figure 2(b), allowing it to compute the offset, o, between its clock and
the master’s clock as follows:
o D T2 T1 dM S
(1)
The parameter dM S is the delay between the master and the slave and is given by
.T4 T1 / .T3 T2 /
(2)
2
Sync and Delay messages are transmitted periodically, allowing slaves to synchronize to the master’s clock based on multiple measurements of the o and dM S values. Each slave typically uses a
servo algorithm, which filters and combines multiple measurements of equations (1) and (2), and
synchronizes the slave’s clock.
The usage of TCs and BCs in PTP is referred to as on-path support. A BC is a node that functions
as a slave on one of its ports and as a master on its other ports. TCs are simple intermediate nodes;
they are neither masters nor slaves. Their role is to relay PTP protocol messages between the master
and slaves and to compute a correction field for each message. The correction field represents the
aggregated internal delay of all the TCs on the path between the master and slave; when a TC relays
a protocol message, it measures the delay of the message from reception to transmission and adds the
value of this delay to the correction field. The slave can then use the correction field to eliminate the
non-deterministic delays that result from the TCs’ transmission queues. Because TCs only compute
the difference between the time of transmission and the time of reception, they are not required to
synchronize their clocks to the master’s time. A syntonized TC is a TC that is frequency-synchronized
to the master’s clock, allowing a more accurate correction field than when using a non-syntonized TC.
dM S D
Figure 2. The Precision Time Protocol (PTP).
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
359
Figure 3. A protocol for coordinated network updates
Precision Time Protocol supports two timestamping modes: one-step mode, where each Sync message includes its time of transmission, T1 , and two-step mode, where a Sync message is sent without a
timestamp, followed by a Follow-Up message that incorporates the timestamp T1 .
2.2. A model for using time in software-defined network
As is standard in the literature (e.g., [23,24]), we distinguish between real time, which is not observable
by nodes in our system, and clock time, as measured by the nodes. Real-time values are denoted in
lowercase, whereas clock time variables and constants in upper case. We assume that each node in our
system maintains a clock. As in [24,25], the value of a clock T .t/ at time t is assumed to be a quadratic
function of t, as follows:
T .t/ D t C o.t0 / C ¡.t0 / Œt t0 C 0:5 d Œt t0 2
(3)
Here, t0 is some previous reference time value, o.t0 / D T .t0 / t0 is the offset at time t0 , the clock
skew at t0 is denoted by ¡.t0 /, also known as the frequency error, and d is the drift, which is the first
derivative of the skew. As in [24,25], we assume that the drift, d , is constant.
Our system consists of n C 1 nodes: a controller c and a set S of n switches.2 We define two possible
timed operations:
Timed notification: We define a set B of notifications that a switch can send to the controller. A
notification sent to the controller indicates an event that occurred at the switch and is accompanied
by a timestamp, indicating when the event occurred.
A switch can send a notification message of the form Msc .i; ˇ; T i / to the controller, denoting
that the message includes a notification ˇ 2 B, and a timestamp T i in terms of i’s clock.
Timed command: We define a set A of possible commands that the controller can send
to switches. The controller can send a timed command message to switch i, denoted by
Mcs .i; ˛; T i /, implying that i should perform ˛ 2 A at time T i in terms of i’s clock.
A controller can use timed commands to invoke a coordinated action at multiple switches. T IME C ONF [7], formally defined in Figure 3, is a simple protocol for time-based updates, where the
controller defines a single execution time, Te , for all switches,3 and AM WD ¹˛1 ; ˛2 ; : : : ; ˛n º is a set
of n commands, such that the controller assigns the action ˛i to switch i for each i 2 S.
3. R EVERSE PTP: THEORY OF OPERATION
As described in Section 1.2, in R EVERSE PTP, a central node (the SDN controller) is the ‘brain’ of
the network and performs two main tasks: (i) running the PTP protocol as a slave separately with each
of the SDN switches (which function as PTP masters) and (ii) performing the necessary translation
between the masters’ times and the slave’s time. Each of these tasks is discussed in detail next.
Running the PTP protocol. The R EVERSE PTP slave is bound (concurrently and independently)
to n R EVERSE PTP masters. The slave exchanges PTP messages with each of the masters and, based
on these messages, maintains four parameters for each master i:
2
Throughout the paper, we assume that the controller is also the R EVERSE PTP slave.
The controller should take care to schedule an execution time that allows enough time for the update message to be sent
and propagated to all switches in the network.
3
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
360
T. MIZRAHI AND Y. MOSES
Table 1. R EVERSE PTP slave parameters
Tislast
The time at which the latest Sync message from master i was received. The superscript ‘s’
indicates that this timestamp is measured in terms of the slave’s clock.
The estimated offset between the clocks of master i and the slave at time Tislast .
The estimated skew between master i and the slave at Tislast .
The estimated drift between master i and the slave.
oO i
¡O i
dO i
The offset oO i , the skew ¡O i , and the drift dO i are computed by the slave based on the latest measurement of Tislast , as well as on previous measurements. Various well-known algorithms can be used for
computing these two parameters, for example, [19,25].
Time translations. The parameters of Table 1 allow the slave to translate any timestamp T s in terms
of the slave’s clock to a timestamp T i .T s / in terms of master i’s clock,4 or vice versa.
Notably, every timed operation that can be performed in a clock-synchronized network is also
possible in a R EVERSE PTP-enabled network:
Given a timed notification received from master i with a timestamp T i , the slave translates T i
to T s .T i / in terms of its local clock.
When the slave invokes a timed command that needs to take place at T s in terms of the slave’s
clock, the slave translates T s to T i .T s / and uses T i .T s / in the timed command message it sends
to master i.
The following theorem presents the translation of T i .T s / and T s .T i /, given the estimated
parameters of Table 1.
Theorem 1: Let tislast be the time at which the value of the slave’s clock is Tislast , and let oi tislast ,
¡i tislast , and di be the offset, skew, and drift at time tislast . If oi tislast D oO i , ¡i tislast D ¡O i , and
di D dO i , then
2
(i) T i .T s / D T s C oO i C ¡O i T s Tislast C 0:5 dO i T s Tislast and
s
i
(ii) T .T / D
Tislast
C
r
.1CO¡i /C .¡O i C1/2 C2dO i T i Tis
last
Ooi
dO i
Proof. We first prove (i). Because oi tislast D oO i , ¡i tislast D ¡O i , and di D dO i , by equation (3), we
obtain (i).
We now prove (ii). First, we observe that when the drift dO i is negligible, by (i), we have
limdO i !0 T i D T s C oO i C ¡O i T s Tislast . It follows that
lim T s D
dO i !0
T i oO i C ¡O i Tislast
(4)
1 C ¡O i
Now, based on (i), we have
T i D T s .1 C ¡O i / C oO i ¡O i Tislast C 0:5dO i T s 2 2T s Tislast C Tislast 2
4
We use the notation T i .T s /, referring to the value of master i’s clock at the time instant when the value of the slave
s’s clock is T s .
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
361
Reorganizing the terms, we obtain
0:5dO i T s 2 C 1 C ¡O i dO i Tislast T s C oO i ¡O i Tislast C 0:5 dO i Tislast 2 T i D 0
We isolate T s by solving the aforementioned quadratic equation and obtain
1 r
2
1 O
s
T D
di Ti last ¡O i 1 ˙
dO i Tislast ¡O i 1 2dO i oO i ¡O i Tislast C 0:5dO i Tislast 2 T i ;
dO i
dO i
s
and thus
r
1 O s
1
.O¡i C 1/2 C 2dO i T i Tislast oO i
T D
di Ti last ¡O i 1 ˙
dO i
dO i
s
(5)
The ‘˙’ implies that there are two possible solutions. However, only one of these solutions is valid.
We show this by observing the limit of the latter equation when dO i ! 0.
lim T s D lim
dO i !0
q
dO i Tislast ¡O i 1 ˙ .O¡i C 1/2 C 2dO i .T i Tislast oO i /
dO i
dO i !0
Now, by applying L’Hôpital’s rule to the latter, we obtain
r
0
Odi T s ¡O i 1 ˙ .O¡i C 1/2 C 2dO i T i T s oO i
i last
i last
lim T s D lim
0
dO i !0
dO i !0
dO i
0:5 2 T i Tislast oO i
D lim Tislast ˙ r
;
dO i !0
s
2
i
O
.O¡i C 1/ C 2di T Ti last oO i
and thus
lim T s D
dO i !0
Tislast .1 C ¡O i / ˙ T i Tislast oO i
1 C ¡O i
(6)
By comparing equations (6) and (4), we conclude that from the two ‘˙’ solutions, only the ‘C’
solution is valid, and thus, by equation (5), we have
T s .T i / D Tislast C
r
.1 C ¡O i / C .O¡i C 1/2 C 2dO i T i Tislast oO i
(7)
dO i
Intuitively, Theorem 1 states that if the slave’s estimated parameters are accurate, then T i .T s / is
given by (i), and T s .T i / is given by (ii). Notably, Corollaries 2 and 3, which follow directly from the
theorem, provide a practical method for the slave to compute master i’s clock value at a given time T s
or to compute the slave’s clock value for a given value T i of master i’s clock.
Corollary 2: For any time T s measured in terms of the R EVERSE PTP slave’s clock, the slave can
estimate the corresponding value of master i’s clock by
2
TO i .T s / D T s C oO i C ¡O i T s Tislast C 0:5 dO i T s Tislast
Copyright © 2016 John Wiley & Sons, Ltd.
(8)
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
362
T. MIZRAHI AND Y. MOSES
Table 2. R EVERSE PTP profile properties
Property
Behavior in R EVERSE PTP
Best Master Clock Algorithm
Path delay mechanism
Transport protocol
One-step vs. two-step
On-path support
Multicast vs. unicast
Domains
Management messages
none (not used)
End-to-end (E2E)
UDP over IPv4 or UDP over IPv6
Both one-step and two-step modes are supported
On-path support is optional, using transparent clocks
Sync: either unicast or multicast.
Delay_Req and Delay_Resp: always unicast.
Each master-slave pair forms a different domain.
The domain number is the same for all clocks, as in [22]
Management messages are optional
Corollary 3: For any time T i in terms of master i’s clock, the slave can estimate the corresponding
value of its clock by
r
.1 C ¡O i / C .O¡i C 1/2 C 2dO i T i Tislast oO i
(9)
TO s .T i / D Tislast C
dO i
A first-order approximation. Interestingly, it is possible to use the following first-order approxi
2
mation of equation (8), neglecting ¡O i T s T s
C 0:5 dO i T s T s
:
i last
i last
TO i .T s / D T s C oO i
(10)
This approximation is especially useful in cases where T s Tislast is negligible, that is, when the
timed operation occurs close to the time at which the last Sync message was received.
4. THE R EVERSE PTP PROFILE
In this section, we show that R EVERSE PTP can be defined as a PTP profile, that is, as a subset of the
features defined in the IEEE 1588 [13] standard. Significantly, because R EVERSE PTP is defined as a
subset of PTP, it follows that R EVERSE PTP can be implemented by existing PTP-enabled switches.
The R EVERSE PTP profile has two interesting properties with respect to SDN: (i) to the extent possible, it requires very simple functionality from the switches and (ii) all PTP messages are exchanged
between a controller and a switch, and thus, no messages are exchanged between switches.
As per IEEE 1588 [13], the selected modes of operation of the R EVERSE PTP profile are specified
in Table 2. We now briefly describe the set of attributes and modes that define this profile.
PTP domains. A set of PTP clocks that synchronize to a common master forms a PTP domain. In
R EVERSE PTP, every switch forms a master–slave pair with the controller, in which the switch serves
as master and the controller as slave; in particular, each master–slave pair forms a separate PTP domain
(Figure 4). When a slave receives a PTP message, it identifies the packet’s domain based on its source
address. Thus, as in [22], all domains can use the same domain number.5
On-path support. A PTP-enabled network may use TCs or BCs, which are intermediate switches
or routers that take part in the protocol, allowing high end-to-end accuracy. The usage of TCs or BCs
is referred to as on-path support. On-path support in R EVERSE PTP is optional. TCs may be used,
allowing to improve the accuracy of the protocol using the PTP correction field [13]. This implies that
a R EVERSE PTP-enabled switch may function both as a master, distributing its time to the slave, and
5
A less scalable solution to identify the packet’s domain is by using the domain number field in the PTP header. Because
this field is 8-bits long, this solution would limit the number of R EVERSE PTP masters to 256.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
363
Figure 4. R EVERSE PTP: each master determines a separate domain
as a TC, which relays PTP messages from other OCs (Figure 4(b)). For simplicity, BCs are not used in
R EVERSE PTP, footnoteNote that an SDN can function as a ‘big BC’, as described in Section 5.3, but
no BCs are used in R EVERSE PTP domains, because a BC must, by definition, keep a synchronized
clock and run a clock servo algorithm.
It is interesting to note that if TCs are used, they can be either syntonized [13] or non-syntonized. A
syntonized TC is a TC that is frequency-synchronized to the master’s clock, allowing a more accurate
correction field than a non-syntonized TC. Our centralized paradigm requires TCs to be as simple as
possible and hence non-syntonized; a non-syntonized TC is simply required to compute the residence
time of en route PTP messages and is thus not required to run a complex servo algorithm. Moreover, TCs are not required to exchange PTP messages; a TC only udpates the correction field of en
route messages, indicating the internal latency of each message as it is transmitted through the TC. In
Section 7.3, we briefly discuss how R EVERSE PTP can be extended to allow syntonized TCs.
BMCA. PTP uses the BMCA to choose a master. In contrast, R EVERSE PTP does not use the
BMCA; during the network initialization, all switches are configured as masters, and the controller
is configured as a slave. This approach is aligned with the SDN paradigm, where a bootstrapping procedure (e.g., [26]) is typically used for configuring basic attributes, such as the controllers’
IP addresses.
Unicast and multicast transmission. Sync messages in R EVERSE PTP can be sent either as unicast or as multicast. During network initialization, switches need to be configured with the controller’s
unicast address. If multiple SDN controllers are used, Sync messages are distributed to a multicast
address that represents the controllers. The operation of R EVERSE PTP in SDNs with multiple controllers is further discussed in Section 7.4. Delay Request and Delay Response messages are always
sent as unicast.
One-step vs. two-step. Both one-step and two-step modes can be used in R EVERSE PTP.
Peer delay mechanism. The delay measurement mechanism in PTP has two possible modes of
operation: end-to-end mode, where delay request and response messages are exchanged between the
master and slave, and peer-to-peer mode, where intermediate TCs perform delay measurement on a
one-hop basis. While the two modes can provide the same level of accuracy, peer-to-peer mode requires
PTP messages to be exchanged between TCs. Hence, R EVERSE PTP uses the end-to-end mode, as this
paradigm implies that all delay messages are exchanged between a controller and a switch, and no
messages need be exchanged between switches.
5. USING R EVERSE PTP IN SOFTWARE-DEFINED NETWORKS
5.1. The R EVERSE PTP architecture in software-defined network
A typical SDN architecture is illustrated in Figure 5(a). The network operating system is a logical entity
that manages the control plane of the network and communicates with switches using an SDN protocol
such as OpenFlow [12]. The controller may run one or more SDN Application, a module that performs
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
364
T. MIZRAHI AND Y. MOSES
Figure 5. The R EVERSE PTP architecture in SDNs: every switch runs a R EVERSE PTP master, and
the controller runs multiple R EVERSE PTP slave instances. In an SDN that runs conventional PTP, a
typical approach would be for the controller to run a PTP master and for each switch to be a PTP slave.
a network function such as routing or access control, using the SDN control plane. Every switch uses
one or more flow tables, which determine the switch’s data plane decisions, such as forwarding and
security decisions. A switch’s control plane agent is responsible for managing the flow tables based
on commands received from the controller.
We now describe an SDN architecture that uses R EVERSE PTP, as illustrated in Figure 5(b). The
logical blocks in the figure are described as follows:
Clocks. Every switch maintains a clock, which keeps the local wall-clock time and allows the switch
to perform time-triggered actions and to timestamp notifications. R EVERSE PTP does not require
the switches’ clocks to be synchronized or initialized to a common time reference. The controller
maintains a local clock. The controller’s clock is used as the reference for scheduling network-wide
coordinated updates and for measuring timestamped events. Thus, in some systems, the controller’s
clock may be required to be synchronized to an accurate external reference source such as a Global
Positioning System receiver.
R EVERSE PTP master. Each switch functions as a PTP master and periodically sends Sync messages to the controller (its PTP slave), containing a local timestamp. We emphasize that the PTP master
functionality is typically supported by existing implementations of PTP-enabled switches.
R EVERSE PTP slave. The controller maintains n R EVERSE PTP slave modules, where n is the
number of switches in the network. Each slave module periodically receives Sync messages from one
of the switches (its masters), i, and based on these messages, it maintains the offset, skew, and drift
of i w.r.t. the controller’s clock (Table 1).
Timestamp conversion. This module performs the required translation between the controller’s
clock time and the switches’ clock time, as described in Section 3; a timestamp T s in terms of the controller’s clock is translated into T i in terms of i’s clock using equation (8). Similarly, a notification from
switch i that contains a timestamp Ti can be converted to the controller’s timescale by equation (9).
It is a key observation that the timestamp conversion module allows SDN applications that run at
the controller to implement any time-based protocol that would require switches to be synchronized
using a conventional synchronization protocol. This interesting property applies generally to SDN
applications; coordination is not required directly between switches, but only through the controller.
We now describe two interesting examples of SDN applications that use R EVERSE PTP: the timebased update application and the time distribution application.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
365
Figure 6. Software-defined network as a boundary clock
5.2. Time-based updates using R EVERSE PTP
Time-based update application. This simple SDN application performs time-based network updates
using the T IME C ONF protocol (Figure 3). When the application sends a time-based update, denoted
by Mcs .i; ˛i ; Te /, on line 2 of Figure 3, the time conversion module translates Te to a time T i in the
domain of i’s clock.
Conceptually, the joint operation of the time-based update application and the timestamp conversion
block performs the following protocol:
As in equation (10), a first-order approximation of R EVERSE T IME C ONF where line 2 is replaced by
2
i
and 0:5 dO i Te T s
T
Te C oO i can be used when the higher order terms, ¡O i Te T s
,
i last
i last
are negligible. Switch scheduling. When switch i receives a scheduled message, Mcs .i; ˛; T i /, from
the controller, this module schedules the command ˛ to time T i in terms of the switch’s local clock.
5.3. Time distribution over software-defined networks using R EVERSE PTP
In some cases, time must be distributed between end stations or networks that are attached to an
SDN. For instance, an SDN-based mobile backhaul network must allow time distribution between
base station sites, enabling the base stations to be synchronized. In this section, we present an SDN
application, denoted by time dist. app in Figure 5(b), that allows time distribution over an SDN.
In conventional PTP-enabled networks, time is distributed over one or more PTP BCs [13], as shown
in Figure 6(a). A BC is a switch or a router that maintains an accurate clock based on Sync messages
that it receives from the PTP master and distributes its time to the PTP slaves. When a BC receives a
Sync message6 from the master (step 1 in Figure 6(a)), its ingress time is accurately measured. Based
on the Sync message and its ingress timestamp, the BC adjusts its clock. When the BC generates a Sync
message to one of the slaves, the message is accurately timestamped when it is transmitted through the
egress port (step 2 in Figure 6(a)).
Our approach is illustrated in Figure 6(b); R EVERSE PTP is used within the SDN, allowing the controller to maintain the time offset to each of the switches. An SDN is often viewed as a single ‘big
switch’. Similarly, in our approach, the SDN is a distributed BC that functions as a single logical
‘big BC’. When the master sends a Sync message, switch 1 accurately measures its ingress time, T 1
(step 1 in Figure 6(b)) and sends the packet and T 1 to the controller for further processing. The controller converts T 1 to T s using the timestamp conversion module, and the time dist. app (Figure 5(b))
adjusts the controller’s clock based on the incoming Sync message and T s . When the time dist. app
sends a Sync message through switch 2, it uses the packet’s correction field [13] to reflect the offset
6
The Sync message procedure is presented as an example. The procedure for other types of PTP messages is similar.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
366
T. MIZRAHI AND Y. MOSES
Figure 7. Network setup
o2 between switch 2 and the controller, and the packet is timestamped by switch 2 as it is transmitted
(step 2 in Figure 6(b)). This procedure can be implemented in OpenFlow [12], using Packet-in and
Packet-out messages between the controller and the switches. Note that there is currently no standard
means for the ingress port of switch 1 to convey T 1 to the controller. A similar problem has been
raised in the IEEE 1588 working group (e.g., [27]), and proposals that address it are currently under
discussion there.
The significant advantage of the ‘big BC’ approach compared with the conventional PTP approach
is that it enables the programmability of R EVERSE PTP, while presenting standard PTP behavior to
external non-SDN nodes.
6. EVALUATION
We have implemented a prototype of R EVERSE PTP, based on the open-source Precision Time
Protocol daemon (PTPd) [28], and evaluated its performance in a test bed with 34 nodes (Figure 7).
The goals of our experiments were (i) to evaluate the effectiveness of scheduling a simultaneous
event in the network using R EVERSE PTP, (ii) to verify that R EVERSE PTP and conventional PTP
provide a similar degree of accuracy under the same network conditions and, specifically, to verify
that R EVERSE PTP can schedule events with a high degree of accuracy using the approximation of
equation (10), and (iii) to analyze the scalability of R EVERSE PTP.
The experiments were conducted on the DeterLab test bed [29], where every test bed machine
(computer) served as a PTP clock running the software-based PTPd. Note that our experiments used
software-based PTP clocks in a network with up to two hops without on-path support, and we observed
that the achievable accuracy in this software-based environment was on the order of tens to hundreds
of microseconds. 7
Accuracy measurement method. The accuracy of a set of clocks is typically measured in a controlled environment by connecting identical fiber cables from each of the clocks to a measurement
device; each of the clocks transmits a 1 pulse per second signal to the measurement device, allowing
the device to measure the offset between the clocks. Such a setting was not possible in the DeterLab test bed. Therefore, we measured the accuracy by using two types of time-triggered events, as
described in the next subsection.
6.1. Time-triggered events
This experiment included two scenarios: performing a time-triggered coordinated event and recording
a timestamped event. Both scenarios were implemented using R EVERSE PTP, and we compare the
results with an implementation of the same scenarios using PTP.
7
Typical hardware-based PTP implementations allow an accuracy on the order of 1 microsecond.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
367
Figure 8. Accuracy measurements of a coordinated Ping. The timestamped event experiment (b)
provides a rough estimate of the clock accuracy.
R EVERSE PTP masters were implemented by running PTPd in master-only mode, with the BMCA
disabled. Our n-slave R EVERSE PTP node ran n instances of PTPd in slave-only mode, each at a
different PTP domain, using n PTP domain numbers. PTPd, when in slave mode, periodically provides the current Offset From Master. This value is typically used by the PTPd servo algorithm [19].
Our experiments used the Offset From Master output to perform the first order approximation
of equation (10).
Nodes 3 to 34 played the role of R EVERSE PTP masters, node 1 was the R EVERSE PTP slave, and
node 2 served as a measurement probe. The experiment consisted of two parts:
1. Coordinated event. We scheduled nodes 3 to 34 to send a Ping message to node 2 at the same
time. The scheduling was based on ReverseTimeConf using the offsets computed by node 1, the
ReversePTP slave, with the approximation of equation (10). To simplify the experiment, we did
not use a control protocol such as OpenFlow. Instead, we used a simple doorbell-based method
to distribute the scheduling to nodes 3 to 34; after the scheduling times were computed, they
were written to the Network File System, and each of the nodes 3 to 34 reads its scheduling time
from the Network File System. In node 2, we monitored the distribution of the Ping message
arrival times; the arrival time of each packet was captured by Wireshark [30] using the machine’s
Linux clock. Interestingly, this experiment is the message-based variant of a 1 pulse per second
signal sent from each of the 32 clocks to a single testing device.
We repeated the experiment with PTP instead of ReversePTP, using TimeConf (Figure 3).
The distribution of the arrival times of the 32 Ping messages at node 2 is illustrated in
Figure 8(a). The value ‘0’ on the time axis represents the median of the arrival times. As shown
in Figure 8(a), the arrival times were spread over a period of about 8 milliseconds.
In Section 3, we observed that the approximation of equation (10) is valid when T s Tislast
is negligible. In our experiments, the Ping messages were scheduled to be sent 15 seconds in the
future, and hence T s Tislast was on the order of 15 seconds. The results show that 15 seconds
is a sufficiently low value to allow equation (10) to produce an accurate approximation.
2. Timestamped event. We sent a broadcast Ping message from node 2 to nodes 3 to 34 and
measured its arrival times to each of these nodes using Wireshark. We then used equation (10)
to align the reception times to a common ReversePTP-based time reference. We repeated the
experiment using conventional PTP. The empirical probability density function of the arrival
times measured at nodes 3 to 34 is depicted in Figure 8(b). Notably, the distribution of the
arrival time in this experiment provides a rough estimate of the clock accuracy; because the
Broadcast Ping message is replicated and distributed by the test bed’s hardware switches, we
expect very low delay variation among the replicas. Thus, Figure 8(b) provides an estimate of the
clock accuracy.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
368
T. MIZRAHI AND Y. MOSES
Figure 9. R EVERSE PTP versus PTP: rate of PTP messages sent or received by each node.
We observed that in the coordinated event experiment, the time elapsed from when the Ping message
was scheduled to be transmitted until it was transmitted in practice varied at different nodes on the order
of a few milliseconds. Hence, in the coordinated event experiment, the accuracy of our measurement
was affected by the internal delay of the sending hosts’ operating systems, thus explaining the fact that
the arrival time in Figure 8(a) ranges over a period of about 8 milliseconds, a significantly wider range
than the one shown in Figure 8(b).
The experiment demonstrates how R EVERSE PTP can be effectively used to coordinate events or to
accurately measure the occurrence time of events. It shows that R EVERSE PTP provides the same level
of accuracy as the conventional PTP.
6.2. Scalability
In the second experiment, we studied the scalability aspects of R EVERSE PTP, with an emphasis on
the load placed on a R EVERSE PTP slave compared with a conventional PTP master.
Rate of protocol messages. Figure 9 compares the protocol message rate of R EVERSE PTP with
that of conventional PTP. The Sync rate in our experiments was 1 Sync message per second, with
a Delay_Req message rate of 1 per second as well. We used two-step mode, and thus, Follow_Up
messages were used as well. We ran the experiment for a duration of 100 seconds.
As depicted in Figure 9(b), the protocol message rates of a R EVERSE PTP master and a PTP slave
are similar, around 4 messages per second. Figure 9(a) illustrates the message rate at the R EVERSE PTP
slave and at the PTP master; the number of messages processed by the R EVERSE PTP slave is roughly
twice the number of the PTP master. The reason is that we ran PTP in hybrid mode, where Sync and
Follow_Up were multicast messages, whereas in R EVERSE PTP, all messages were unicast. The fact
that some of the messages were sent as multicast allowed the conventional PTP to use roughly half the
number of messages used by R EVERSE PTP.
CPU Utilization. A more important metric of scalability is CPU utilization. We analyzed the difference between R EVERSE PTP and PTP in terms of the percentage of the CPU that is utilized by the PTP
process. We repeated the experiment for two types of machines: type I, a Dual Core AMD Opteron,
running at 1.8 GHz, and type II, an Intel Xeon E3 LP, running at 2.4 GHz. Note that the two types we
chose are at the extremes of the performance scale; at the time of the experiment, type II was the most
powerful machine in the DeterLab test bed, while type I was the least powerful one.
The CPU utilization measured on R EVERSE PTP masters and PTP slaves (i.e., switches in an SDN
environment) was negligible, well below 0.1% on both machine types. A significantly higher utilization
was measured on PTP masters and R EVERSE PTP slaves (controllers in an SDN environment), as
illustrated in Figure 10(a,b). These two figures illustrate the CPU utilization of the PTPd process as
a function of the number of nodes, either R EVERSE PTP masters or PTP slaves. As expected, the
CPU utilization of the R EVERSE PTP slave (Figure 10(a)) is significantly higher than that of the PTP
master (Figure 10(b)), because the R EVERSE PTP slave runs n servo algorithm instances. Nevertheless,
R EVERSE PTP consumes only 5% of the resources of machine type I and significantly less than 1% of
the resources of the more powerful type II.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
369
Figure 10. CPU utilization in R EVERSE PTP and in PTP as a function of the number of nodes. The
figures are presented for two machines types: type I is a low performance machine, and type II is
high performance.
Figure 11. Coordinated updates using R EVERSE PTP
Figure 10(c) provides some insight into the effect of R EVERSE PTP on an SDN application such
as the T IME C ONF protocol. The figure illustrates the CPU utilization of an SDN controller running
R EVERSE T IME C ONF versus an SDN controller running T IME C ONF with the conventional PTP. In
the experiment, we used the time-enabled OpenFlow prototype of [8]; the controller sent timed update
messages to the switches at a rate of 1 message per second. The figure illustrates the CPU utilization as
a function of the number of SDN switches. Only the utilization of the SDN controller task was considered in Figure 10(c), without considering the PTP task. As shown in the figure, R EVERSE T IME C ONF
yields higher CPU load, as each timed message sent by the controller requires the time conversion of
line 2 of Figure 11.
These results indicate that although R EVERSE PTP incurs higher load on the controller’s CPU than
conventional PTP, the R EVERSE PTP scheme can easily scale to hundreds of nodes and can scale to
thousands of nodes when running a R EVERSE PTP slave on a powerful machine.
7. DISCUSSION
7.1. Accuracy
The clock accuracy in a network depends on a number of factors, including the accuracy of the timestamping mechanisms, the quality of the clock oscillators, and whether on-path support is used. As
discussed in the Introduction, given the same network characteristics, we expect R EVERSE PTP and
PTP to provide the same degree of accuracy. The experimental evaluation of Section 6 confirmed
that R EVERSE PTP, even with the approximation of equation (8), can provide an accuracy that is
comparable with that of conventional PTP.
As stated in Section 4, the R EVERSE PTP paradigm implies that TCs are non-syntonized. Although
the IEEE 1588 standard does not specify that TCs must be syntonized, syntonized TCs have been
shown [31] to provide a higher degree of accuracy, especially over a large number of hops. A possible
extension to R EVERSE PTP that mitigates this limitation is discussed in Section 7.3.
7.2. Scalability–Programmability trade-off
The experimental evaluation in Section 6.2 showed that R EVERSE PTP loads the SDN controller’s
resources more than traditional PTP. This emphasizes a trade-off that is at the heart of SDN; the
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
370
T. MIZRAHI AND Y. MOSES
controller takes on tasks that are traditionally performed by switches in non-SDN networks, allowing
high flexibility and programmability, at the cost of controller resources. The experiments show that
although R EVERSE PTP requires more resources than conventional PTP, the R EVERSE PTP scheme
can easily scale to networks with thousands of SDN switches.
7.3. Synchronizing clocks using R EVERSE PTP
The concept we presented does not require switches to be synchronized to a common wall-clock
time. However, R EVERSE PTP can be extended to allow switches to be time-synchronized. PTP allows
masters to query slaves about the master–slave offset using PTP management messages. Using these
messages in R EVERSE PTP, switches can synchronize their clocks with the controller’s clock. Note
that the offset only allows switches to get a first-order approximation, as per equation (10). It is possible to extend PTP to allow slaves to periodically send the three parameters Tislast , oO i , and ¡O i , allowing
R EVERSE PTP masters to maintain an accurately synchronized clock. Note that this extension allows
switches to be synchronized at the cost of additional complexity and message exchanges. The main
benefit of this approach compared with the conventional PTP is that the algorithmic logic is centralized
and programmable.
The latter extension can similarly be used to allow syntonized TCs; a non-syntonized TC may perform less accurate updates of the correction field because of its inaccurate frequency, whereas a TC
that periodically receives the aforementioned three parameters can use these parameters to accurately
compute the correction field, using well-known methods (e.g., [31]).
7.4. R EVERSE PTP in a software-defined network with multiple controllers
Software-defined networks often use multiple controllers in an active-standby mode to provide survivability. In other cases, an SDN is sliced into multiple virtual networks (e.g., [26]), each of which
is governed by a separate controller. Interestingly, the R EVERSE PTP architecture is well-suited for
multi-controller configurations; each of the switches (masters) distributes its time to all the controllers,
allowing each controller to monitor its own offset information regarding the switches. Thus, in sliced
networks, R EVERSE PTP allows each slice to be managed according to a different time reference, by
allowing each controller to be synchronized to a different reference source. Notably, this slicing property is exclusive to R EVERSE PTP and is not possible in conventional clock synchronization methods.
Time distribution to multiple controllers can be performed efficiently by using a multicast group that
consists of the controllers, thereby reducing the rate of PTP messages, because each switch sends its
Sync messages to the multicast group. Moreover, when the controllers act in an active-standby mode,
the switches only need to distribute their time to the currently active controller.
7.5. Security aspects
The potential security vulnerabilities of R EVERSE PTP are similar to those of conventional synchronization protocols [32,33]. In PTP, a successful attack results in one or more slaves not being accurately
synchronized to the correct time, whereas in R EVERSE PTP, a successful attack causes the controller
to have an inaccurate view of the offset to one or more of the switches. An application that requires
accurate time is similarly affected in both cases.
8. CONCLUSION
Clock synchronization protocols are not ‘one size fits all’, as different applications may have different
requirements and constraints. We introduced R EVERSE PTP, a clock synchronization scheme suitable
for SDN. While R EVERSE PTP is tailored for SDN, it can be valuable in many other centralized and
software-controlled architectures, such as industrial automation systems [3], power-grid networks [34],
and various network-managed applications [35,36]. R EVERSE PTP provides the same level of accuracy as conventional synchronization protocols, including PTP, while its novel architecture shifts the
complex functionality from the switches to the controller, facilitating the agility and programmability
that are of key importance in SDNs.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
REVERSEPTP: A CLOCK SYNCHRONIZATION SCHEME FOR SDN
371
ACKNOWLEDGEMENTS
The authors would like to thank Wojciech Owczarek for his dedicated help and support with PTPd.
We gratefully acknowledge the DeterLab project [29] for the opportunity to perform our experiments
on the DeterLab test bed. This work was supported in part by the ISF grant 1520/11.
REFERENCES
1. ITU-T G.8271/Y.1366. Time and phase synchronization aspects of packet networks, 2012.
2. Corbett JC, et al. Spanner: Google’s globally distributed database. ACM Transactions on Computer Systems (TOCS) 2013;
31(3): 8.
3. Harris K. An application of IEEE 1588 to industrial automation. In IEEE ISPCS, Ann Arbor, Michigan, USA, 2008.
4. IEEE. Time-sensitive networking task group, 2012. Available from: http://www.ieee802.org/1/pages/tsn.html.
5. Moreira P, Serrano J, Wlostowski T, Loschmidt P, Gaderer G. White rabbit: sub-nanosecond timing distribution over
ethernet. In IEEE ISPCS, Brescia, Italy, 2009.
6. Open Networking Foundation. OpenFlow-enabled mobile and wireless networks. ONF Solution Brief 2013.
7. Mizrahi T, Moses Y. Time-based updates in software defined networks. In ACM SIGCOMM Workshop on Hot Topics in
Software Defined Networks HotSDN), Hong Kong, 2013.
8. Mizrahi T, Moses Y. Software defined networks: it’s about time. In IEEE INFOCOM, San Francisco, California, USA,
2016.
9. Mizrahi T, Saat E, Moses Y. Timed consistent network updates in software defined networks. IEEE/ACM Transactions on
Networking (ToN) 2016.
10. Mizrahi T, Moses Y. Time-based updates in OpenFlow: a proposed extension to the OpenFlow Protocol, 2013. Available
from: http://tx.technion.ac.il/~dew/OFTimeTR.pdf.
11. McKeown N, et al. OpenFlow: enabling innovation in campus networks. SIGCOMM Computer Communication Review
2008; 38: 69–74.
12. Open Networking Foundation. OpenFlow switch specification, 2015. Version 1.5.0.
13. IEEE TC 9. 1588 IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control
Systems Version 2, 2008.
14. Li H. IEEE 1588 time synchronization deployment for mobile backhaul in China Mobile, IEEE ISPCS, 2014.
15. Mills D, Martin J, Burbank J, Kasch W. Network time protocol version 4: protocol and algorithms specification. RFC 5905,
IETF 2010.
16. Mizrahi T, Moses Y. Using R EVERSE PTP to distribute time in software defined networks. In IEEE ISPCS, Austin, Texas,
USA, 2014.
17. Mizrahi T, Moses Y. R EVERSE PTP: a software defined networking approach to clock synchronization. In ACM SIGCOMM
Workshop on Hot Topics in Software Defined Networks (HotSDN), Chicago, Illinois, USA, 2014.
18. Veitch D, Ridoux J, Korada SB. Robust synchronization of absolute and difference clocks over networks. IEEE/ACM
Transactions on Networking (TON) 2009; 17(2): 417–430.
19. Correll K, Barendt N, Branicky M. Design considerations for software only implementations of the IEEE 1588 precision
time protocol. In Conference on IEEE 1588, Winterthur, Switzerland, 2005; 10–12.
20. Zhao Y, Liu J, Lee E, et al. A programming model for time-synchronized distributed real-time systems. In IEEE Real Time
and Embedded Technology and Applications Symposium (RTAS), Bellevue, WA, USA, 2007.
21. Derler P, Eidson JC, Goose S, Lee EA, Matic S, Zimmer M. Using PTIDES and synchronized clocks to design distributed
systems with deterministic system wide timing. In IEEE ISPCS, Lemgo, Germany, 2013.
22. ITU-T G.8265.1/Y.1365.1. Precision time protocol telecom profile for frequency synchronization, 2010.
23. Halpern JY, Simons B, Strong R, Dolev D. Fault-tolerant clock synchronization. In PODC, ACM, 1984; 89–102.
24. Srikanth TK, Toueg S. Optimal clock synchronization. Journal of the ACM (JACM) 1987; 34(3): 626–645.
25. Mills DL. Improved algorithms for synchronizing computer network clocks. IEEE/ACM Transactions on Networking (TON)
1995; 3(3): 245–254.
26. Open Networking Foundation. OpenFlow management and configuration protocol (of-config 1.2), 2014.
27. Tse R, Ong C. Proposal for a standardized mechanism to transfer timing information from an ingress port to an egress port
of a PTP transparent clock. In ISPCS, Special Session on Proposed Revisions of IEEE, San Francisco, California, USA,
2012; 1588–2008.
28. PTPd. Precision Time Protocol daemon, version 2.3.0, 2013. Available from: http://ptpd.sourceforge.net/.
29. The DeterLab project, 2015. Available from: http://deter-project.org/about_deterlab.
30. Wireshark, 2014. Available from: http://www.wireshark.org/.
31. Garner GM. Effect of a frequency perturbation in a chain of syntonized transparent clocks, IEEE 802.1, 2007.
32. Mizrahi T. Time synchronization security using IPsec and MACsec. In IEEE ISPCS, Munich, Germany, 2011.
33. Mizrahi T. Security requirements of time protocols in packet switched networks. Technical Report RFC 7384, IETF, 2014.
34. Dickerson B. Time in the power industry: how and why we use it, Arbiter Systems, 2010. Available from: http://www.
arbiter.com/ftp/datasheets/TimeInThePowerIndustry.pdf.
35. Mizrahi T, Moses Y. OneClock to rule them all: using time in networked applications. In IEEE/IFIP Network Operations
and Management Symposium (NOMS) Mini-Conference, Istanbul, Turkey, 2016.
36. Mizrahi T, Moses Y. Time capability in NETCONF. Technical Report RFC 7758, IETF, 2016.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem
372
T. MIZRAHI AND Y. MOSES
AUTHORS’ BIOGRAPHIES
Tal Mizrahi is a PhD student at the Technion. He is also a switch architect at Marvell, with over 15 years of
experience in networking. Tal is an active participant in the Internet Engineering Task Force (IETF), and in the
IEEE 1588 working group. His research interests include network protocols, switch and router architecture, time
synchronization, and distributed systems.
Yoram Moses is the Israel Pollak academic chair and a professor of electrical engineering at the Technion. His
research focuses on distributed and multi-agent systems, with a focus on fault-tolerance and on applications of
knowledge and time in such systems. He is a co-author of the book Reasoning about Knowledge, recipient of the
Gödel prize in 1997 and the Dijkstra prize in 2009.
Copyright © 2016 John Wiley & Sons, Ltd.
Int. J. Network Mgmt 2016; 26:355–372
DOI: 10.1002/nem