< draft-pan-shared-mesh-protection-02.txt   draft-pan-shared-mesh-protection-03.txt >
IETF Ping Pan, Ed.
Internet Draft Rajan Rao
Biao Lu
(Infinera)
Luyuan Fang
(Cisco)
Andrew G. Malis
(Verizon)
Fatai Zhang
Sam Aldrin
(Huawei)
Fei Zhang
(ZTE)
Mohana Singamsetty
(Tellabs)
IETF Ping Pan Expires: January 31, 2012 October 31, 2011
Internet Draft Rajan Rao
Biao Lu
(Infinera)
Luyuan Fang
(Cisco)
Andy Malis
(Verizon)
Sam Aldrin
(Huawei)
Mohana Singamsetty
(Tellabs)
Expires: January 11, 2012 July 11, 2011 Supporting Shared Mesh Protection in MPLS-TP Networks
Supporting Shared Mesh Protection in MPLS-TP Networks draft-pan-shared-mesh-protection-03.txt
draft-pan-shared-mesh-protection-02.txt Status of this Memo
Status of this Memo This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79. This document may not be modified,
and derivative works of it may not be created, and it may not be
published except as an Internet-Draft.
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. This document may not be modified, provisions of BCP 78 and BCP 79. This document may not be modified,
and derivative works of it may not be created, and it may not be and derivative works of it may not be created, except to publish it
published except as an Internet-Draft. as an RFC and to translate it into languages other than English.
This Internet-Draft is submitted in full conformance with the This document may contain material from IETF Documents or IETF
provisions of BCP 78 and BCP 79. This document may not be modified, Contributions published or made publicly available before November
and derivative works of it may not be created, except to publish it 10, 2008. The person(s) controlling the copyright in some of this
as an RFC and to translate it into languages other than English. material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
This document may contain material from IETF Documents or IETF Without obtaining an adequate license from the person(s) controlling
Contributions published or made publicly available before November the copyright in such materials, this document may not be modified
10, 2008. The person(s) controlling the copyright in some of this outside the IETF Standards Process, and derivative works of it may
material may not have granted the IETF Trust the right to allow not be created outside the IETF Standards Process, except to format
modifications of such material outside the IETF Standards Process. it for publication as an RFC or to translate it into languages other
Without obtaining an adequate license from the person(s) controlling than English.
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on January 11, 2012. This Internet-Draft will expire on January 31, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with
respect to this document. respect to this document.
Abstract Abstract
Shared mesh protection is a common protection and recovery mechanism Shared mesh protection is a common protection and recovery mechanism
in transport networks, where multiple paths can share the same set in transport networks, where multiple paths can share the same set
of network resources for protection purposes. of network resources for protection purposes.
In the context of MPLS-TP, it has been explicitly requested as a In the context of MPLS-TP, it has been explicitly requested as a
part of the overall solution (Req. 67, 68 and 69 in RFC5654 [1]). part of the overall solution (Req. 67, 68 and 69 in RFC5654 [1]).
It's important to note that each MPLS-TP LSP may be associated with It's important to note that each MPLS-TP LSP may be associated with
transport network resources. In event of network failure, it may transport network resources. In event of network failure, it may
require explicit activation on the protecting paths before switching require explicit activation on the protecting paths before switching
user traffic over. user traffic over.
In this memo, we define a lightweight signaling mechanism for In this memo, we define a lightweight signaling mechanism for
protecting path activation in shared mesh protection-enabled MPLS-TP protecting path activation in shared mesh protection-enabled MPLS-TP
networks. networks.
Table of Contents Table of Contents
1. Introduction...................................................3 1. Introduction...................................................3
2. Background.....................................................4 2. Conventions used in this document..............................4
3. Problem Definition.............................................5 2.1. Acronyms..................................................4
4. Protection Switching...........................................6 2.2. Definitions and Terminology....Error! Bookmark not defined.
5. Activation Operation Overview..................................8 3. Solution Overview..............................................5
6. Protocol Definition............................................9 3.1. Protection Switching......................................7
6.1. Activation Messages.......................................9 3.2. Operation Overview........................................8
6.2. Message Encapsulation....................................10 4. SMP Message and Action Definition..............................9
6.3. Reliable Messaging.......................................11 4.1. Protection Switching Control (PSC) Logic..................9
6.4. Message Scoping..........................................12 4.2. SMP Action Types.........................................11
7. Processing Rules..............................................12 4.3. PSC Signal to SMP Action Mapping.........................12
7.1. Enable a protecting path.................................12 5. Protocol Definition...........................................13
7.2. Disable a protecting path................................13 5.1. Message Encapsulation....................................14
7.3. Get protecting path status...............................14 5.2. Reliable Messaging.......................................15
7.4. Acknowledgement with STATUS..............................14 5.3. Message Scoping..........................................15
7.5. Preemption...............................................14 6. Processing Rules..............................................16
8. Security Consideration........................................14 6.1. Enable a protecting path.................................16
9. IANA Considerations...........................................15 6.2. Disable a protecting path................................17
10. Normative References.........................................15 6.3. Get protecting path status...............................17
11. Acknowledgments..............................................15 6.4. Preemption...............................................17
7. Security Consideration........................................18
8. IANA Considerations...........................................18
9. Normative References..........................................18
10. Acknowledgments..............................................18
1. Introduction 1. Introduction
Shared mesh protection is a common traffic protection mechanism in Shared mesh protection (SMP) is a common traffic protection
transport networks, where multiple paths can share the same set of mechanism in transport networks, where multiple paths can share the
network resources for protection purposes. same set of network resources for protection purposes.
In the context of MPLS-TP, it has been explicitly requested as a In the context of MPLS-TP, it has been explicitly requested as a
part of the overall solution (Req. 67, 68 and 69 in RFC5654 [1]).Its part of the overall solution (Req. 67, 68 and 69 in RFC5654 [1]).Its
operation has been further outlined in Section 4.7.6 of MPLS-TP operation has been further outlined in Section 4.7.6 of MPLS-TP
Survivability Framework [2]. Survivability Framework [2].
It's important to note that each MPLS-TP LSP may be associated with It's important to note that each MPLS-TP LSP may be associated with
transport network resources. In event of network failure, it may transport network resources. In event of network failure, it may
require explicit activation on the protecting paths before switching require explicit activation on the protecting paths before switching
user traffic over. user traffic over.
In this memo, we define a lightweight signaling mechanism for In this memo, we define a lightweight signaling mechanism for
protecting path activation in shared mesh protection-enabled MPLS-TP protecting path activation in shared mesh protection-enabled MPLS-TP
networks. The framework version of the document has been presented networks.
in ITU-T SG15 Interim Meeting in May 2011, and is in-sync with the
on-going G.SMP work in ITU-T.
Here are the key design goals: Here are the key design goals:
1. Fast: The protocol is to activate the previously configured 1. Fast: The protocol is to activate the previously configured
protecting paths in a timely fashion, with minimal transport and protecting paths in a timely fashion, with minimal transport and
processing overhead. The goal is to support 50msec end-to-end processing overhead. The goal is to support 50msec end-to-end
traffic switch-over in large transport networks. traffic switch-over in large transport networks.
2. Reliable message delivery: Activation and deactivation operation 2. Reliable message delivery: Activation and deactivation operation
have serious impact on user traffic. This requires the protocol to have serious impact on user traffic. This requires the protocol to
adapt a low-overhead reliable messaging mechanism. The activation adapt a low-overhead reliable messaging mechanism. The activation
messages may either traverse through a "trusted" transport messages may either traverse through a "trusted" transport
channel, or require some level of built-in reliability mechanism. channel, or require some level of built-in reliability mechanism.
3. Modular: Depending on deployment scenarios, the signaling may need 3. Modular: Depending on deployment scenarios, the signaling may need
to support functions such as preemption, resource re-allocation to support functions such as preemption, resource re-allocation
and bi-directional activation in a modular fashion. and bi-directional activation in a modular fashion.
Here are some of the conventions used in this document. The key 2. Conventions used in this document
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 RFC-2119 [RFC2119].
2. Background Here are some of the conventions used in this document. 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 RFC-2119 [RFC2119].
Transport network protection can be typically categorized into three 2.1. Acronyms
types:
Cold Standby: In this type of protection, the nodes will only This draft uses the following acronyms:
negotiate and establish backup path after the detection of network
failure.
Hot Standby: The protecting paths are established prior to network SMP Shared Mesh Protection
failure. This is also known as "make-before-break". Upon the
detection of network failure, the edge nodes will switch data
traffic into pre-established backup path immediately.
Warm Standby: The nodes will negotiate and reserve protecting path LO Lockout of protection
prior to network failure. However, data forwarding path will not be DNR Do not revert
programmed. Upon the detection of network failure, the nodes will
send explicit messages to relevant nodes to "wake up" the protecting
path.
The activation signaling defined in this memo is to support warm FS Forced Switch
standby in the context of MPLS-TP.
Further, the activation procedure may be triggered using the failure SF Signal Fail
notification methods defined in MPLS-TP OAM specifications.
3. Problem Definition SD Signal Degrade
In this section, we describe the operation of shared mesh protection MS Manual Switch
in the context of MPLS-TP networks, and outline some of the relevant
definitions.
We refer to the figure below for illustration: NR No Request
----- B ------- C ---- WTR Wait-to-Restore
/ \
/ \
A D
\ /
\ /
==== E === F === G ===
/ \
/ \
H K
\ /
\ /
----- I ------- J ----
Working paths: X = {A, B, C, D}, Y = {H, I, J, K} EXER Exercise
Protecting paths: X' = {A, E, F, G, D}, Y' = {H, E, F, G, K} RR Reverse Request
The links between E, F and G are shared by both protecting paths. ACK Acknowledgement
All paths are established via MPLS-TP control plane prior to network
failure.
All paths are assumed to be bi-directional. An edge node is denoted NACK Negative Acknowledgement
as a headend or tailend for a particular path in accordance to the
path setup direction.
Initially, the operators setup both working and protecting paths. G-ACh Generic Associated Channel
During setup, the operators specify the network resources for each
path.
The working path X and Y will configure the appropriate resources on MPLS-TP Transport Profile for MPLS
the intermediate nodes, however, the protecting paths, X' and Y'
will reserve the resources on the nodes, but won't occupy them.
Depending on network planning requirements (such as SRLG), X' and Y' 3. Solution Overview
may share the same set of resources on node E, F and G. The resource
assignment is a part of the control-plane CAC operation taking place
on each node.
At some time, link B-C is cut. Node A will detect the outage, and In this section, we describe the SMP operation in the context of
initiate activation messages to bring up the protecting path X' The MPLS-TP networks, and outline some of the relevant definitions.
intermediate nodes, E, F and G will program the switch fabric and
configure the appropriate resources. Upon the completion of the
activation, A will switch the user traffic to X'
The operation may have extra caveat: We refer to the figure below for illustration:
1. Preemption: Protecting paths X' and Y' may share the same ----- B ------- C ----
resources on node E, F or G due to resource constraints. Y' has / \
higher priority than that of X' In the previous example, X' is / \
up and running. When there is a link outage on I-J, H can A D
activate its protecting path Y' On E, F or G, Y' can take over \ /
the resources from X' for its own traffic. The behavior is \ /
acceptable with the condition that A should be notified about ==== E === F === G ===
the preemption action. / \
/ \
H K
\ /
\ /
----- I ------- J ----
2. Over-subscription (1:N): A unit of network resource may be Working paths: X = {A, B, C, D}, Y = {H, I, J, K}
reserved by one or multiple protecting paths. In the example,
the network resources on E-F and F-G are shared by two
protecting paths, X' and Y' In deployment, the over-
subscription ratio is an important factor on network resource
utilization.
4. Protection Switching Protecting paths: X' = {A, E, F, G, D}, Y' = {H, E, F, G, K}
The entire activation and switch-over operation need to be within The links between E, F and G are shared by both protecting paths.
the range of milliseconds to meet customer's expectation [1]. This All paths are established via MPLS-TP control plane prior to network
section illustrates how this may be achieved on MPLS-TP-enabled failure.
transport switches. Note that this is for illustration of protection
switching operation, not mandating the implementation itself.
The diagram below illustrates the operation. All paths are assumed to be bi-directional. An edge node is denoted
as a headend or tailend for a particular path in accordance to the
path setup direction.
+---------------+ Initially, the operators setup both working and protecting paths.
Control | MPLS-TP | Control During setup, the operators specify the network resources for each
<=== Signaling ====| Control Plane |=== Signaling ===> path.
+---------------+
/ \
/ \ (MPLS label assignment)
/ \
/ \
+-------+ +------+ +-------+
Activation |Line | |Switch| |Line | Activation
<=== Messages ===|Module |===|Fabric|===|Module |=== Messages ===>
+-------+ +------+ +-------+
Typical MPLS-TP user flows (or, LSP's) are bi-directional, and setup The working path X and Y will configure the appropriate resources on
as co-routed or associated tunnels, with a MPLS label for each of the intermediate nodes, however, the protecting paths, X' and Y',
the upstream and downstream traffic. On this particular type of will reserve the resources on the nodes, but won't occupy them.
transport switch, the control-plane can download the labels to the
line modules. Subsequently, the line module will maintain a label
lookup table on all working and protecting paths.
Upon the detection of network failure, the headend nodes will Depending on network planning requirements (such as SRLG), X' and Y'
transmit activation messages along the MPLS LSP's. When receiving may share the same set of resources on node E, F and G. The resource
the messages, the line modules can locate the associated protecting assignment is a part of the control-plane CAC operation taking place
path from the label lookup table, and perform activation procedure on each node.
by programming the switching fabric directly. Upon its success, the
line module will swap the label, and forward the activation messages
to the next hop.
In summary, the activation procedure involves efficient path lookup At some time, link B-C is cut. Node A will detect the outage, and
and switch fabric re-programming. initiate activation messages to bring up the protecting path X'. The
intermediate nodes, E, F and G will program the switch fabric and
configure the appropriate resources. Upon the completion of the
activation, A will switch the user traffic to X'.
To achieve the tight end-to-end switch-over budget, it's possible to The operation may have extra caveat:
implement the entire activation procedure with hardware-assistance
(such as in FPGA or ASIC).
The activation messages are encapsulated with a MPLS-TP Generic 1. Preemption: Protecting paths X' and Y' may share the same
Associated Channel Header (GACH) [3]. Detailed message encoding is resources on node E, F or G due to resource constraints. Y' has
explained in Section 6. higher priority than that of X'. In the previous example, X' is
up and running. When there is a link outage on I-J, H can
activate its protecting path Y'. On E, F or G, Y' can take over
the resources from X' for its own traffic. The behavior is
acceptable with the condition that A should be notified about
the preemption action.
5. Activation Operation Overview 2. Over-subscription (1:N): A unit of network resource may be
reserved by one or multiple protecting paths. In the example,
the network resources on E-F and F-G are shared by two
protecting paths, X' and Y'. In deployment, the over-
subscription ratio is an important factor on network resource
utilization.
To achieve high performance, the activation procedure is designed to 3.1. Protection Switching
be simple and straightforward on the network nodes.
In this section, we describe the activation procedure using the same The entire activation and switch-over operation need to be within
figure shown before: the range of milliseconds to meet customer's expectation [1]. This
section illustrates how this may be achieved on MPLS-TP-enabled
transport switches. Note that this is for illustration of protection
switching operation, not mandating the implementation itself.
----- B ------- C ---- The diagram below illustrates the operation.
/ \
/ \
A D
\ /
\ /
==== E === F === G ===
/ \
/ \
H K
\ /
\ /
----- I ------- J ----
Working paths: X = {A, B, C, D}, Y = {H, I, J, K} +---------------+
Control | MPLS-TP | Control
<=== Signaling ====| Control Plane |=== Signaling ===>
+---------------+
/ \
/ \ (MPLS label assignment)
/ \
/ \
+-------+ +------+ +-------+
Activation |Line | |Switch| |Line | Activation
<=== Messages ===|Module |===|Fabric|===|Module |=== Messages ===>
+-------+ +------+ +-------+
Protecting paths: X' = {A, E, F, G, D}, Y' = {H, E, F, G, K} Typical MPLS-TP user flows (or, LSP's) are bi-directional, and setup
as co-routed or associated tunnels, with a MPLS label for each of
the upstream and downstream traffic. On this particular type of
transport switch, the control-plane can download the labels to the
line modules. Subsequently, the line module will maintain a label
lookup table on all working and protecting paths.
Upon the detection of working path failure, the edge nodes, A, D, H Upon the detection of network failure, the headend nodes will
and K may trigger the activation messages to activate the protecting transmit activation messages along the MPLS LSP's. When receiving
paths, and redirect user traffic immediately after. the messages, the line modules can locate the associated protecting
path from the label lookup table, and perform activation procedure
by programming the switching fabric directly. Upon its success, the
line module will swap the label, and forward the activation messages
to the next hop.
We assume that there is a consistent definition of priority levels In summary, the activation procedure involves efficient path lookup
among the paths throughout the network. At activation time, each and switch fabric re-programming.
node may rely on the priority levels to potentially preempt other
paths.
When the nodes detect path preemption on a particular node, they To achieve the tight end-to-end switch-over budget, it's possible to
should inform all relevant nodes to free the resources. implement the entire activation procedure with hardware-assistance
(such as in FPGA or ASIC).
To optimize traffic protection and resource management, each headend The activation messages are encapsulated with a MPLS-TP Generic
may periodically poll the protecting paths about resource Associated Channel Header (GACH) [3]. Detailed message encoding is
availability. The intermediate nodes have the option to inform the explained in Section 6.
current resource utilization. This procedure may be conducted by
other OAM mechanisms.
Note that, upon the detection of a working path failure, both 3.2. Operation Overview
headend and tailend may initiate the activation simultaneously
(known as bi-directional activation). This may expedite the
activation time. However, both headend and tailend nodes need to
coordinate the order of protecting paths for activation, since there
may be multiple protecting paths for each working path (i.e., 1:N
protection). For clarity, we will describe the operation from
headend in the memo. The tailend operation will be available in the
subsequent revisions.
6. Protocol Definition To achieve high performance, the activation procedure is designed to
be simple and straightforward on the network nodes.
6.1. Activation Messages In this section, we describe the activation procedure using the same
figure shown before:
The activation requires the following messages: ----- B ------- C ----
/ \
/ \
A D
\ /
\ /
==== E === F === G ===
/ \
/ \
H K
\ /
\ /
----- I ------- J ----
o ENABLE: this is initiated by the headend nodes to activate a Working paths: X = {A, B, C, D}, Y = {H, I, J, K}
protecting path
o DISABLE: this is initiated by the headend nodes to disable a Protecting paths: X' = {A, E, F, G, D}, Y' = {H, E, F, G, K}
protecting path and free the associated network resources
o GET: this is initiated by the headend to gather resource Upon the detection of working path failure, the edge nodes, A, D, H
availability information on a particular protecting path and K may trigger the activation messages to activate the protecting
paths, and redirect user traffic immediately after.
o NOTIFY: this is initiated by the intermediate nodes and terminate We assume that there is a consistent definition of priority levels
on the headend nodes to report preemption or protection failure among the paths throughout the network. At activation time, each
conditions node may rely on the priority levels to potentially preempt other
paths.
o STATUS: this is the acknowledgement message for ENABLE, DISABLE, When the nodes detect path preemption on a particular node, they
GET, and NOTIFY messages, and contains the relevant status should inform all relevant nodes to free the resources by sending
information out notification messages. Upon the reception of notification
messages, the relevant nodes will send out de-activation messages.
Each activation message has the following format: To optimize traffic protection and resource management, each headend
may periodically poll the protecting paths about resource
availability. The intermediate nodes have the option to inform the
current resource utilization.
0 1 2 3 Note that, upon the detection of a working path failure, both
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 headend and tailend may initiate the activation simultaneously
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (known as bi-directional activation). This may expedite the
|Version| Type | Reserved | Seq | activation time. However, both headend and tailend nodes need to
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ coordinate the order of protecting paths for activation, since there
| Additional Info | may be multiple protecting paths for each working path (i.e., 1:N
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ protection). For clarity, we will describe the operation from
headend in the memo. The tailend operation will be available in the
subsequent revisions.
o Version: 1 4. SMP Message and Action Definition
o Type: 4.1. Protection Switching Control (PSC) Logic
o ENABLE 1 Protection switching processes the local triggers described in
requirements 74-79 of [1] together with inputs received from the
tailend node. Based on these inputs the headend will take SMP
actions, and transmit different protocol messages.
o DISABLE 2 Here, we reuse the switching control logic described in MPLS Linear
Protection [6], with the following logical decomposition at headend
node:
o GET 3 Server Indication Control Plane Indication
-----------------+ +-------------
Operator Command | | OAM Indication
----------------+ | | +---------------
| | | |
V V V V
+---------------+ +-------+
| Local Request |<--------| WTR |
| logic |WTR Exps | Timer |
+---------------+ +-------+
| ^
Highest local|request |
V | Start/Stop
+-----------------+ |
Remote PSC | PSC Control |------------+
------------>| logic |
Request +-----------------+
|
| Action +------------+
+---------------->| Message |
| Generator |
+------------+
|
Output PSC | Message
V
o STATUS 4 The Local Request logic unit accepts the triggers from the OAM,
external operator commands, from the local control plane (when
present), and the Wait-to-Restore timer. By considering all of these
local request sources it determines the highest priority local
request. This high-priority request is passed to the PSC Control
logic, that will cross-check this local request with the information
received from the tailend node. The PSC Control logic uses this
input to determine what actions need to be taken, e.g. local actions
at the headend, or what message should be sent to the tailend node.
o NOTIFY 5 Specifically, the signals could be the following:
o Reserved: This field is reserved for future use o Clear - if the operator cancels an active local administrative
command, i.e. LO/FS/MS.
o Seq: This uniquely identifies a particular message. This field is o Lockout of Protection (LO) - if the operator requested to prevent
defined to support reliable message delivery switching data traffic to the protection path, for any purpose.
o Additional Info: the message-specific data o Signal Fail (SF) - if any of the Server Layer, Control plane, or
OAM indications signaled a failure condition on either the
protection path or one of the working paths.
6.2. Message Encapsulation o Signal Degrade (SD) - if any of the Server Layer, Control plane,
or OAM indications signaled a degraded transmission condition on
either the protection path or one of the working paths.
Activation messages use MPLS labels to identify the paths. Further, o Forced Switch (FS) - if the operator requested that traffic be
the messages are encapsulated in GAL/GACH: switched from one of the working paths to the protection path,
0 1 2 3 o Manual Switch (MS) - if the operator requested that traffic is
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 switched from the working path to the protection path. This is
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ only relevant if there is no currently active fault condition or
| MPLS Label stack | Operator command.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| GAL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Reserved | Activation Channel Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Activation Message Payload |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o GAL is described in [3] o WTR Expires - generated by the WTR timer completing its period.
o Activation Channel Type is the GACH channel number assigned to If none of the input sources have generated any input then the
the protocol. This uniquely identifies the activation messages. request logic should generate a No Request (NR) request.
Specifically, the messages have the following message format: In addition to the local requests, the PSC Control Logic SHALL
accept PSC messages from the tailend node of the transport path.
Remote messages indicate the status of the transport path from the
viewpoint of the tailend nodes. The remote requests may include
remote LO, SF, SD, FS, MS, WTR and NR.
0 1 2 3 Much of the signal definition is further described in ITU G.709 and
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 G.873.1.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label | Exp |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label (13) | Exp |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Reserved | Activation Channel Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ver(1)| Type | Status Code | Seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
For STATUS and NOTIFY messages, the Status Code has the following 4.2. SMP Action Types
encoding value and definition:
o 0-19: OK As shown in the previous section, SMP requires four actions types
throughout the operation:
. 1: end-to-end ack o ACTIVATION: This action is triggered by the head-end (or tail-
end) to activate a protecting connection. The intermediate nodes
need to propagate this towards the other end of the protecting
connection.
o 20-39: message processing errors o DE-ACTIVATION: This action is used to de-activate a particular
protecting connection. This can be originated by one end of a
protecting connection (i.e. head-end, or tail-end). The
intermediate nodes need to propagate this towards the other end
of the protecting connection.
. 20: no such path o QUERY: This action is used when an operator decides to query a
particular protecting connection.
o 40-59: processing issues: o NOTIFICATION: SMP operation requires the coordination between
nodes. The coordination takes places in two occasions:
. 40: no more resource for the path (1) The activation/de-activation is initiated at the headend
(tailend) nodes. To avoid potential mis-connection, the user
traffic cannot be switched on to the protecting connection until
the reception of an acknowledgement from the tailend (headend)
nodes.
. 41: preempted by another path (2) If an intermediate node cannot process the activation
requests, due to lack of resources or preemption levels, it needs
to report the failure to the request originators.
. 42: system failure It is conceivable that this message can be used to report the
location of the fault, with respect to a protecting connection so
that the head-end may use this information as one of the criteria
for restoring the working transport entity. The fault location
could be used by the head-end node to select among a list of
possible protecting connections associated with the working
connection (i.e. avoid the faulty location), or to determine that
none of the provisioned protecting connections is usable at the
time the failure is reported and then fallback to restoring the
working connection.
o 60-79: informative data: 4.3. PSC Signal to SMP Action Mapping
. 60: shared resource has been taken by other paths In SMP operation, there is the action-signal mapping:
Further, for preemption notification, we may consider of using the Activation action: FS, SF, SD, MS,
existing MPLS-TP OAM messaging. More details will be available in
the future revisions.
6.3. Reliable Messaging De-activation action: NR
The activation procedure adapts a simple two-way handshake reliable Query action: EXER
messaging.
Each node maintains a sequence number generator. Each new sending Notification action: ACK, NACK (see next section)
message will have a new sequence number. After sending a message,
the node will wait for a response with the same sequence number.
Specifically, upon the generation of ENABLE, DISABLE, GET and NOTIFY 5. Protocol Definition
messages, the message sender expects to receive a STATUS in reply
with same sequence number.
If a sender is not getting the reply (STATUS) within a time Each SMP message has the following format:
interval, it will retransmit the same message with a new sequence
number, and starts to wait again. After multiple retries (by
default, 3), the sender will declare activation failure, and alarm
the operators for further service.
6.4. Message Scoping 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver|Request|Rsv|R| Reserved | Status | Seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Activation signaling uses MPLS label TTL to control how far the o Version: 1
message would traverse. Here are the processing rules on each
intermediate node:
o On receive, if the message has label TTL = 0, the node must drop o Request:
the packet without further processing
o The receiving node must always decrement the label TTL value by o 1111b: Lockout of Protection (LO)
one. If TTL = 0 after the decrement, the node must process the
message. Otherwise, the node must forward the message without
further processing (unless, of course, the node is headend or
tailend)
o On transmission, the node will adjust the TTL value. For hop-by- o 1110b: Forced Switch (FS). This triggers activation
hop messages, TTL = 1. Otherwise, TTL = 0xFF, by default.
7. Processing Rules o 1100b: Signal Fail (SF). This triggers activation
7.1. Enable a protecting path o 1011b: Acknowledgement (ACK). This is to acknowledge a
successful activation/de-activation request
Upon the detection of network failure on a working path, the headend o 1010b: Signal Degrade (SD). This triggers activation
node identifies the corresponding MPLS-TP label and initiates the
protection switching by sending an ENABLE message.
ENABLE messages always use MPLS label TTL = 1 to force hop-by-hop o 1001b: Negative Acknowledgement (NACK). This is to report
process. Upon reception, a next-hop node will locate the failure in activation/de-activation process.
corresponding path and activate the path.
If the Enable message is received on an intermediate node, due to o 1000b: Manual Switch (MS). This triggers activation
label TTL expiry, the message is processed and then propagated to
the next hop of the MPLS TP LSP, by setting the MPLS TP label TTL =
1. The intermediate node may NOT respond back to the headend node
with STATUS message.
The headend node will declare the success of the activation only o 0110b: Wait-to-Restore (WTR). Used for revertive switching
when it gets a positive reply from the tailend node. This requires
that the tailend nodes must reply STATUS messages to the headend
nodes in all cases.
If the headend node is not receiving the acknowledgement within a o 0100b: Exercise (EXER). Triggers SMP query
time internal, it will retransmit another ENABLE message with a
different Seq number.
If the headend node is not receiving a positive reply within a o 0001b: Do Not Revert (DNR). Used for revertive switching
longer time interval, it will declare activation failure.
If an intermediate node cannot activate a protecting path, it will o 0000b: No Request (NR). This triggers de-activation
reply an NOTIFY message to report failure. When the headend node
receives a NOTIFY message for failure, it must initiate DISABLE
messages to clean up networks resources on all the relevant nodes on
the path.
7.2. Disable a protecting path o R: Revertive field
The headend removes the network resources on a path by sending o 0: non-revertive mode
DISABLE messages.
In the message, the MPLS label represents the path to be de- o 1: revertive mode
activated. The MPLS TTL is one to force hop-by-hop processing.
Upon reception, a node will de-activate the path, by freeing the o Rsv/Reserved: This field is reserved for future use
resources from the data-plane. o Status: this informs the status of the AMP activation. This field
is only relevant with ACK and NACK requests. Specifically, the
Status Code has the following encoding value and definition:
As a part of the clean-up procedure, each DISABLE message must o 1: end-to-end ack
traverse through and be processed on all the nodes of the
corresponding path. When the DISABLE message reaches to the tailend
node, the tailend is required to reply with a STATUS message to the
headend.
The de-activation process is complete when the headend receives the o 2: hop-to-hop ack
corresponding STATUS message from the tailend.
7.3. Get protecting path status o 3: no such path
The operators have the option to trigger GET messages from the o 4: no more resource for the path
headend to check on the protecting path periodically or on-demand.
The process procedure on each node is very similar to that of ENABLE
messages on the intermediate nodes, except the GET messages should
not trigger any network resource re-programming.
Upon reception, the node will check the availability of resources. o 5: preempted by another path
If the resource is no longer available, the node will reply a NOTIFY o 6: system failure
with error conditions.
7.4. Acknowledgement with STATUS o 7: shared resource has been taken by other paths
The STATUS message is the acknowledgement packet to all messages, o Seq: This uniquely identifies a particular message. This field is
and may be generated by any node in the network. defined to support reliable message delivery
Each STATUS message must use the same sequence number as the Note that the message format and naming convention are very similar
corresponding message (ENABLE, DISABLE, GET and NOTIFY). to that of MPLS linear protection [6] and ITU G.873.1.
When replying to headend, the tailend nodes must originate STATUS 5.1. Message Encapsulation
messages with a large MPLS TTL value (0xff, by default).
7.5. Preemption SMP messages use MPLS labels to identify the paths. Further, the
messages are encapsulated in GAL/GACH:
The preemption operation typically takes place when processing an 0 1 2 3
ENABLE message. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MPLS Label stack |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| GAL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Reserved | Activation Channel Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Activation Message Payload |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
If the activating network resources have been used by another path o GAL is described in [3]
and carrying user traffic, the node needs to compare the priority o Activation Channel Type is the GACH channel number assigned to
levels. the protocol. This uniquely identifies the activation messages.
If the existing path has higher priority, the node needs to reject Specifically, the messages have the following message format:
the ENABLE message by sending a STATUS message to the corresponding
headend to inform the unavailability of network resources.
If the new path has higher priority, the node will reallocate the 0 1 2 3
resource to the new path, and send an NOTIFY message to old path's 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
headend node to inform about the preemption. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label | Exp |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label (13) | Exp |S| TTL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 1|Version| Reserved | Activation Channel Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver|Request|Rsv|R| Reserved | Status | Seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8. Security Consideration 5.2. Reliable Messaging
The protection activation takes place in a controlled networking The activation procedure adapts a simple two-way handshake reliable
environment. Nevertheless, it is expected that the edge nodes will messaging.
encapsulate and transport external traffic into separated tunnels,
and the intermediate nodes will never have to process them.
9. IANA Considerations Each node maintains a sequence number generator. Each new sending
message will have a new sequence number. After sending a message,
the node will wait for a response with the same sequence number.
Activation messages are encapsulated in MPLS-TP with a specific GACH Specifically, upon the generation of activation, de-activation,
channel type that needs to be assigned by IANA. query and notification messages, the message sender expects to
receive acknowledgement in reply with same sequence number.
10. Normative References If a sender is not getting the reply within a time interval, it will
retransmit the same message with a new sequence number, and starts
to wait again. After multiple retries (by default, 3), the sender
will declare activation failure, and alarm the operators for further
service.
[1] RFC 5654: Requirements of an MPLS Transport Profile, B. Niven- 5.3. Message Scoping
Jenkins, D. Brungard, M. Betts, N. Sprecher, S. Ueno,
September 2009
[2] IETF draft, Multiprotocol Label Switching Transport Profile Activation signaling uses MPLS label TTL to control how far the
Survivability Framework (draft-ietf-mpls-tp-survive-fwk- message would traverse. Here are the processing rules on each
06.txt), N. Sprecher, A. Farrel, June 2010 intermediate node:
[3] RFC5586 - Vigoureux,, M., Bocci, M., Swallow, G., Aggarwal, o On receive, if the message has label TTL = 0, the node must drop
R., and D. Ward, "MPLS Generic Associated Channel", May 2009. the packet without further processing
[4] Bradner, S., "Key words for use in RFCs to Indicate o The receiving node must always decrement the label TTL value by
Requirement Levels", BCP 14, RFC 2119, March 1997. one. If TTL = 0 after the decrement, the node must process the
message. Otherwise, the node must forward the message without
further processing (unless, of course, the node is headend or
tailend)
[5] Crocker, D. and Overell, P.(Editors), "Augmented BNF for o On transmission, the node will adjust the TTL value. For hop-by-
Syntax Specifications: ABNF", RFC 2234, Internet Mail hop messages, TTL = 1. Otherwise, TTL = 0xFF, by default.
Consortium and Demon Internet Ltd., November 1997.
11. Acknowledgments 6. Processing Rules
Authors like to thank Eric Osborne, Lou Berger, Nabil Bitar and 6.1. Enable a protecting path
Deborah Brungard for detailed feedback on the earlier work, and the
guidance and recommendation for this proposal.
We also thank Maneesh Jain, Mohit Misra, Yalin Wang, Ted Sprague, Upon the detection of network failure (SF/SD/FS) on a working path,
Ann Gui and Tony Jorgenson for discussion on network operation, the headend node identifies the corresponding MPLS-TP label and
feasibility and implementation methodology. initiates the protection switching by sending an activation message.
During ITU-T SG15 Interim meeting in May 2011, we have had long The activation messages always use MPLS label TTL = 1 to force hop-
discussion with the G.SMP contributors, in particular Fatai Zhang, by-hop process. Upon reception, a next-hop node will locate the
Bin Lu, Maarten Vissers and Jeong-dong Ryoo. We thank their feedback corresponding path and activate the path.
and corrections.
Authors' Addresses If the activation message is received on an intermediate node, due
to label TTL expiry, the message is processed and then propagated to
the next hop of the MPLS TP LSP, by setting the MPLS TP label TTL =
1.
Ping Pan The headend node will declare the success of the activation only
Email: ppan@infinera.com when it gets a positive reply from the tailend node. This requires
that the tailend nodes must reply the messages with ACK to the
headend nodes in all cases.
Rajan Rao If the headend node is not receiving the acknowledgement within a
Email: rrao@infinera.com time internal, it will retransmit another activation message with a
different Seq number.
Biao Lu If the headend node is not receiving a positive reply within a
Email: blu@infinera.com longer time interval, it will declare activation failure.
Luyuan Fang If an intermediate node cannot activate a protecting path, it will
Email: lufang@cisco.com reply a message with NACK to report failure. When the headend node
receives the message for failure, it must initiate the de-activation
messages to clean up networks resources on all the relevant nodes on
the path.
Andy Malis 6.2. Disable a protecting path
Email: andrew.g.malis@verizon.com
Sam Aldrin The headend removes the network resources on a path by sending the
Email: sam.aldrin@huawei.com de-activation messages.
Sri Mohana Satya Srinivas Singamsetty In the message, the MPLS label represents the path to be de-
Email: SriMohanS@Tellabs.com activated. The MPLS TTL is one to force hop-by-hop processing.
Upon reception, a node will de-activate the path, by freeing the
resources from the data-plane.
As a part of the clean-up procedure, each de-activation message must
traverse through and be processed on all the nodes of the
corresponding path. When the de-activation message reaches to the
tailend node, the tailend is required to reply with an
acknowledgement message to the headend.
The de-activation process is complete when the headend receives the
corresponding acknowledgement message from the tailend.
6.3. Get protecting path status
The operators have the option to trigger the query messages from the
headend to check on the protecting path periodically or on-demand.
The process procedure on each node is very similar to that of the
activation messages on the intermediate nodes, except the query
messages should not trigger any network resource re-programming.
Upon reception, the node will check the availability of resources.
If the resource is no longer available, the node will reply an NACK
with error conditions.
6.4. Preemption
The preemption operation typically takes place when processing an
activation message.
If the activating network resources have been used by another path
and carrying user traffic, the node needs to compare the priority
levels.
If the existing path has higher priority, the node needs to reject
the activation request by sending an ACK to the corresponding
headend to inform the unavailability of network resources.
If the new path has higher priority, the node will reallocate the
resource to the new path, and send an ACK to old path's headend node
to inform about the preemption.
7. Security Consideration
The protection activation takes place in a controlled networking
environment. Nevertheless, it is expected that the edge nodes will
encapsulate and transport external traffic into separated tunnels,
and the intermediate nodes will never have to process them.
8. IANA Considerations
Activation messages are encapsulated in MPLS-TP with a specific GACH
channel type that needs to be assigned by IANA.
9. Normative References
[1] RFC 5654: Requirements of an MPLS Transport Profile, B. Niven-
Jenkins, D. Brungard, M. Betts, N. Sprecher, S. Ueno,
September 2009
[2] IETF draft, Multiprotocol Label Switching Transport Profile
Survivability Framework (draft-ietf-mpls-tp-survive-fwk-
06.txt), N. Sprecher, A. Farrel, June 2010
[3] RFC5586 - Vigoureux,, M., Bocci, M., Swallow, G., Aggarwal,
R., and D. Ward, "MPLS Generic Associated Channel", May 2009.
[4] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[5] Crocker, D. and Overell, P.(Editors), "Augmented BNF for
Syntax Specifications: ABNF", RFC 2234, Internet Mail
Consortium and Demon Internet Ltd., November 1997.
[6] IETF draft, MPLS-TP Linear Protection, (draft-ietf-mpls-tp-
linear-protection-09.txt), Bryant, et al.
10. Acknowledgments
Authors like to thank Eric Osborne, Lou Berger, Nabil Bitar and
Deborah Brungard for detailed feedback on the earlier work, and the
guidance and recommendation for this proposal.
We also thank Maneesh Jain, Mohit Misra, Yalin Wang, Ted Sprague,
Ann Gui and Tony Jorgenson for discussion on network operation,
feasibility and implementation methodology.
During ITU-T SG15 Interim meeting in May 2011, we have had long
discussion with the G.SMP contributors, in particular Fatai Zhang,
Bin Lu, Maarten Vissers and Jeong-dong Ryoo. We thank their feedback
and corrections.
Authors' Addresses
Ping Pan
Email: ppan@infinera.com
Rajan Rao
Email: rrao@infinera.com
Biao Lu
Email: blu@infinera.com
Luyuan Fang
Email: lufang@cisco.com
Andrew G. Malis
Email: andrew.g.malis@verizon.com
Fatai Zhang
Email: zhangfatai@huawei.com
Sam Aldrin
Email: sam.aldrin@huawei.com
Fei Zhang
Email: zhang.fei3@zte.com.cn
Sri Mohana Satya Srinivas Singamsetty
Email: SriMohanS@Tellabs.com
 End of changes. 176 change blocks. 
505 lines changed or deleted 524 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/