rfc9760v1.txt   rfc9760.txt 
Internet Engineering Task Force (IETF) D. Arnold Internet Engineering Task Force (IETF) D. Arnold
Request for Comments: 9760 Meinberg-USA Request for Comments: 9760 Meinberg-USA
Category: Standards Track H. Gerstung Category: Standards Track H. Gerstung
ISSN: 2070-1721 Meinberg ISSN: 2070-1721 Meinberg
March 2025 April 2025
Enterprise Profile for the Precision Time Protocol with Mixed Multicast Enterprise Profile for the Precision Time Protocol with Mixed Multicast
and Unicast Messages and Unicast Messages
Abstract Abstract
This document describes a Precision Time Protocol (PTP) Profile (IEEE This document describes a Precision Time Protocol (PTP) Profile (IEEE
Standard 1588-2019) for use in an IPv4 or IPv6 Enterprise information Standard 1588-2019) for use in an IPv4 or IPv6 enterprise information
system environment. The PTP Profile uses the End-to-End delay system environment. The PTP Profile uses the End-to-End delay
measurement mechanism, allowing both multicast and unicast Delay measurement mechanism, allowing both multicast and unicast Delay
Request and Delay Response messages. Request and Delay Response messages.
Status of This Memo Status of This Memo
This is an Internet Standards Track document. This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has (IETF). It represents the consensus of the IETF community. It has
skipping to change at line 87 skipping to change at line 87
minimizing configuration on the participating nodes. Network minimizing configuration on the participating nodes. Network
communication was based solely on multicast messages, which, unlike communication was based solely on multicast messages, which, unlike
NTP, did not require that a receiving node as discussed in IEEE NTP, did not require that a receiving node as discussed in IEEE
1588-2019 [IEEE1588-2019] need to know the identities of the time 1588-2019 [IEEE1588-2019] need to know the identities of the time
sources in the network. This document describes clock roles and PTP sources in the network. This document describes clock roles and PTP
Port states using the optional alternative terms "timeTransmitter" Port states using the optional alternative terms "timeTransmitter"
instead of "master" and "timeReceiver" instead of "slave", as defined instead of "master" and "timeReceiver" instead of "slave", as defined
in the IEEE 1588g amendment [IEEE1588g] to [IEEE1588-2019]. in the IEEE 1588g amendment [IEEE1588g] to [IEEE1588-2019].
The "Best TimeTransmitter Clock Algorithm" ([IEEE1588-2019], The "Best TimeTransmitter Clock Algorithm" ([IEEE1588-2019],
Subclause 9.3), a mechanism that all participating PTP nodes MUST Subclause 9.3), a mechanism that all participating PTP Nodes MUST
follow, sets up strict rules for all members of a PTP domain to follow, sets up strict rules for all members of a PTP domain to
determine which node MUST be the active reference time source determine which node MUST be the active reference time source
(Grandmaster). Although the multicast communication model has (Grandmaster). Although the multicast communication model has
advantages in smaller networks, it complicated the application of PTP advantages in smaller networks, it complicated the application of PTP
in larger networks -- for example, in environments like IP-based in larger networks -- for example, in environments like IP-based
telecommunication networks or financial data centers. It is telecommunication networks or financial data centers. It is
considered inefficient that, even if the content of a message applies considered inefficient that, even if the content of a message applies
only to one receiver, the message is forwarded by the underlying only to one receiver, the message is forwarded by the underlying
network (IP) to all nodes, requiring them to spend network bandwidth network (IP) to all nodes, requiring them to spend network bandwidth
and other resources, such as CPU cycles, to drop it. and other resources, such as CPU cycles, to drop it.
The third edition of the standard (IEEE 1588-2019) defines PTPv2.1 The third edition of the standard (IEEE 1588-2019) defines PTPv2.1
and includes the possibility of using unicast communication between and includes the possibility of using unicast communication between
the PTP nodes in order to overcome the limitation of using multicast the PTP Nodes in order to overcome the limitation of using multicast
messages for the bidirectional information exchange between PTP messages for the bidirectional information exchange between PTP
nodes. The unicast approach avoided that. In PTP domains with a lot Nodes. The unicast approach avoided that. In PTP domains with a lot
of nodes, devices had to throw away most of the received multicast of nodes, devices had to throw away most of the received multicast
messages because they carried information for some other node. The messages because they carried information for some other node. The
percent of PTP messages that are discarded as irrelevant to the percent of PTP messages that are discarded as irrelevant to the
receiving node can exceed 99% [Estrela_and_Bonebakker]. receiving node can exceed 99% [Estrela_and_Bonebakker].
PTPv2.1 also includes PTP Profiles ([IEEE1588-2019], Subclause 20.3). PTPv2.1 also includes PTP Profiles ([IEEE1588-2019], Subclause 20.3).
These constructs allow organizations to specify selections of These constructs allow organizations to specify selections of
attribute values and optional features, simplifying the configuration attribute values and optional features, simplifying the configuration
of PTP nodes for a specific application. Instead of having to go of PTP Nodes for a specific application. Instead of having to go
through all possible parameters and configuration options and through all possible parameters and configuration options and
individually set them up, selecting a PTP Profile on a PTP node will individually set them up, selecting a PTP Profile on a PTP Node will
set all the parameters that are specified in the PTP Profile to a set all the parameters that are specified in the PTP Profile to a
defined value. If a PTP Profile definition allows multiple values defined value. If a PTP Profile definition allows multiple values
for a parameter, selection of the PTP Profile will set the profile- for a parameter, selection of the PTP Profile will set the profile-
specific default value for this parameter. Parameters not allowing specific default value for this parameter. Parameters not allowing
multiple values are set to the value defined in the PTP Profile. multiple values are set to the value defined in the PTP Profile.
Many PTP features and functions are optional, and a PTP Profile Many PTP features and functions are optional, and a PTP Profile
should also define which optional features of PTP are required, should also define which optional features of PTP are required,
permitted, and prohibited. It is possible to extend the PTP standard permitted, and prohibited. It is possible to extend the PTP standard
with a PTP Profile by using the TLV mechanism of PTP (see with a PTP Profile by using the TLV mechanism of PTP (see
[IEEE1588-2019], Subclause 13.4), defining an optional Best [IEEE1588-2019], Subclause 13.4) or defining an optional Best
TimeTransmitter Clock Algorithm, and a few other ways. PTP has its TimeTransmitter Clock Algorithm, among other techniques (which are
own management protocol (defined in [IEEE1588-2019], Subclause 15.2) beyond the scope of this document). PTP has its own management
but allows a PTP Profile to specify an alternative management protocol (defined in [IEEE1588-2019], Subclause 15.2) but allows a
mechanism -- for example, the Network Configuration Protocol PTP Profile to specify an alternative management mechanism -- for
(NETCONF). example, the Network Configuration Protocol (NETCONF).
In this document, the term "PTP Port" refers to a logical access In this document, the term "PTP Port" refers to a logical access
point of a PTP instantiation for PTP communication in a network. point of a PTP instantiation for PTP communication in a network.
2. Requirements Language 2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Technical Terms 3. Technical Terms
Acceptable TimeTransmitter Table: A list of timeTransmitters that Acceptable TimeTransmitter Table: A list of timeTransmitters that
may be maintained by a PTP timeReceiver Clock. The PTP may be maintained by a PTP timeReceiver Clock. The PTP
timeReceiver Clock would be willing to synchronize to timeReceiver Clock would be willing to synchronize to
timeTransmitters in this list. timeTransmitters in this list.
Alternate timeTransmitter: A PTP timeTransmitter Clock, which is not Alternate timeTransmitter: A PTP timeTransmitter Clock that is not
the Best timeTransmitter, and may act as a timeTransmitter with the Best timeTransmitter and therefore is used as an alternative
the Alternate timeTransmitter flag set on the messages it sends. clock. It may act as a timeTransmitter with the Alternate
timeTransmitter flag set on the messages it sends.
Announce message: Contains the timeTransmitter Clock properties of a Announce message: Contains the properties of a given timeTransmitter
timeTransmitter Clock. The information is used to determine the Clock. The information is used to determine the Best
Best TimeTransmitter. timeTransmitter.
Best timeTransmitter: A clock with a PTP Port in the timeTransmitter Best timeTransmitter: A clock with a PTP Port in the timeTransmitter
state, operating as the Grandmaster of a PTP domain. state, operating as the Grandmaster of a PTP domain.
Best TimeTransmitter Clock Algorithm: A method for determining which Best TimeTransmitter Clock Algorithm: A method for determining which
state a PTP Port of a PTP clock should be in. The state decisions state a PTP Port of a PTP clock should be in. The state decisions
lead to the formation of a clock spanning tree for a PTP domain. lead to the formation of a clock spanning tree for a PTP domain.
Boundary Clock: A device with more than one PTP Port. Generally, Boundary Clock: A device with more than one PTP Port. Generally,
Boundary Clocks will have one PTP Port in the timeReceiver state Boundary Clocks will have one PTP Port in the timeReceiver state
skipping to change at line 201 skipping to change at line 202
NTP: Network Time Protocol, defined by [RFC5905]. NTP: Network Time Protocol, defined by [RFC5905].
Ordinary Clock: A clock that has a single PTP Port in a domain and Ordinary Clock: A clock that has a single PTP Port in a domain and
maintains the timescale used in the domain. It may serve as a maintains the timescale used in the domain. It may serve as a
timeTransmitter Clock or may be a timeReceiver Clock. timeTransmitter Clock or may be a timeReceiver Clock.
Peer-to-Peer delay measurement mechanism: A network delay Peer-to-Peer delay measurement mechanism: A network delay
measurement mechanism in PTP facilitated by an exchange of measurement mechanism in PTP facilitated by an exchange of
messages over the link between adjacent devices in a network. messages over the link between adjacent devices in a network.
This mechanism might not work properly unless all devices in the This mechanism might not work properly unless all devices in the
network support PTP and the Peer-to-peer measurement mechanism. network support PTP and the Peer-to-Peer delay measurement
mechanism.
Preferred timeTransmitter: A device intended to act primarily as the Preferred timeTransmitter: A device intended to act primarily as the
Grandmaster of a PTP system or as a backup to a Grandmaster. Grandmaster of a PTP system or as a backup to a Grandmaster.
PTP: The Precision Time Protocol -- the timing and synchronization PTP: The Precision Time Protocol -- the timing and synchronization
protocol defined by IEEE 1588. protocol defined by IEEE 1588.
PTP Port: An interface of a PTP clock with the network. Note that PTP Port: An interface of a PTP clock with the network. Note that
there may be multiple PTP Ports running on one physical interface there may be multiple PTP Ports running on one physical interface
-- for example, multiple unicast timeReceivers that talk to -- for example, multiple unicast timeReceivers that talk to
several Grandmaster Clocks in different PTP Domains. several Grandmaster Clocks in different PTP domains.
PTP Profile: A set of constraints on the options and features of PTP Profile: A set of constraints on the options and features of
PTP, designed to optimize PTP for a specific use case or industry. PTP, designed to optimize PTP for a specific use case or industry.
The profile specifies what is required, allowed, and forbidden The profile specifies what is required, allowed, and forbidden
among options and attribute values of PTP. among options and attribute values of PTP.
PTPv2.1: Refers specifically to the version of PTP defined by PTPv2.1: Refers specifically to the version of PTP defined by
[IEEE1588-2019]. [IEEE1588-2019].
Rogue timeTransmitter: A clock with a PTP Port in the Rogue timeTransmitter: A clock that has a PTP Port in the
timeTransmitter state, even though it should not be in the timeTransmitter state -- even though it should not be in the
timeTransmitter state according to the Best TimeTransmitter Clock timeTransmitter state according to the Best TimeTransmitter Clock
Algorithm, and does not set the Alternate timeTransmitter flag. Algorithm -- and that does not set the Alternate timeTransmitter
flag.
TimeReceiver Clock: A clock with at least one PTP Port in the TimeReceiver Clock: A clock with at least one PTP Port in the
timeReceiver state and no PTP Ports in the timeTransmitter state. timeReceiver state and no PTP Ports in the timeTransmitter state.
TimeReceiver Only clock: An Ordinary Clock that cannot become a TimeReceiver only clock: An Ordinary Clock that cannot become a
timeTransmitter Clock. timeTransmitter Clock.
TimeTransmitter Clock: A clock with at least one PTP Port in the TimeTransmitter Clock: A clock with at least one PTP Port in the
timeTransmitter state. timeTransmitter state.
TLV: Type Length Value -- a mechanism for extending messages in TLV: Type Length Value -- a mechanism for extending messages in
networked communications. networked communications.
Transparent Clock: A device that measures the time taken for a PTP Transparent Clock: A device that measures the time taken for a PTP
event message to transit the device and then updates the message event message to transit the device and then updates the message
with a correction for this transit time. with a correction for this transit time.
Unicast Discovery: A mechanism for PTP timeReceivers to establish a Unicast Discovery: A mechanism for PTP timeReceivers to establish a
unicast communication with PTP timeTransmitters using a configured unicast communication with PTP timeTransmitters using a configured
table of timeTransmitter IP addresses and Unicast Message table of timeTransmitter IP addresses and unicast message
Negotiation. negotiation.
Unicast Negotiation: A mechanism in PTP for timeReceiver Clocks to Unicast message negotiation: A mechanism in PTP for timeReceiver
negotiate unicast Sync, Announce, and Delay Request message Clocks to negotiate unicast Sync, Announce, and Delay Request
transmission rates from timeTransmitters. message transmission rates from timeTransmitters.
4. Problem Statement 4. Problem Statement
This document describes how PTP can be applied to work in large This document describes how PTP can be applied to work in large
enterprise networks. See ISPCS [RFC2026] for information on IETF enterprise networks. See ISPCS [RFC2026] for information on IETF
applicability statements. Such large networks are deployed, for applicability statements. Such large networks are deployed, for
example, in financial corporations. It is becoming increasingly example, in financial corporations. It is becoming increasingly
common in such networks to perform distributed time-tagged common in such networks to perform distributed time-tagged
measurements, such as one-way packet latencies and cumulative delays measurements, such as one-way packet latencies and cumulative delays
on software systems spread across multiple computers. Furthermore, on software systems spread across multiple computers. Furthermore,
there is often a desire to check the age of information time-tagged there is often a desire to check the age of information time-tagged
by a different machine. To perform these measurements, it is by a different machine. To perform these measurements, it is
necessary to deliver a common precise time to multiple devices on a necessary to deliver a common precise time to multiple devices on a
network. Accuracy currently required in the financial industry network. Accuracy currently required in the financial industry
ranges from 100 microseconds to 1 nanosecond to the Grandmaster. ranges from 100 microseconds to 1 nanosecond to the Grandmaster.
This PTP Profile does not specify timing performance requirements, This PTP Profile does not specify timing performance requirements,
but such requirements explain why the needs cannot always be met by but such requirements explain why the needs cannot always be met by
NTP as commonly implemented. Such accuracy cannot usually be NTP as commonly implemented. Such accuracy cannot usually be
achieved with a traditional time transfer such as NTP, without adding achieved with NTP, without adding non-standard customizations such as
non-standard customizations such as on-path support, similar to what on-path support, similar to what is done in PTP with Transparent
is done in PTP with Transparent Clocks and Boundary Clocks. Such PTP Clocks and Boundary Clocks. Such PTP support is commonly available
support is commonly available in switches and routers, and many such in switches and routers, and many such devices have already been
devices have already been deployed in networks. Because PTP has a deployed in networks. Because PTP has a complex range of features
complex range of features and options, it is necessary to create a and options, it is necessary to create a PTP Profile for enterprise
PTP Profile for enterprise networks to achieve interoperability among networks to achieve interoperability among equipment manufactured by
equipment manufactured by different vendors. different vendors.
Although enterprise networks can be large, it is becoming Although enterprise networks can be large, it is becoming
increasingly common to deploy multicast protocols, even across increasingly common to deploy multicast protocols, even across
multiple subnets. For this reason, it is desirable to make use of multiple subnets. For this reason, it is desirable to make use of
multicast whenever the information going to many destinations is the multicast whenever the information going to many destinations is the
same. It is also advantageous to send information that is only same. It is also advantageous to send information that is only
relevant to one device as a unicast message. The latter can be relevant to one device as a unicast message. The latter can be
essential as the number of PTP timeReceivers becomes hundreds or essential as the number of PTP timeReceivers becomes hundreds or
thousands. thousands.
skipping to change at line 302 skipping to change at line 305
Profile has been demonstrated at the International Symposium on Profile has been demonstrated at the International Symposium on
Precision Clock Synchronization (ISPCS) Plugfest [ISPCS]. Precision Clock Synchronization (ISPCS) Plugfest [ISPCS].
5. Network Technology 5. Network Technology
This PTP Profile MUST operate only in networks characterized by UDP This PTP Profile MUST operate only in networks characterized by UDP
[RFC0768] over either IPv4 [RFC0791] or IPv6 [RFC8200], as described [RFC0768] over either IPv4 [RFC0791] or IPv6 [RFC8200], as described
by Annexes C and D of [IEEE1588-2019], respectively. A network node by Annexes C and D of [IEEE1588-2019], respectively. A network node
MAY include multiple PTP instances running simultaneously. IPv4 and MAY include multiple PTP instances running simultaneously. IPv4 and
IPv6 instances in the same network node MUST operate in different PTP IPv6 instances in the same network node MUST operate in different PTP
Domains. PTP Clocks that communicate using IPv4 can transfer time to domains. PTP clocks that communicate using IPv4 can transfer time to
PTP Clocks using IPv6, or the reverse, if and only if there is a PTP clocks using IPv6, or the reverse, if and only if there is a
network node that simultaneously communicates with both PTP domains network node that simultaneously communicates with both PTP domains
in the different IP versions. in the different IP versions.
The PTP system MAY include switches and routers. These devices MAY The PTP system MAY include switches and routers. These devices MAY
be Transparent Clocks, Boundary Clocks, or neither, in any be Transparent Clocks, Boundary Clocks, or neither, in any
combination. PTP Clocks MAY be Preferred timeTransmitters, Ordinary combination. PTP clocks MAY be Preferred timeTransmitters, Ordinary
Clocks, or Boundary Clocks. The Ordinary Clocks may be TimeReceiver Clocks, or Boundary Clocks. The Ordinary Clocks may be timeReceiver
Only Clocks or may be timeTransmitter capable. only clocks or may be timeTransmitter capable.
Note that PTP Ports will need to keep track of the Clock ID of Note that PTP Ports will need to keep track of the Clock ID of
received messages and not just the IP or Layer 2 addresses in any received messages and not just the IP or Layer 2 addresses in any
network that includes Transparent Clocks or that might include them network that includes Transparent Clocks or that might include them
in the future. This is important, since Transparent Clocks might in the future. This is important, since Transparent Clocks might
treat PTP messages that are altered at the PTP application layer as treat PTP messages that are altered at the PTP application layer as
new IP packets and new Layer 2 frames when the PTP messages are new IP packets and new Layer 2 frames when the PTP messages are
retransmitted. In IPv4 networks, some clocks might be hidden behind retransmitted. In IPv4 networks, some clocks might be hidden behind
a NAT, which hides their IP addresses from the rest of the network. a NAT, which hides their IP addresses from the rest of the network.
Note also that the use of NATs may place limitations on the topology Note also that the use of NATs may place limitations on the topology
of PTP networks, depending on the port forwarding scheme employed. of PTP Networks, depending on the port forwarding scheme employed.
Details of implementing PTP with NATs are out of scope for this Details of implementing PTP with NATs are out of scope for this
document. document.
PTP, similar to NTP, assumes that the one-way network delay for Sync PTP, similar to NTP, assumes that the one-way network delay for Sync
messages and Delay Response messages is the same. When this is not messages and Delay Response messages is the same. When this is not
true, it can cause errors in the transfer of time from the true, it can cause errors in the transfer of time from the
timeTransmitter to the timeReceiver. It is up to the system timeTransmitter to the timeReceiver. It is up to the system
integrator to design the network so that such effects do not prevent integrator to design the network so that such effects do not prevent
the PTP system from meeting the timing requirements. The details of the PTP system from meeting the timing requirements. The details of
network asymmetry are outside the scope of this document. See, for network asymmetry are outside the scope of this document. See, for
example, ITU-T G.8271 [G8271]. example, ITU-T G.8271 [G8271].
6. Time Transfer and Delay Measurement 6. Time Transfer and Delay Measurement
TimeTransmitter Clocks, Transparent Clocks, and Boundary Clocks MAY TimeTransmitter Clocks, Transparent Clocks, and Boundary Clocks MAY
be either one-step clocks or two-step clocks. TimeReceiver Clocks be either one-step clocks or two-step clocks. TimeReceiver Clocks
MUST support both behaviors. The End-to-End Delay measurement method MUST support both behaviors. The End-to-End delay measurement method
MUST be used. MUST be used.
Note that, in IP networks, Sync messages and Delay Request messages Note that, in IP networks, Sync messages and Delay Request messages
exchanged between a timeTransmitter and timeReceiver do not exchanged between a timeTransmitter and timeReceiver do not
necessarily traverse the same physical path. Thus, wherever necessarily traverse the same physical path. Thus, wherever
possible, the network SHOULD be engineered so that the forward and possible, the network SHOULD be engineered so that the forward and
reverse routes traverse the same physical path. Traffic engineering reverse routes traverse the same physical path. Traffic engineering
techniques for path consistency are out of scope for this document. techniques for path consistency are out of scope for this document.
Sync messages MUST be sent as PTP event multicast messages (UDP port Sync messages MUST be sent as PTP event multicast messages (UDP port
319) to the PTP primary IP address. Two-step clocks MUST send 319) to the PTP primary IP address. Two-step clocks MUST send
Follow-up messages as PTP general multicast messages (UDP port 320). Follow-up messages as PTP general multicast messages (UDP port 320).
Announce messages MUST be sent as multicast messages (UDP port 320) Announce messages MUST be sent as PTP general multicast messages (UDP
to the PTP primary address. The PTP primary IP address is port 320) to the PTP primary address. The PTP primary IP address is
224.0.1.129 for IPv4 and FF0X:0:0:0:0:0:0:181 for IPv6, where "X" can 224.0.1.129 for IPv4 and FF0X:0:0:0:0:0:0:181 for IPv6, where "X" can
be a value between 0x0 and 0xF. The different IPv6 address options be a value between 0x0 and 0xF. The different IPv6 address options
are explained in [IEEE1588-2019], Annex D, Section D.3. These are explained in [IEEE1588-2019], Annex D, Section D.3. These
addresses are allotted by IANA; see the "IPv6 Multicast Address Space addresses are allotted by IANA; see the "IPv6 Multicast Address Space
Registry" [IPv6Registry]. Registry" [IPv6Registry].
Delay Request messages MAY be sent as either multicast or unicast PTP Delay Request messages MAY be sent as either multicast or unicast PTP
event messages. TimeTransmitter Clocks MUST respond to multicast event messages. TimeTransmitter Clocks MUST respond to multicast
Delay Request messages with multicast Delay Response PTP general Delay Request messages with multicast Delay Response PTP general
messages. TimeTransmitter Clocks MUST respond to unicast Delay messages. TimeTransmitter Clocks MUST respond to unicast Delay
Request PTP event messages with unicast Delay Response PTP general Request PTP event messages with unicast Delay Response PTP general
messages. This allows for the use of Ordinary Clocks that do not messages. This allows for the use of Ordinary Clocks that do not
support the Enterprise Profile, if they are timeReceiver Only Clocks. support the Enterprise Profile, if they are timeReceiver only clocks.
Clocks SHOULD include support for multiple domains. The purpose is Clocks SHOULD include support for multiple domains. The purpose is
to support multiple simultaneous timeTransmitters for redundancy. to support multiple simultaneous timeTransmitters for redundancy.
Leaf devices (non-forwarding devices) can use timing information from Leaf devices (non-forwarding devices) can use timing information from
multiple timeTransmitters by combining information from multiple multiple timeTransmitters by combining information from multiple
instantiations of a PTP stack, each operating in a different PTP instantiations of a PTP stack, each operating in a different PTP
Domain. Redundant sources of timing can be ensembled and/or compared domain. To check for faulty timeTransmitter Clocks, redundant
to check for faulty timeTransmitter Clocks. The use of multiple sources of timing can be evaluated as an ensemble and/or compared
simultaneous timeTransmitters will help mitigate faulty individually. The use of multiple simultaneous timeTransmitters will
timeTransmitters reporting as healthy, network delay asymmetry, and help mitigate faulty timeTransmitters reporting as healthy, network
security problems. Security problems include on-path attacks such as delay asymmetry, and security problems. Security problems include
delay attacks, packet interception/manipulation attacks. Assuming on-path attacks such as delay attacks, packet interception attacks,
that the path to each timeTransmitter is different, failures -- and packet manipulation attacks. Assuming that the path to each
malicious or otherwise -- would have to happen at more than one path timeTransmitter is different, failures -- malicious or otherwise --
simultaneously. Whenever feasible, the underlying network transport would have to happen at more than one path simultaneously. Whenever
technology SHOULD be configured so that timing messages in different feasible, the underlying network transport technology SHOULD be
domains traverse different network paths. configured so that timing messages in different domains traverse
different network paths.
7. Default Message Rates 7. Default Message Rates
The Sync, Announce, and Delay Request default message rates MUST each The Sync, Announce, and Delay Request default message rates MUST each
be once per second. The Sync and Delay Request message rates MAY be be once per second. The Sync and Delay Request message rates MAY be
set to other values, but not less than once every 128 seconds and not set to other values, but not less than once every 128 seconds and not
more than 128 messages per second. The Announce message rate MUST more than 128 messages per second. The Announce message rate MUST
NOT be changed from the default value. The Announce Receipt Timeout NOT be changed from the default value. The Announce Receipt Timeout
Interval MUST be three Announce Intervals for Preferred Interval MUST be three Announce Intervals for Preferred
TimeTransmitters and four Announce Intervals for all other timeTransmitters and four Announce Intervals for all other
timeTransmitters. timeTransmitters.
The logMessageInterval carried in the unicast Delay Response message The logMessageInterval carried in the unicast Delay Response message
MAY be set to correspond to the timeTransmitter ports preferred MAY be set to correspond to the timeTransmitter ports' preferred
message period, rather than 7F, which indicates that message periods message period, rather than 7F, which indicates that message periods
are to be negotiated. Note that negotiated message periods are not are to be negotiated. Note that negotiated message periods are not
allowed; see Section 13 ("Forbidden PTP Options"). allowed; see Section 13 ("Forbidden PTP Options").
8. Requirements for TimeTransmitter Clocks 8. Requirements for TimeTransmitter Clocks
TimeTransmitter Clocks MUST obey the standard Best TimeTransmitter TimeTransmitter Clocks MUST obey the standard Best TimeTransmitter
Clock Algorithm as defined in [IEEE1588-2019]. PTP systems using Clock Algorithm as defined in [IEEE1588-2019]. PTP systems using
this PTP Profile MAY support multiple simultaneous Grandmasters if this PTP Profile MAY support multiple simultaneous Grandmasters if
each active Grandmaster is operating in a different PTP domain. each active Grandmaster is operating in a different PTP domain.
skipping to change at line 427 skipping to change at line 431
addresses of the timeReceivers. This is because Transparent Clocks addresses of the timeReceivers. This is because Transparent Clocks
might replace the IP address of Delay Requests with their own IP might replace the IP address of Delay Requests with their own IP
address after updating the Correction Fields. For this deployment address after updating the Correction Fields. For this deployment
scenario, timeTransmitters will need to have configured tables of scenario, timeTransmitters will need to have configured tables of
timeReceivers' IP addresses and associated Clock Identities in order timeReceivers' IP addresses and associated Clock Identities in order
to send Delay Responses to the correct PTP Nodes. to send Delay Responses to the correct PTP Nodes.
9. Requirements for TimeReceiver Clocks 9. Requirements for TimeReceiver Clocks
In a network that contains multiple timeTransmitters in multiple In a network that contains multiple timeTransmitters in multiple
domains, TimeReceivers SHOULD make use of information from all the domains, timeReceivers SHOULD make use of information from all the
timeTransmitters in their clock control subsystems. TimeReceiver timeTransmitters in their clock control subsystems. TimeReceiver
Clocks MUST be able to function in such networks even if they use Clocks MUST be able to function in such networks even if they use
time from only one of the domains. TimeReceiver Clocks MUST be able time from only one of the domains. TimeReceiver Clocks MUST be able
to operate properly in the presence of a rogue timeTransmitter. to operate properly in the presence of a rogue timeTransmitter.
TimeReceivers SHOULD NOT synchronize to a timeTransmitter that is not TimeReceivers SHOULD NOT synchronize to a timeTransmitter that is not
the Best TimeTransmitter in its domain. TimeReceivers will continue the Best timeTransmitter in its domain. TimeReceivers will continue
to recognize a Best TimeTransmitter for the duration of the Announce to recognize a Best timeTransmitter for the duration of the Announce
Time Out Interval. TimeReceivers MAY use an Acceptable Receipt Timeout Interval. TimeReceivers MAY use an Acceptable
TimeTransmitter Table. If a timeTransmitter is not an Acceptable TimeTransmitter Table. If a timeTransmitter is not an Acceptable
timeTransmitter, then the timeReceiver MUST NOT synchronize to it. timeTransmitter, then the timeReceiver MUST NOT synchronize to it.
Note that IEEE 1588-2019 requires timeReceiver Clocks to support both Note that IEEE 1588-2019 requires timeReceiver Clocks to support both
two-step and one-step timeTransmitter Clocks. See [IEEE1588-2019], two-step and one-step timeTransmitter Clocks. See [IEEE1588-2019],
Subclause 11.2. Subclause 11.2.
Since Announce messages are sent as multicast messages, timeReceivers Since Announce messages are sent as multicast messages, timeReceivers
can obtain the IP addresses of a timeTransmitter from the Announce can obtain the IP addresses of a timeTransmitter from the Announce
messages. Note that the IP source addresses of Sync and Follow-up messages. Note that the IP source addresses of Sync and Follow-up
messages might have been replaced by the source addresses of a messages might have been replaced by the source addresses of a
skipping to change at line 470 skipping to change at line 474
11. Requirements for Boundary Clocks 11. Requirements for Boundary Clocks
Boundary Clocks SHOULD support multiple simultaneous PTP domains. Boundary Clocks SHOULD support multiple simultaneous PTP domains.
This will require them to maintain separate clocks for each of the This will require them to maintain separate clocks for each of the
domains supported, at least in software. Boundary Clocks MUST NOT domains supported, at least in software. Boundary Clocks MUST NOT
combine timing information from different domains. combine timing information from different domains.
12. Management and Signaling Messages 12. Management and Signaling Messages
PTP Management messages MAY be used. Management messages intended PTP management messages MAY be used. Management messages intended
for a specific clock, i.e., where the for a specific clock, i.e., where the
targetPortIdentity.clockIdentity attribute (defined in targetPortIdentity.clockIdentity attribute (defined in
[IEEE1588-2019]) is not set to All 1s, MUST be sent as a unicast [IEEE1588-2019]) does not have all bits set to 1, MUST be sent as a
message. Similarly, if any signaling messages are used, they MUST unicast message. Similarly, if any signaling messages are used, they
also be sent as unicast messages whenever the message is intended MUST also be sent as unicast messages whenever the message is
solely for a specific PTP Node. intended solely for a specific PTP Node.
13. Forbidden PTP Options 13. Forbidden PTP Options
Clocks operating in the Enterprise Profile MUST NOT use the Clocks operating in the Enterprise Profile MUST NOT use the
following: following:
* Peer-to-Peer timing for delay measurement * Peer-to-Peer timing for delay measurement
* Grandmaster Clusters * Grandmaster Clusters
* The Alternate TimeTransmitter option * The Alternate timeTransmitter option
* Alternate Timescales * Alternate Timescales
* Unicast discovery * Unicast discovery
* Unicast negotiation * Unicast message negotiation
Clocks operating in the Enterprise Profile MUST avoid any optional Clocks operating in the Enterprise Profile MUST avoid any optional
feature that requires Announce messages to be altered by Transparent feature that requires Announce messages to be altered by Transparent
Clocks, as this would require the Transparent Clock to change the Clocks, as this would require the Transparent Clock to change the
source address and prevent the timeReceiver nodes from discovering source address and prevent the timeReceiver nodes from discovering
the protocol address of the timeTransmitter. the protocol address of the timeTransmitter.
14. Interoperation with IEEE 1588 Default Profile 14. Interoperation with IEEE 1588 Default Profile
Clocks operating in the Enterprise Profile will interoperate with Clocks operating in the Enterprise Profile will interoperate with
clocks operating in the Default Profile described in [IEEE1588-2019], clocks operating in the Default Profile described in [IEEE1588-2019],
Annex I.3. This variant of the Default Profile uses the End-to-End Annex I.3. This variant of the Default Profile uses the End-to-End
delay measurement mechanism. In addition, the Default Profile would delay measurement mechanism. In addition, the Default Profile would
have to operate over IPv4 or IPv6 networks and use management have to operate over IPv4 or IPv6 networks and use management
messages in unicast when those messages are directed at a specific messages in unicast when those messages are directed at a specific
clock. If neither of these requirements is met, then Enterprise clock. If neither of these requirements is met, then Enterprise
Profile clocks will not interoperate with Default Profile Clocks as Profile clocks will not interoperate with Default Profile clocks as
defined in [IEEE1588-2019], Annex I.3. The Enterprise Profile will defined in [IEEE1588-2019], Annex I.3. The Enterprise Profile will
not interoperate with the variant of the Default Profile defined in not interoperate with the variant of the Default Profile defined in
[IEEE1588-2019], Annex I.4, which requires the use of the Peer-to- [IEEE1588-2019], Annex I.4, which requires the use of the Peer-to-
Peer delay measurement mechanism. Peer delay measurement mechanism.
Enterprise Profile Clocks will interoperate with clocks operating in Enterprise Profile clocks will interoperate with clocks operating in
other PTP Profiles if the clocks in the other PTP Profiles obey the other PTP Profiles if the clocks in the other PTP Profiles obey the
rules of the Enterprise Profile. These rules MUST NOT be changed to rules of the Enterprise Profile. These rules MUST NOT be changed to
achieve interoperability with other PTP Profiles. achieve interoperability with other PTP Profiles.
15. Profile Identification 15. Profile Identification
The IEEE 1588 standard requires that all PTP Profiles provide the The IEEE 1588 standard requires that all PTP Profiles provide the
following identifying information. following identifying information.
PTP Profile: Enterprise Profile PTP Profile: Enterprise Profile
skipping to change at line 553 skipping to change at line 557
important to security mechanisms that use time windows for keys and important to security mechanisms that use time windows for keys and
authorization. Passing time through the networks poses a security authorization. Passing time through the networks poses a security
risk, since time can potentially be manipulated. The use of multiple risk, since time can potentially be manipulated. The use of multiple
simultaneous timeTransmitters, using multiple PTP domains, can simultaneous timeTransmitters, using multiple PTP domains, can
mitigate problems from rogue timeTransmitters and on-path attacks. mitigate problems from rogue timeTransmitters and on-path attacks.
Note that Transparent Clocks alter PTP content on-path, but in a Note that Transparent Clocks alter PTP content on-path, but in a
manner specified in [IEEE1588-2019] that helps with time transfer manner specified in [IEEE1588-2019] that helps with time transfer
accuracy. See Sections 9 and 10. Additional security mechanisms are accuracy. See Sections 9 and 10. Additional security mechanisms are
outside the scope of this document. outside the scope of this document.
PTP native management messages SHOULD NOT be used, due to the lack of PTP management messages SHOULD NOT be used, due to the lack of a
a security mechanism for this option. Secure management can be security mechanism for this option. Secure management can be
obtained using standard management mechanisms that include security obtained using standard management mechanisms that include security
-- for example, NETCONF [RFC6241]. -- for example, NETCONF [RFC6241].
General security considerations related to time protocols are General security considerations related to time protocols are
discussed in [RFC7384]. discussed in [RFC7384].
18. References 18. References
18.1. Normative References 18.1. Normative References
skipping to change at line 621 skipping to change at line 625
[G8271] ITU-T, "Time and phase synchronization aspects of [G8271] ITU-T, "Time and phase synchronization aspects of
telecommunication networks", ITU-T telecommunication networks", ITU-T
Recommendation G.8271/Y.1366, March 2020, Recommendation G.8271/Y.1366, March 2020,
<https://www.itu.int/rec/T-REC-G.8271-202003-I/en>. <https://www.itu.int/rec/T-REC-G.8271-202003-I/en>.
[IPv6Registry] [IPv6Registry]
IANA, "IPv6 Multicast Address Space Registry", IANA, "IPv6 Multicast Address Space Registry",
<https://iana.org/assignments/ipv6-multicast-addresses>. <https://iana.org/assignments/ipv6-multicast-addresses>.
[ISPCS] Arnold, D., "Plugfest Report", October 2017, [ISPCS] Arnold, D. and K. Harris, "Plugfest", Proceedings of the
<https://www.ispcs.org>. IEEE International Symposium on Precision Clock
Synchronization for Measurement, Control, and
Communication (ISPCS), August 2017,
<https://2017.ispcs.org/plugfest>.
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision [RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996,
<https://www.rfc-editor.org/info/rfc2026>. <https://www.rfc-editor.org/info/rfc2026>.
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
"Network Time Protocol Version 4: Protocol and Algorithms "Network Time Protocol Version 4: Protocol and Algorithms
Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
<https://www.rfc-editor.org/info/rfc5905>. <https://www.rfc-editor.org/info/rfc5905>.
 End of changes. 37 change blocks. 
78 lines changed or deleted 85 lines changed or added

This html diff was produced by rfcdiff 1.48.