One document matched: draft-ietf-tictoc-1588overmpls-06.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Fred Baker (private) -->
<!DOCTYPE rfc SYSTEM "http://xml.resource.org/authoring/rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="no"?>
<?rfc tocdepth="6"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<rfc category="exp" docName="draft-ietf-tictoc-1588overmpls-06"
ipr="trust200902">
<front>
<title abbrev="Transporting Timing over MPLS">Transporting Timing messages over MPLS Networks</title>
<author fullname="Shahram Davari" initials="S." surname="Davari">
<organization>Broadcom Corp.</organization>
<address>
<postal>
<street></street>
<city>San Jose, CA</city>
<code>95134</code>
<country>USA</country>
</postal>
<email>davari@broadcom.com</email>
</address>
</author>
<author fullname="Amit Oren" initials="A." surname="Oren">
<organization>Broadcom Corp.</organization>
<address>
<postal>
<street></street>
<city>San Jose, CA</city>
<code>95134</code>
<country>USA</country>
</postal>
<email>amito@broadcom.com</email>
</address>
</author>
<author fullname="Manav Bhatia" initials="M.B." surname="Bhatia">
<organization>Alcatel-Lucent</organization>
<address>
<postal>
<street></street>
<city>Bangalore</city>
<code></code>
<region></region>
<country>India</country>
</postal>
<email>manav.bhatia@alcatel-lucent.com</email>
</address>
</author>
<author fullname="Peter Roberts" initials="P." surname="Roberts">
<organization>Alcatel-Lucent</organization>
<address>
<postal>
<street></street>
<city>Kanata</city>
<code></code>
<region></region>
<country>Canada</country>
</postal>
<email>peter.roberts@alcatel-lucent.com</email>
</address>
</author>
<author fullname="Laurent Montini" initials="L." surname="Montini">
<organization>Cisco Systems</organization>
<address>
<postal>
<street></street>
<city>San Jose CA</city>
<code />
<country>USA</country>
</postal>
<email>lmontini@cisco.com</email>
</address>
</author>
<date day="28" month="April" year="2014" />
<area>Internet Area</area>
<workgroup>TICTOC Working Group</workgroup>
<abstract>
<t>This document defines the method for transporting Timing messages such as
PTP and NTP over an MPLS network. The method allows for the easy
identification of these PDUs at the port level to allow for port level
processing of these PDUs in both LERs and LSRs. </t>
<t>The basic idea is to transport Timing messages inside dedicated MPLS
LSPs. These LSPs only carry Timing messages and possibly Control and
Management packets, but they do not carry customer traffic. </t>
<t>Two methods for transporting Timing messages over MPLS are defined. The
first method is to transport Timing messages directly over the dedicated
MPLS LSP via UDP/IP encapsulation, which is suitable for MPLS networks.
The second method is to
transport Timing messages inside a PW via Ethernet encapsulation. </t>
</abstract>
</front>
<middle>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 <xref
target="RFC2119" />.</t>
<t>When used in lower case, these words convey their typical use in common
language, and are not to be interpreted as described in RFC2119 <xref
target="RFC2119" />.</t>
<section title="Introduction">
<t>The objective of Precision Time Protocol (PTP) and Network Timing
Protocol (NTP) are to synchronize independent clocks running on separate
nodes of a distributed system. </t>
<t> <xref target="IEEE-1588" /> defines PTP messages for frequency, phase and time
synchronization. The PTP messages include PTP PDUs over UDP/IP (Annex D
and E of <xref target="IEEE-1588" />) and PTP PDUs over Ethernet (Annex F of [IEEE-1588]).
This document defines mapping and transport of the PTP messages
defined in <xref target="IEEE-1588" /> over MPLS/MPLS-TP networks. PTP defines several
clock types: ordinary clocks, boundary clocks, end-to-end transparent
clocks, and peer-to-peer transparent clocks. Transparent clocks require
intermediate nodes to update correction field inside PTP message that
reflects the transit time in the node. </t>
<t> <xref target="RFC5905" /> defines NTP messages for clock and time synchronization. The
PTP messages (PDUs) are transported over UDP/IP. This document defines
mapping and transport of the NTP messages defined in <xref target="RFC5905" /> over MPLS
networks. </t>
<t> One key attribute of all of these Timing messages is that the Time stamp
processing should occur as close as possible to the actual transmission
and reception at the physical port interface. This targets optimal time
and/or frequency recovery by avoiding variable delay introduced by queues
internal to the clocks. </t>
<t> To facilitate the fast and efficient recognition of Timing messages at
the port level when the Timing messages are carried over MPLS LSPs, this
document defines the specific encapsulations that should be used. In
addition, it can be expected that there will exist LSR/LERs where only a
subset of the physical ports will have the port-based Timing message
processing capabilities. In order to ensure that the LSPs carrying
Timing packets always enter and exit ports with this capability, routing
extensions can be defined to advertise this capability on a port basis and
to allow for the establishment of LSPs that only transit such ports.
While this path establishment restriction may be applied only at the LER
Ingress and/or egress ports, it becomes more important when using
transparent clock capable LSRs in the path. </t>
<t> Port based Timing message processing involves Timing message recognition.
Once the Timing messages are recognized they can be modified based on the
reception or transmission Time-stamp. </t>
<t> This document provides two methods for transporting Timing messages over
MPLS. One is applicable to MPLS environment and the other one is
applicable to MPLS/MPLS-TP environment. </t>
<t> The solution involves transporting Timing messages over dedicated LSPs
called Timing LSPs. These LSPs carry Timing messages and MAY carry
Management and control messages, but not data plane client traffic.
Timing LSPs can be established statically or via signaling. Extensions to
control plane (OSPF, ISIS, etc.) is required to enable routers to
distribute their Timing processing capabilities over MPLS to other
routers. However such extensions are outside the scope of this document. </t>
<t> When signaling is used to setup the PTP LSP,
extensions to signaling protocols (e.g., RSVP-TE) are required for
establishing PTP LSPs. However such extensions are outside the scope of
this document. </t>
<t> While the techniques included herein allow for the establishment of paths
optimized to include Time-stamping capable links, the performance of the
Slave clocks is outside the scope of this document. </t>
<t> At the time of publishing this specification, Transparent Clocking (TC) is only defined for
PTP. Therefore at this time any part of this specification that talks about Transparent Clocking
applies only to PTP.
</t>
<t />
</section>
<section title="Terminology">
<t>1588: The timing and synchronization as defined by IEEE 1588.</t>
<t> NTP: The timing and synchronization protocol defined by IETF RFC-1305 and
RFC-5905. </t>
<t>PTP: The timing and synchronization protocol used by 1588.</t>
<t>Master Clock: The source of 1588 timing to a set of slave clocks.</t>
<t>Master Port: A port on a ordinary or boundary clock that is in Master
state. This is the source of timing toward slave ports.</t>
<t>Slave Clock: A receiver of 1588 timing from a master clock.</t>
<t>Slave Port: A port on a boundary clock or ordinary clock that is
receiving timing from a master clock.</t>
<t>Ordinary Clock: A device with a single PTP port.</t>
<t>Transparent Clock. A device that measures the time taken for a PTP
event message to transit the device and then updates the correctionField
of the message with this transit time.</t>
<t>Boundary Clock: A device with more than one PTP port. Generally
boundary clocks will have one port in slave state to receive timing and
then other ports in master state to re-distribute the timing.</t>
<t>PTP LSP: An LSP dedicated to carry PTP messages</t>
<t>PTP PW: A PW within a PTP LSP that is dedicated to carry PTP
messages.</t>
<t>CW: Pseudowire Control Word</t>
<t>LAG: Link Aggregation</t>
<t>ECMP: Equal Cost Multipath</t>
<t>CF: Correction Field, a field inside certain PTP messages (message
type 0-3)that holds the accumulative transit time inside intermediate
switches</t>
<t> Timing messages: Timing Protocol messages that are exchanged between
routers in order to establish a synchronized clock.
</t>
</section>
<section title="Problem Statement">
<t><xref target="IEEE-1588" /> has defined methods for transporting PTP messages over
Ethernet and IP networks. <xref target="RFC5905" /> has defined the method of
transporting NTP messages over IP networks. There is a need to transport
Timing messages over MPLS networks while supporting the Transparent Clock
(TC), Boundary Clock (BC) and Ordinary Clock (OC) functionality in the
LER and LSRs in the MPLS network. </t>
<t> There are multiple ways of transporting Timing over MPLS. However, there
is a requirement to limit the possible encapsulation options to simplify
the Timing message identification and processing required at the port
level. </t>
<t> When Timing-awareness is needed, Timing messages should not be
transported over LSPs or PWs that are carrying customer traffic because
LSRs perform Label switching based on the top label in the stack. To
detect Timing messages inside such LSPs require special hardware to do
deep packet inspection at line rate. Even if such hardware exists, the
payload cant be deterministically identified by LSRs because the payload
type is a context of the PW label, and the PW label and its context are
only known to the Edge routers (PEs/LERs); LSRs dont know what is a PWs
payload (Ethernet, ATM, FR, CES, etc). Even if one restricts an LSP to
only carry Ethernet PWs, the LSRs dont have the knowledge of whether PW
Control Word (CW) is present or not and therefore can not deterministically
identify the payload. </t>
<t> A generic method is defined in this document that does not require deep
packet inspection at line rate, and can deterministically identify Timing
messages. This method can be used to detect Timing Messages in both
one-step and two-step clock implementations of
ordinary, boundary and transparent clocks.</t>
<t />
</section>
<section title="Timing over MPLS Architecture">
<t>Timing messages are exchange between Timing ports on ordinary and
boundary clocks. Boundary clocks terminate the Timing messages and act as
master for other boundary clocks or for slave clocks. End-to-End Transparent clocks do not terminate the Timing messages but
they do modify the contents of the Timing messages as they transit
across the transparent clock. </t>
<t> Master/Slave clocks (OCs), Boundary Clocks (BC) and Transparent Clock
(TC) could be implemented in either LERs or LSRs. </t>
<t>An example is shown in Figure 1, where the LERs act as Ordinary Clock
(OC) and are the initiating/terminating point for Timing messages.
The ingress LER encapsulates the Timing messages in Timing LSP and
the Egress LER terminates the Timing LSP. The LSRs act as
Transparent Clock (TC) and just update the Timing field in the Timing
messages. </t>
<figure>
<artwork><![CDATA[
+--------+ +-------+ +-------+ +-------+ +--------+
|Switch, | | | | | | | |Switch, |
| Router |-----| LER |-----| LSR |-----| LER |-----| Router |
| | | OC | | TC | | OC | | |
+--------+ +-------+ +-------+ +-------+ +--------+
/ \
+-------+ / \ +-------+
| LER | / \ | LER |
| Master|---/ \---| Slave |
| Clock | | Clock |
+-------+ +-------+
Figure (1) - Deployment example 1 of timing over MPLS network
]]></artwork>
</figure>
<t> Another example is shown in Figure 2, where LERs terminate the Timing
messages received from switch/routers that are outside of the MPLS
network acting as OC or BC. In this example LERs regenerate the
clock and initiate timing messages encapsulated in Timing LSP toward
the MPLS network, while the LSRs act as Transparent
Clock (TC) and just update the Timing field in the Timing messages, which
are already encapsulated in Timing LSPs.
</t>
<figure>
<artwork><![CDATA[
+--------+ +-------+ +-------+ +-------+ +--------+
|Switch, | | | | | | | |Switch, |
| Router |-----| LER |-----| LSR |-----| LER |-----| Router |
| OC/BC | | BC | | TC | | BC | | OC/BC |
+--------+ +-------+ +-------+ +-------+ +--------+
Figure (2) - Deployment example 2 of timing over MPLS network
]]></artwork>
</figure>
<t> Another example is shown in Figure 3, where LERs do not terminate the
Timing messages received from switch/routers that are outside of the
MPLS network acting as OC, TC or BC. The LERs act as TC and update
the Timing field in the Timing messages as they transit the LER,
while encapsulating them in timing LSP. The LSRs also act as
Transparent Clock (TC) and just update the Timing field in the Timing
messages which are already encapsulated in Timing LSPs.
</t>
<figure>
<artwork><![CDATA[
+--------+ +-------+ +-------+ +-------+ +--------+
|Switch, | | | | | | | |Switch, |
| Router |-----| LER |-----| LSR |-----| LER |-----| Router |
|OC/TC/BC| | TC | | TC | | TC | |OC/TC/BC|
+--------+ +-------+ +-------+ +-------+ +--------+
Figure (3) - Deployment example 3 of timing over MPLS network ]]></artwork>
</figure>
<t> Another example is shown in Figure 4, where LERs and LSRs support
Boundary Clocks. A single-hop LSP is created between two adjacent
LSRs engaged in BC operation. Other methods such as PTP transport
over Ethernet MAY be used for transporting timing messages if the
link between the two routers is Ethernet.
</t>
<figure>
<artwork><![CDATA[
+--------+ +-------+ +-------+ +-------+ +--------+
|Switch, | | | | | | | |Switch, |
| Router |-----| LER |-----| LSR |-----| LER |-----| Router |
| OC/BC | | BC | | BC | | BC | | OC/BC |
+--------+ +-------+ +-------+ +-------+ +--------+
Figure (4) - Deployment example 3 of timing over MPLS network ]]></artwork>
</figure>
<t>
An MPLS domain MAY serve multiple customers. In these cases the MPLS
domain (maintained by a service provider) may provide timing services
to multiple customers, each having their own Timing domain.
</t>
<t> The Timing over MPLS architecture assumes full mesh of Timing LSPs
between all LERs supporting this specification. It supports Point-to-
point (VPWS) and Multipoint (VPLS) services. This means that a customer
may purchase a Point-to-point Timing service between two customer sites
or a Multipoint Timing service between more than two customer sites. </t>
<t> The Timing over MPLS architecture supports P2P or P2MP Timing LSPs. This
means that the Timing Multicast messages such as PTP Multicast event
messages can be transported over P2MP Timing LSP or be replicated and
transported over many P2P Timing LSPs. </t>
<t> Timing messages, that do not require Time stamping or Correction Field
update MAY be transported over Timing LSPs to simplify hardware and
software. </t>
<t> PTP Announce messages that determine the Timing LSP terminating point
behavior such as BC/OC/TC SHOULD be transported over the Timing LSP to
simplify hardware and software.
</t>
</section>
<section title="Dedicated LSPs for Timing messages">
<t>Many methods have been considered for identifying the Timing messages
when they are encapsulated in MPLS such as using GAL/G-ACH or a new
reserved label. These methods were not attractive since they either
required deep packet inspection at line rate in the intermediate LSRs or
they required use of a scarce new reserved label. Also one of the goals
was to reuse existing OAM mechanisms. </t>
<t> The method defined in this document can be used by LER and LSRs to
identify Timing messages in MPLS tunnels by just looking at the top label
in the MPLS label stack, which only carry Timing messages as well as OAM,
but not data plane client traffic. </t>
<t> Compliant implementations MUST use dedicated LSPs to carry Timing
messages over MPLS. These LSPs are herein referred to as "Timing LSPs"
and the labels associated with these LSPs as "Timing LSP labels". The
Timing LSPs that runs between Ingress and Egress LERs MUST be co-routed.
Alternatively, a single bidirectional co-routed LSP can be used. </t>
<t> Co-routing of the two directions is required to limit the difference in
the delays in the Master clock to Slave clock direction compared to the
Slave clock to Master clock direction. The Timing LSP MAY be MPLS LSP/MPLS-TP LSP. </t>
<t> The Timing LSPs could be configured or signaled via RSVP-TE/GMPLS. New
Extensions to RSVP-TE/GMPLS TLVs are required; however they are outside
the scope of this document. </t>
<t> The Timing LSPs MAY carry essential MPLS/MPLS-TP OAM traffic such as BFD
and LSP Ping but the LSP data plane client plane traffic MUST be Timing
packets only. </t>
</section>
<section title="Timing over LSP Encapsulation ">
<t>This standard defines two methods for carrying Timing messages over
MPLS. The first method is carrying UDP/IP encapsulated Timing
messages over Timing LSPs, and the second method, is carrying
Ethernet encapsulated Timing messages over Ethernet PWs inside Timing
LSPs.</t>
<section title="Timing over UDP/IP over MPLS Encapsulation ">
<t>The simplest method of transporting Timing messages over MPLS is to
encapsulate Timing PDUs in UDP/IP and then encapsulate them in Timing
LSP. This format is shown in Figure 4. </t>
<figure>
<artwork><![CDATA[
+----------------------+
| Timing LSP Label |
+----------------------+
| IPv4/6 |
+----------------------+
| UDP |
+----------------------+
| Timing PDU |
+----------------------+
Figure (4) - Timing over UDP/IP over MPLS Encapsulation
]]></artwork>
</figure>
<t>This encapsulation is very simple and is useful when the network between
Timing Master Clock and Slave Clock is MPLS network. </t>
<t> In order for an LER/LSR to process Timing messages, the Timing LSP Label
must be at the top label of the label stack. The LER/LSR MUST know that
the Timing LSP Label is used for carrying Timing messages. This can be
accomplished via static configuration or via RSVP-TE signaling. </t>
<t> The UDP/IP encapsulation of PTP MUST follow Annex D and E of <xref
target="IEEE-1588" />.
While the UDP/IP encapsulation of NTP MUST follow <xref target="RFC5905" />. </t>
</section>
<section title="Timing over PW Encapsulation ">
<t>Another method of transporting Timing over MPLS networks is by
encapsulating Timing PDUs in PW which in turn is transported over Timing
LSPs. In case of PTP, Ethernet PW encapsulation <xref target="RFC4448" />, shown in Fig
5(A) MUST be used and the Ethernet encapsulation of PTP MUST follow Annex
F of <xref
target="IEEE-1588" />.</t>
<t> The RAW mode or Tagged mode defined in [RFC-4448] MAY be used and the Payload MUST
have 0, 1, or 2 VLAN tags (S-VLAN and C-VLAN). The Timing over PW encapsulation
MUST use the Control Word (CW) as specified in <xref target="RFC4448" /> to ensure
proper detection of PTP messages inside the MPLS packets for Timing over
LSP and Timing over PW encapsulation. The use of Sequence Number in the
CW is optional. </t>
<t> Timing over PW encapsulation for NTP MUST use NTP over UDP/IP over PW
(the IP PW discussed in <xref target="RFC4447" />) shown in Fig 5(B). </t>
<figure>
<artwork><![CDATA[
+-----------------+ +----------------+
|Timing LSP Label | |Timing LSP Label|
+-----------------+ +----------------+
| PW Label | | PW Label |
+-----------------+ +----------------+
| Control Word | | IP |
+-----------------+ +----------------+
| Ethernet | | UDP |
| Header | +----------------+
+-----------------+ | Timing PDU |
|S-VLAN (Optional)| | |
+-----------------+ +----------------+
|C-VLAN (Optional)| (B)
+-----------------+
| Timing PDU |
| |
+-----------------+
(A)
Figure (5) - Timing over PW Encapsulations
]]></artwork>
</figure>
<t> In order for an LSR to process PTP messages, the top label of the label
stack (the Tunnel Label) MUST be a Timing label. </t>
</section>
<section title="Other Timing Encapsulation methods ">
<t> In future other timing encapsulation methods may be introduced, such as a
new shim header after the Bottom of Stack to carry the Timing
information. Such new encapsulations are outside the scope of this
document.
</t>
</section>
</section>
<section anchor="TimingMessageProcessing" title="Timing message Processing">
<t>Each Timing protocol such as PTP and NTP, define their set of Timing
messages. For example PTP defines SYNC, DELAY_REQ, DELAY_RESP, FOLLOW_UP,
etc messages. </t>
<t> Some of the Timing messages require time stamping or correction field
update at port level and some dont. It is the job of the LER/LSR to
parse the timing message and find out the type of the Timing message
and decide whether and how to Time- stamp it (e.g., BC) or update
correction field(e.g., TC). </t>
<t> For example the following PTP messages (called Event messages)
require time-stamping or correction field update: </t>
<t>
<list style="symbols">
<t>SYNC</t>
<t>DELAY_REQ (Delay Request)</t>
<t>PDELAY_REQ (Peer Delay Request)</t>
<t>PDELAY_RESP (Peer Delay Response)</t>
</list>
</t>
<t>SYNC and DELAY_REQ are exchanged between Master Clock and Slave Clock
and MUST be transported over PTP LSPs. PDELAY_REQ and PDELAY_RESP
are exchanged between adjacent PTP clocks (i.e. Master, Slave,
Boundary, or Transparent) and SHOULD be transported over single hop
PTP LSPs. If Two Step PTP clocks are present, then the FOLLOW_UP,
and PDELAY_RESP_FOLLOW_UP messages MUST also be transported over the
PTP LSPs. </t>
<t>For a given instance of 1588 protocol, SYNC and DELAY_REQ MUST be
transported over two PTP LSPs that are in opposite directions. These PTP
LSPs, which are in opposite directions MUST be congruent and co-routed.
Alternatively, a single bidirectional co-routed LSP can be used.</t>
<t>Except as indicated above for the two-step PTP clocks, Non-Event PTP
message types do not need to be processed by intermediate routers. These
message types MAY be carried in PTP Tunnel LSPs.</t>
</section>
<section anchor="Protection" title="Protection and Redundancy">
<t>In order to ensure continuous uninterrupted operation of slave clocks,
usually as a general practice, slave clocks (or ports) track redundant
master clocks. </t>
<t> It is the responsibility of the network operator to ensure that
physically disjoint Timing LSPs are established between a slave clock (or
port) and redundant master clocks (or ports). </t>
<t> When a slave clock (or port) listens to redundant master clocks or ports,
any prolonged Timing LSP outage will trigger the slave clock or port to
switch to a redundant master clock or port. </t>
<t> LSP/PW protection such as Linear protection Switching (1:1, 1+1), Ring
protection switching or MPLS Fast Reroute (FRR) can switch to an
alternative path that can cause a change in delay, which if
undetected by the slave clock, can reduce accuracy of the slave clock. While
it is expected that most Slave clocks will be able to detect the change in delay,
this specification still recommends that protection switching MUST NOT
be used, unless the operator knows that the protection switching will not have
any adverse effect on the slave clock. </t>
</section>
<section anchor="ECMP" title="ECMP">
<t> To ensure the optimal operation of slave clocks and avoid error
introduced by forward and reverse path delay asymmetry, the physical path
for Timing messages from master clock to slave Clock and vice versa must
be the same for all Event Timing messages listed in section 7. </t>
<t>Therefore the Timing LSPs MUST not be subject to ECMP (Equal Cost
Multipath). </t>
</section>
<section anchor="PHP" title="PHP">
<t> To ensure that the label on the top of the label stack is the Timing LSP
Label, PHP MUST not be used. </t>
</section>
<section anchor="Entropy" title="Entropy">
<t> To ensure all Timing messages in a Timing LSP take the same path, Entropy
Label MUST NOT be used for the Timing LSP <xref target="RFC6790" /> and Entropy Label MUST NOT be
used for the PWs that are carried inside Timing LSP <xref target="RFC6391" />. </t>
</section>
<section anchor="OAM" title="OAM, Control and Management">
<t>In order to monitor Timing LSPs and their encapsulated PWs, they MUST
be able to carry OAM and management messages. These management
messages MUST be differentiated from Timing messages via already
defined IETF methods. </t>
<t> For example BFD <xref target="RFC5880" />, <xref target="RFC5884" /> and
LSP-Ping <xref target="RFC4389" /> MAY run
over PTP LSPs via UDP/IP encapsulation or via GAL/G-ACH. These
Management protocols can easily be identified by the UDP Destination
Port number or by GAL/G-ACH respectively. </t>
<t>Also BFD, LSP-Ping and other management messages MAY run over the PWs
encapsulated in Timing LSP via one of the defined VCCVs (Type 1, 3 or 4)
<xref target="RFC5085" /> (note that VCCV Type 2 using Router Alert Label is going to be
deprecated by IETF). In this case G-ACH, PW label (TTL=1) or GAL-ACH are
used to identify such management messages. </t>
</section>
<section anchor="QoS" title="QoS Considerations">
<t>In network deployments where not every LSR/LER is Timing-aware, it is
important to reduce the impact of the non-Timing-aware LSR/LERs on the
timing recovery in the slave clock. The Timing messages are time
critical and must be treated with the highest priority. Therefore Timing
over MPLS messages must be treated with the highest priority in the
routers. This can be achieved by proper setup of Timing LSPs. </t>
<t> It is recommended that the Timing LSPs are setup or configured properly
to indicate EF-PHB <xref target="RFC3246" />for the CoS and Green <xref target="RFC2697" /> for drop
eligibility. </t>
</section>
<section anchor="FCS" title="FCS and Checksum Recalculation">
<t>When time-stamp generation and timing packet adjustment is performed near
the physical port hardware, the process MUST include recalculation of the
Ethernet FCS. Also FCS retention for the payload Ethernet described in
<xref target="RFC4720" /> MUST NOT be used. </t>
<t>For UDP/IP encapsulation mode of Timing over MPLS, the UDP checksum
may be required as per UDP transport standards. </t>
<t> When UDP checksum is used, each Timing-aware LER/LSR must either
incrementally update the UDP checksum after Time stamping or Correction
Field update or verify the UDP checksum on reception from upstream and
recalculate the checksum completely on transmission to downstream node
after Time stamping or Correction Field update. </t>
</section>
<section title="Behavior of LER/LSR">
<t> Timing-capable/aware LERs and LSRs are routers that have one or more
interfaces that can perform Timing operations (OC/BC/TC) on Timing
packets and are configured to do so. Timing-capable/aware LERs and LSRs
can advertise their Timing-capability per-interface via control plane
such as OSPF or IS-IS. The Timing-capable/aware LERs can then signals
Timing LSPs via RSVP-TE signaling. Alternatively the Timing capability of
LER and LSRs may be configured in a centralized controller and the Timing
LSP may be setup using manual configuration or other methods such as SDN.
</t>
<section title="Behavior of Timing-capable/aware LER ">
<t>When a Timing-capable/aware LER behaves as a Transparent clock and
receives a Timing message from a Timing-capable/aware non-MPLS interface,
the LER updates the Correction Field (CF) and encapsulates and forwards
the timing message over previously established Timing LSP. Also when a
Timing message is received from a Timing-capable/aware MPLS interface,
LER updates the Correction Filed (CF) and decapsulates the MPLS
encapsulation and forwards the timing message to a non-MPLS interface. </t>
<t>When a Timing-capable/aware LER behaves as a Boundary clock and receives
a Timing message from a Timing-capable/aware non MPLS interface, the LER
Timestamps the Timing packet and sends it to the LERs Boundary clock
processing module. Also when a Timing message is received from a Timing-
capable/aware MPLS interface, the LER Timestamps the Timing packet and
sends it to the LERs Boundary clock processing module. </t>
<t>When a Timing-capable/aware LER behaves as an Ordinary Clock toward the
MPLS network, and receives a Timing message from a Timing-capable/aware
MPLS interface, the LER Timestamps the Timing packet and sends it to the
LERs Ordinary clock processing module. </t>
</section>
<section title="Behavior of Timing-capable/aware LSR ">
<t>A Timing-capable/aware LSR behaves as a Transparent clock and receives a
Timing message from a Timing-capable/aware MPLS interface. The LSR
updates the Correction Filed (CF) and forwards the timing message over
another MPLS interface. </t>
</section>
<section title="Behavior of non-Timing-capable/aware LSR ">
<t>It is most beneficial when all LSRs in the path of a Timing LSP be
timing-Capable/aware LSRs. This would ensure the highest quality time and
clock synchronization by Timing Slave Clocks. However, this specification
does not mandate that all LSRs in path of a Timing LSP be Timing-
capable/aware. </t>
<t>Non-Timing-capable/aware LSRs just switch the packets encapsulated in
Timing LSPs and dont perform any Timing operation (TC). However as
explained in QoS section the Timing over MPLS packets MUST be still be
treated with the highest priority based on their Traffic Class (TC)
marking. </t>
</section>
</section>
<section title="Other considerations">
<t> <xref target="IEEE-1588" /> defines an optional peer-to-peer Transparent clocking that
requires peer delay measurement between two adjacent Timing-capable/
aware routers/switches. Peer delay measurement messages need to be
time stamped and terminated by the Timing-capable/aware routers/
switches. This means that two adjacent LSRs may be engaged in a peer
delay measurement.
</t>
<t> For transporting such peer delay measurement messages a single-hop LSP
SHOULD to be created between the two adjacent LSRs engaged in peer
delay measurement to carry peer delay measurement messages. Other
methods such as PTP transport over Ethernet MAY be used for
transporting peer delay measurement messages if the link between the
two routers is Ethernet.
</t>
<t> In Peer-to-peer transparent clocking (P2P TC), a Timing-capable/
ware routers/switches MUST maintain a list of all the neighbors it
needs to send a PDelay_Req to, where each neighbor corresponds to a
timing LSP.
</t>
<t>The use of Explicit Null Label (Label= 0 or 2) is acceptable as long as
either the Explicit Null label is the bottom of stack label (applicable
only to UDP/IP encapsulation) or the label below the Explicit Null label
is a PTP label.</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>MPLS PW security considerations in general are discussed in <xref
target="RFC3985" /> and <xref target="RFC4447" />,and those
considerations also apply to this document.</t>
<t>An experimental security protocol is defined in <xref target="IEEE-1588" />.The PTP
security extension and protocol provides group source authentication,
message integrity, and replay attack protection for PTP messages.</t>
<t> When the MPLS network (provider network) serves multiple customers, it
is important to maintain and process each customers clock and Timing
messages separately from other customers to ensure there is no cross-
customer effect. For example if an LER BC is synchronized to a
specific grandmaster, belonging to customer A, then the LER MUST use
that BC clock only for customer A to ensure that customer A cannot
attack other customers by manipulating its time. </t>
<t> Timing messages MAY be encrypted or authenticated, provided that the
LERs/LSRs that are Timing capable/aware can authenticate/ decrypt the
timing messages.
</t>
</section>
<section anchor="Applicability" title="Applicability Statement ">
<t>
The Timing over MPLS transport methods described in this document apply
to the following network Elements: </t>
<t>
<list style="symbols">
<t> An LER receives IP or Ethernet Encapsulated Timing messages from a
non-MPLS interface and forwards them as MPLS encapsulated Timing
messages over Timing LSP, while performing Transparent Clock
functionality </t>
<t>An LER receives MPLS encapsulated Timing messages from a Timing LSP
and forwards them to non-MPLS interface as IP or Ethernet
Encapsulated Timing messages, while performing Transparent Clock
functionality </t>
<t>An LER receives MPLS encapsulated Timing messages from a Timing LSP
and terminates them, while performing the OC or BC functionality </t>
<t>An LSR receives MPLS encapsulated Timing messages from a Timing LSP
and forwards them to another MPLS interface, while performing the
TC functionality </t>
</list>
</t>
<t> This document also supports the case where not all LSRs are Timing-
capable/aware. It also supports the case where not all LER/LSR interfaces
are Timing-capable/aware.
</t>
</section>
<section anchor="Ack" title="Acknowledgements">
<t>The authors would like to thank Luca Martini, Ron Cohen, Yaakov Stein,
Tal Mizrahi, Stefano Ruffini, Peter Meyer and other members of IETF for
reviewing and providing feedback on this draft. </t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>There are no IANA requirements in this specification. </t>
</section>
</middle>
<back>
<references title="Normative References">
<reference anchor="IEEE-1588">
<front>
<title>IEEE Standard for a Precision Clock Synchronization Protocol
for Networked Measurement and Control Systems</title>
<author fullname="" initials="" surname="">
<organization>IEEE 1588-2008</organization>
</author>
</front>
</reference>
<?rfc include='reference.RFC.2119'?>
<?rfc include='reference.RFC.4720'?>
<?rfc include='reference.RFC.5884'?>
<?rfc include='reference.RFC.4448'?>
<?rfc include='reference.RFC.4447'?>
<?rfc include='reference.RFC.4389'?>
<?rfc include='reference.RFC.5085'?>
<?rfc include='reference.RFC.5880'?>
<?rfc include='reference.RFC.3985'?>
</references>
<references title="Informative References">
<?rfc include='reference.RFC.1195'?>
<?rfc include='reference.RFC.2328'?>
<?rfc include='reference.RFC.3784'?>
<?rfc include='reference.RFC.4970'?>
<?rfc include='reference.RFC.4971'?>
<?rfc include='reference.RFC.5340'?>
<?rfc include='reference.RFC.3630'?>
<?rfc include='reference.RFC.5329'?>
<?rfc include='reference.RFC.5305'?>
<?rfc include='reference.RFC.5120'?>
<?rfc include='reference.RFC.5905'?>
<?rfc include='reference.RFC.6391'?>
<?rfc include='reference.RFC.3246'?>
<?rfc include='reference.RFC.2697'?>
<?rfc include='reference.RFC.6790'?>
<reference anchor="ISO">
<front>
<title>Intermediate system to Intermediate system routeing
information exchange protocol for use in conjunction with the
Protocol for providing the Connectionless-mode Network Service (ISO
8473)</title>
<author fullname="" initials="" surname="">
<organization>ISO/IEC 10589:1992</organization>
</author>
</front>
</reference>
</references>
</back>
<section anchor="Appendix" title="Appendix">
<section anchor="Routing" title="Routing extensions for Timing-aware Routers ">
<t>MPLS-TE routing relies on extensions to OSPF <xref
target="RFC2328" /> <xref target="RFC5340" /> and IS-IS <xref
target="ISO" /> <xref target="RFC1195" /> in order to advertise Traffic
Engineering (TE) link information used for constraint-based routing.</t>
<t>Indeed, it is useful to advertise data plane TE router link
capabilities, such as the capability for a router to be Timing-aware. This
capability MUST then be taken into account during path computation to
prefer or even require links that advertise themselves as Timing-aware. In
this way the path can ensure the entry and exit points into the LERs
and, if desired, the links into the LSRs are able to perform port based
time-stamping thus minimizing their impact on the performance of the
slave clock.</t>
<t>extensions are required to OSPF and IS-IS in order to
advertise Timing-aware capabilities of a link. Such extensions are
outside the scope of this document; however such extension SHOULD be able
to signal the following information per Router Link:</t>
<t>
<list style="symbols">
<t>Capable of processing PTP, NTP or other Timing flows </t>
<t>Capable of performing Transparent Clock operation </t>
<t>Capable of performing Boundary Clock operation </t>
</list>
</t>
</section>
<section anchor="RSVP" title="Signaling Extensions for Creating Timing LSPs">
<t>RSVP-TE signaling MAY be used to setup the timing LSPs. When RSVP-TE is
used to setup Timing LSPs, some information that indicates that the LSP
is carrying Timing flows MUST be included in
the new Extensions to RSVP-TE: </t>
<t>The following information MAY also be included in the new Extensions to
RSVP-TE:
</t>
<t>
<list style="symbols">
<t> Offset from Bottom of Stack (BoS) to the start of the
Time-stamp field </t>
<t> Number of VLANs in case of PW encapsulation </t>
<t> Timestamp field Type </t>
<list style="symbols">
<t> Correction Field, Timestamp </t>
</list>
<t> Timestamp Field format </t>
<list style="symbols">
<t> 64-bit PTPv1, 80-bit PTPv2, 32-bit NTP, 64-bit NTP, 128-bit
NTP, etc. </t>
</list>
</list>
</t>
<t>Note that in case the above optional information is signaled with RSVP-TE
for a Timing LSP, all the Timing packets carried in that LSP must have
the same signaled characteristics. For example if Timestamp format is
signaled as 64-bit PTPv1, then all Timing packets must use 64-bit PTPv1
time-stamp. </t>
</section>
</section>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 15:48:38 |