VCAT/LCAS GMPLS: Operating Virtual Concatenation (VCAT) and the Link Capacity Adjustment Scheme (LCAS) with Generalized Multi-Protocol Label Switching (GMPLS)
How GMPLS signaling sets up and resizes virtually concatenated optical and SONET/SDH channel groups, including diversely routed ones.
Bernstein, G., Ed., Caviglia, D., Rabbat, R., and H. van Helvoort, "Operating Virtual Concatenation (VCAT) and the Link Capacity Adjustment Scheme (LCAS) with Generalized Multi-Protocol Label Switching (GMPLS)", RFC 6344, DOI 10.17487/RFC6344, August 2011, <https://www.rfc-editor.org/info/rfc6344>.
@misc{rfc6344,
series = {Request for Comments},
number = 6344,
howpublished = {RFC 6344},
publisher = {RFC Editor},
doi = {10.17487/RFC6344},
url = {https://www.rfc-editor.org/info/rfc6344},
author = {G. Bernstein and D. Caviglia and R. Rabbat and H. van Helvoort},
title = {{Operating Virtual Concatenation (VCAT) and the Link Capacity Adjustment Scheme (LCAS) with Generalized Multi-Protocol Label Switching (GMPLS)}},
pagetotal = 21,
year = 2011,
month = aug,
} RFC text
Contents
Internet Engineering Task Force (IETF) G. Bernstein, Ed.
Request for Comments: 6344 Grotto Networking
Updates: 4606 D. Caviglia
Category: Standards Track Ericsson
ISSN: 2070-1721 R. Rabbat
Google
H. van Helvoort
Huawei
August 2011
Operating Virtual Concatenation (VCAT) and
the Link Capacity Adjustment Scheme (LCAS)
with Generalized Multi-Protocol Label Switching (GMPLS)
Abstract
This document describes requirements for, and the use of, the
Generalized Multi-Protocol Label Switching (GMPLS) control plane in
support of the Virtual Concatenation (VCAT) layer 1 inverse
multiplexing data plane mechanism and its companion Link Capacity
Adjustment Scheme (LCAS). LCAS can be used for hitless dynamic
resizing of the inverse multiplex group. These techniques apply to
Optical Transport Network (OTN), Synchronous Optical Network (SONET),
Synchronous Digital Hierarchy (SDH), and Plesiochronous Digital
Hierarchy (PDH) signals. This document updates RFC 4606 by making
modifications to the procedures for supporting virtual concatenation.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6344.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................3
1.1. Conventions Used in This Document ..........................4
2. VCAT/LCAS Scenarios and Specific Requirements ...................4
2.1. VCAT/LCAS Interface Capabilities ...........................4
2.2. Member Signal Configuration Scenarios ......................5
2.3. VCAT Operation with or without LCAS ........................6
2.4. VCGs and VCG Members .......................................7
3. VCAT Data and Control Plane Concepts ............................7
4. VCGs Composed of a Single Member Set (One LSP) ..................8
4.1. One-Shot VCG Setup .........................................8
4.2. Incremental VCG Setup ......................................9
4.3. Procedure for VCG Reduction by Removing a Member ...........9
4.4. Removing Multiple VCG Members in One Shot .................10
4.5. Teardown of Whole VCG .....................................10
5. VCGs Composed of Multiple Member Sets (Multiple LSPs) ..........10
5.1. Signaled VCG Service Layer Information ....................11
5.2. CALL_ATTRIBUTES Object VCAT TLV ...........................12
5.3. Procedures for Multiple Member Sets .......................14
5.3.1. Setting Up a New VCAT Call and VCG Simultaneously ..14
5.3.2. Setting Up a VCAT Call and LSPs without a VCG ......14
5.3.3. Associating an Existing VCAT Call with a New VCG ...15
5.3.4. Removing the Association between a Call and VCG ....15
5.3.5. VCG Bandwidth Modification .........................15
6. Error Conditions and Codes .....................................16
7. IANA Considerations ............................................17
7.1. RSVP Call Attribute TLV ...................................17
7.2. RSVP Error Codes and Error Values .........................17
7.3. VCAT Elementary Signal Registry ...........................18
7.4. VCAT VCG Operation Actions ................................18
8. Security Considerations ........................................18
9. Contributors ...................................................19
10. Acknowledgments ...............................................19
11. References ....................................................19
11.1. Normative References .....................................19
11.2. Informative References ...................................20
1. Introduction
The Generalized Multi-Protocol Label Switching (GMPLS) suite of
protocols allows for the automated control of different switching
technologies, including the Synchronous Optical Network (SONET),
Synchronous Digital Hierarchy (SDH), Optical Transport Network (OTN),
and Plesiochronous Digital Hierarchy (PDH). This document updates
the procedures described in [RFC4606] to allow supporting additional
applications of the Virtual Concatenation (VCAT) layer 1 inverse
multiplexing mechanism that has been standardized for SONET, SDH,
OTN, and PDH [ANSI-T1.105] [ITU-T-G.707] [ITU-T-G.709] [ITU-T-G.7043]
technologies, along with its companion Link Capacity Adjustment
Scheme (LCAS) [ITU-T-G.7042].
VCAT is a time-division multiplexing (TDM)-oriented byte striping
inverse multiplexing method that works with a wide range of existing
and emerging TDM framed signals, including very-high-bit-rate OTN and
SDH/SONET signals. VCAT enables the selection of an optimal signal
server bandwidth (size) utilizing a group of server signals and
provides for efficient use of bandwidth in a mesh network. When
combined with LCAS, hitless dynamic resizing of bandwidth and fast
graceful degradation in the presence of network faults can be
supported. To take full advantage of VCAT/LCAS functionality,
additional extensions to GMPLS signaling are needed that enable the
setup of diversely routed signals that are members of the same VCAT
group. Note that the scope of this document is limited to scenarios
where all member signals of a VCAT group are controlled using
mechanisms defined in this document and related RFCs. Scenarios
where a subset of member signals are controlled by a management plane
or a proprietary control plane are outside the scope of this
document.
1.1. 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].
2. VCAT/LCAS Scenarios and Specific Requirements
There are a number of specific requirements for the support of
VCAT/LCAS in GMPLS that can be derived from the carriers'
applications for the use of VCAT/LCAS. These are set out in the
following section.
2.1. VCAT/LCAS Interface Capabilities
In general, a label switched router (LSR) can be an ingress/egress of
one or more VCAT groups. VCAT and LCAS are data plane interface
capabilities. An LSR may have, for example, VCAT-capable interfaces
that are not LCAS-capable. It may at the same time have interfaces
that are neither VCAT-capable nor LCAS-capable.
2.2. Member Signal Configuration Scenarios
We list in this section the different scenarios. Here we use the
[ITU-T-G.707] term "VCG" to refer to the VCAT group and the
terminology "set" and "subset" to refer to the subdivision of the
group and the individual VCAT group member signals. As noted above,
the scope of these scenarios is limited to scenarios where all member
signals are controlled using mechanisms defined in this document.
The scenarios listed here are dependent on the terms "co-routed" and
"diversely routed". In the context of this document, "co-routed"
refers to a set of VCAT signals that all traverse the same sequence
of switching nodes. Furthermore, a co-routed set of signals between
any pair of adjacent nodes utilizes a set of links that have similar
delay characteristics. Thus, "diversely routed" means a set of
signals that are not classed as "co-routed".
Fixed, co-routed: A fixed-bandwidth VCG, transported over a co-routed
set of member signals. This is the case where the intended
bandwidth of the VCG does not change and all member signals follow
the same route to minimize differential delay. The application
here is the capability to allocate an amount of bandwidth close to
that required at the client layer.
Fixed, diversely routed: A fixed-bandwidth VCG, transported over at
least two diversely routed subsets of member signals. In this
case, the subsets are link-disjoint over at least one link of the
route. The application here is more efficient use of network
resources, e.g., no unique route has the required bandwidth.
Fixed, member sharing: A fixed-bandwidth VCG, transported over a set
of member signals that are allocated from a common pool of
available member signals without requiring member connection
teardown and setup. This document only covers the case where this
pool of "potential" member signals has been established via
mechanisms defined in this document. Member signals need not be
co-routed or be guaranteed to be diversely routed. Note that by
the nature of VCAT, a member signal can only belong to one VCG at
a time. To be used in a different VCG, a signal must first be
removed from any VCG to which it may belong.
Dynamic, co-routed: A dynamic VCG (bandwidth can be increased or
decreased via the addition or removal of member signals),
transported over a co-routed set of members. The application here
is dynamic resizing and resilience of bandwidth.
Dynamic, diversely routed: A dynamic VCG (bandwidth can be increased
or decreased via the addition or removal of member signals),
transported over at least two diversely routed subsets of member
signals. The application here is efficient use of network
resources, dynamic resizing, and resilience of bandwidth.
Dynamic, member sharing: A dynamic-bandwidth VCG, transported over a
set of member signals that are allocated from a common pool of
available member signals without requiring member connection
teardown and setup.
2.3. VCAT Operation with or without LCAS
VCAT capabilities may be present with or without the presence of
LCAS. The use of LCAS is beneficial in the provisioning of flexible
bandwidth services, but in the absence of LCAS, VCAT is still a valid
technique. Therefore, GMPLS mechanisms for the operation of VCAT are
REQUIRED for both the case where LCAS is available and the case where
it is not available. The GMPLS procedures for the two cases SHOULD
be identical.
o GMPLS signaling for LCAS-capable interfaces MUST support all
scenarios described in Section 2.2 with no loss of traffic.
o GMPLS signaling for non-LCAS-capable interfaces MUST support the
"fixed" scenarios described in Section 2.2.
To provide for these requirements, GMPLS signaling MUST carry the
following information on behalf of the VCAT endpoints:
o The type of the member signal that the VCG will contain, e.g.,
VC-3, VC-4, etc.
o The total number of members to be in the VCG. This provides the
endpoints in both the LCAS and non-LCAS case with information on
which to accept or reject the request, and in the non-LCAS case
will let the receiving endpoint know when all members of the VCG
have been established.
o Identification of the VCG and its associated members. This
provides information that allows the endpoints to differentiate
multiple VCGs and to tell what member, label switched paths
(LSPs), to associate with a particular VCG.
2.4. VCGs and VCG Members
The signaling solution SHOULD provide a mechanism to support these
scenarios:
o VCG members (server-layer connections) may be set up prior to
their use in a VCG.
o VCG members (server-layer connections) may exist after their
corresponding VCG has been removed.
However, it is not required that any arbitrarily created server-layer
connection be supported in the above scenarios, i.e., connections
established without following the procedures described in this
document.
3. VCAT Data and Control Plane Concepts
When utilizing GMPLS with VCAT/LCAS, we use a number of control and
data plane concepts described below.
VCG - This is the group of data plane server-layer signals used to
provide the bandwidth for the virtual concatenation link
connection through a network ([ITU-T-G.7042]).
VCG member - This is an individual data plane server-layer signal
that belongs to a VCG ([ITU-T-G.7042]).
Member set - One or more VCG members (or potential members) set up
via the same control plane signaling exchange. Note that all
members in a member set follow the same route.
Data plane LSP - This is an individual VCG member.
Control plane LSP - A control plane entity that can control multiple
data plane LSPs. For our purposes here, this is equivalent to the
member set.
Call - A control plane mechanism for providing association between
endpoints and possibly key transit points.
4. VCGs Composed of a Single Member Set (One LSP)
In this section and the next section, we will describe the procedures
for supporting the applications described in Section 2.
This section describes the support of a single VCG composed of a
single member set (in support of the fixed, co-routed application and
the dynamic, co-routed application) using existing GMPLS procedures
[RFC4606]. Note that this section is included for informational
purposes only and does not modify [RFC4606]. It is provided to show
how the existing GMPLS procedures may be used. [RFC4606] provides
the normative definition for GMPLS processing of VCGs composed of a
single member set, and in the event of any conflict between this
section and that document, [RFC4606] takes precedence.
The existing GMPLS signaling protocols support a VCG composed of a
single member set. Setup using the Number of Virtual Components
(NVC) field is explained in Section 2.1 of [RFC4606]. In this case,
one (single) control plane LSP is used in support of the VCG.
There are two options for setting up the VCG, depending on policy
preferences: one-shot setup and incremental setup.
The following sections explain the procedure based on an example of
setting up a VC-4-7v SDH VCAT group (corresponding to an STS-3c-7v
SONET VCAT group), which is composed of 7 virtually concatenated
VC-4s (or STS-3c).
4.1. One-Shot VCG Setup
This section describes establishment of an LSP that supports all VCG
members as part of the initial LSP establishment. To establish such
an LSP, an RSVP-TE (Resource Reservation Protocol - Traffic
Engineering) Path message is sent containing the SONET/SDH traffic
parameters defined in [RFC4606]. In the case of this example:
o Elementary signal is set to 6 (for VC-4/STS-3c_SPE).
o NVC is set to 7 (number of members).
o Per [RFC4606], a Multiplier Transform greater than 1 (say N > 1)
may be used if the operator wants to set up N identical VCAT
groups (for the same LSP).
o SDH or SONET labels have to be assigned for each member of the VCG
and concatenated to form a single Generalized Label constructed as
an ordered list of 32-bit timeslot identifiers of the same format
as TDM labels. [RFC4606] requires that the order of the labels
reflect the order of the payloads to concatenate, and not the
physical order of timeslots.
o Refer to [RFC4606] for other traffic parameter settings.
4.2. Incremental VCG Setup
In some cases, it may be necessary or desirable to set up the VCG
members individually, or to add group members to an existing group.
One example of this need is when the local policy requires that VCAT
can only add VCAT members one at a time or cannot automatically match
the members at the ingress and egress for the purposes of inverse
multiplexing. Serial or incremental setup solves this problem.
In order to accomplish incremental setup, an iterative process is
used to add group members. For each iteration, NVC is incremented up
to the final value required. A successful iteration consists of the
successful completion of Path and Resv signaling. At first, NVC = 1,
and the label includes just one timeslot identifier.
At each of the next iterations, NVC is set to (NVC + 1), and one more
timeslot identifier is added to the ordered list in the Generalized
Label (in the Path or Resv message). A node that receives a Path
message that contains changed fields will process the full Path
message and, based on the new value of NVC, it will add a component
signal to the VCAT group, and switch the new timeslot based on the
new label information.
Following the addition of the new label (identifying the new member)
to the LSP, in the data plane, LCAS may be used to add the new member
at the endpoints into the existing VCAT group. LCAS (data plane)
signaling is described in [ITU-T-G.7042].
4.3. Procedure for VCG Reduction by Removing a Member
The procedure to remove a component signal is similar to that used to
add components as described in Section 4.2. In the data plane, LCAS
signaling is used first to take the component out of service from the
group. LCAS signaling is described in [ITU-T-G.7042].
In this case, the NVC value is decremented by 1, and the timeslot
identifier for the dropped component is removed from the ordered list
in the Generalized Label.
Note that for interfaces that are not LCAS-capable, removing one
component of the VCG will result in failure detection of the member
at the endpoint and failure of the whole group. So, this is a
feature that only LCAS-capable VCAT interfaces can support without
management intervention at the endpoints.
Note that if using LCAS, a VCG member can be temporarily removed from
the VCG due to a failure of the component signal. The LCAS data
plane signaling will take appropriate actions to adjust the VCG as
described in [ITU-T-G.7042].
4.4. Removing Multiple VCG Members in One Shot
The procedure is similar to that described in Section 4.3. In this
case, the NVC value is changed to the new value, and all relevant
timeslot identifiers for the components to be torn down are removed
from the ordered list in the Generalized Label. This procedure is
also not supported for VCAT-only interfaces without management
intervention, as removing one or more components of the VCG will tear
down the whole group.
4.5. Teardown of Whole VCG
The entire LSP is deleted in a single step (i.e., all components are
removed in one go) using the deletion procedures described in
[RFC3473].
5. VCGs Composed of Multiple Member Sets (Multiple LSPs)
The motivation for VCGs composed of multiple member sets comes from
the requirement to support VCGs with diversely routed members. The
initial GMPLS specification did not support diversely routed signals
using the NVC construct. [RFC4606] says:
[...] The standard definition for virtual concatenation allows
each virtual concatenation component to travel over diverse paths.
Within GMPLS, virtual concatenation components must travel over
the same (component) link if they are part of the same LSP. This
is due to the way that labels are bound to a (component) link.
Note, however, that the routing of components on different paths
is indeed equivalent to establishing different LSPs, each one
having its own route. Several LSPs can be initiated and
terminated between the same nodes, and their corresponding
components can then be associated together (i.e., virtually
concatenated).
The setup of diversely routed VCG members requires multiple VCG
member sets, i.e., multiple control plane LSPs.
The support of a VCG with multiple VCG member sets requires being
able to identify separate sets of control plane LSPs with a single
VCG and exchange information pertaining to the VCG as a whole between
the endpoints. This document updates the procedures described in
[RFC4606] to provide this capability by using the call procedures and
extensions described in [RFC4974]. The VCG makes use of one or more
calls (VCAT calls) to associate control plane LSPs in support of VCG
server-layer connections (VCG members) in the data plane. Note that
the trigger for the VCG (by management plane or client layer) is
outside the scope of this document. These procedures provide for
autonomy of the client layer and server layer with respect to their
management.
In addition, by supporting the identification of a VCG (VCG ID) and
VCAT call identification (VCAT Call ID), support can be provided for
the member-sharing scenarios, i.e., by explicitly separating the VCG
ID from the VCAT call ID. Note that per [RFC4974], LSPs
(connections) cannot be moved from one call to another; hence, to
support member sharing, the procedures in this document provide
support by moving call(s) and their associated LSPs from one VCG to
another. Figure 1 below illustrates these relationships; however,
note that VCAT calls can exist independently of a VCG (for connection
pre-establishment), as will be described later in this document.
+-------+ +-------------+ +-------+ +------------+
| |1 n| |1 n| |1 n| Data Plane |
| VCG |<>----| VCAT Call |<>----| LSP |<>----| Connection |
| | | | | | |(co-routed) |
+-------+ +-------------+ +-------+ +------------+
Figure 1. Conceptual Containment Relationship between VCG, VCAT
Calls, Control Plane LSPs, and Data Plane Connections
5.1. Signaled VCG Service Layer Information
In this section, we provide information that will be communicated at
the VCG level, i.e., between the VCG signaling endpoints using the
call procedures described in [RFC4974]. To accommodate the VCG
information, a new TLV is defined in this document for the
CALL_ATTRIBUTES object [RFC6001] for use in the Notify message
[RFC4974]. The Notify message is a targeted message and does not
need to follow the path of LSPs through the network; i.e., there is
no dependency on the member signaling for establishing the VCAT call,
and the use of external call managers as described in [RFC4974] is
not precluded.
The following information is needed:
1. Signal type
2. Number of VCG members
3. LCAS requirements:
a. LCAS required
b. LCAS desired
c. LCAS not supported
4. VCG Identifier - Used to identify a particular VCG separately from
the call ID so that call members can be reused with different VCGs
per the requirements for member sharing and the requirements of
Section 2.4.
5.2. CALL_ATTRIBUTES Object VCAT TLV
This document defines a CALL_ATTRIBUTES object VCAT TLV for use in
the CALL_ATTRIBUTES object [RFC6001] as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 4 | Length = 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Signal Type | Number of Members |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LCR| Reserved | Action | VCG ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type, as defined in [RFC6001]. This field MUST be set to 2.
Length, as defined in [RFC6001]. This field MUST be set to 12.
Signal Type: 16 bits
The signal types can never be mixed in a VCG; hence, a VCAT call
contains only one signal type. This field can take the following
values and MUST never change over the lifetime of a VCG
[ANSI-T1.105] [ITU-T-G.707] [ITU-T-G.709] [ITU-T-G.7043]:
Value Type (Elementary Signal)
----- -------------------------
1 VT1.5 SPE / VC-11
2 VT2 SPE / VC-12
3 STS-1 SPE / VC-3
4 STS-3c SPE / VC-4
11 ODU1 (i.e., 2.5 Gbit/s)
12 ODU2 (i.e., 10 Gbit/s)
13 ODU3 (i.e., 40 Gbit/s)
21 T1 (i.e., 1.544 Mbps)
22 E1 (i.e., 2.048 Mbps)
23 E3 (i.e., 34.368 Mbps)
24 T3 (i.e., 44.736 Mbps)
Number of Members: 16 bits
This field is an unsigned integer that MUST indicate the total
number of members in the VCG (not just the call). This field MUST
be changed (over the life of the VCG) to indicate the current
number of members.
LCR (LCAS Required): 2 bits
This field can take the following values and MUST NOT change over
the life of a VCG:
Value Meaning
----- ------------------
0 LCAS required
1 LCAS desired
2 LCAS not supported
Action: 8 bits
This field is used to indicate the relationship between the call
and the VCG and has the following values:
Value Meaning
----- -------------------------------------------------------
0 No VCG ID (set up call prior to VCG creation)
1 New VCG for Call
2 Modification of Number of Members (no change in VCG ID)
3 Remove VCG from Call
VCG Identifier (ID): 16 bits
This field carries an unsigned integer that is used to identify a
particular VCG within a session. The value of the field MUST NOT
change over the lifetime of a VCG but MAY change over the lifetime
of a call.
5.3. Procedures for Multiple Member Sets
The creation of a VCG based on multiple member sets requires the
establishment of at least one VCAT-layer call. VCAT-layer calls and
related LSPs (connections) MUST follow the procedures as defined in
[RFC4974], with the addition of the inclusion of a CALL_ATTRIBUTES
object containing the VCAT TLV. Multiple VCAT layer calls per VCG
are not required to support member sets, but are needed to support
certain member-sharing scenarios.
The remainder of this section provides specific procedures related to
VCG signaling. The procedures described in [RFC4974] are only
modified as discussed in this section.
When LCAS is supported, the data plane will add or decrease the
members per [ITU-T-G.7042]. When LCAS is not supported across LSPs,
the data plane coordination across member sets is outside the scope
of this document.
5.3.1. Setting Up a New VCAT Call and VCG Simultaneously
To simultaneously set up a VCAT call and identify it with an
associated VCG, a CALL_ATTRIBUTES object containing the VCAT TLV MUST
be included in the Notify message at the time of call setup. The
VCAT TLV Action field MUST be set to 1, which indicates that this is
a new VCG for this call. LSPs MUST then be added to the call until
the number of members reaches the number specified in the VCAT TLV.
5.3.2. Setting Up a VCAT Call and LSPs without a VCG
To provide for pre-establishment of the server-layer connections for
a VCG, a VCAT call MAY be established without an associated VCG
identifier. In fact, to provide for the member-sharing scenarios, a
pool of VCAT calls with associated connections (LSPs) can be
established, and then one or more of these calls (with accompanying
connections) can be associated with a particular VCG (via the VCG
ID). Note that multiple calls can be associated with a single VCG
but that a call MUST NOT contain members used in more than one VCG.
To establish a VCAT call with no VCG association, a CALL_ATTRIBUTES
object containing the VCAT TLV MUST be included at the time of call
setup in the Notify message. The VCAT TLV Action field MUST be set
to 0, which indicates that this is a VCAT call without an associated
VCG. LSPs can then be added to the call. The Number of Members
parameter in the VCAT TLV has no meaning at this point, since it
reflects the intended number of members in a VCG and not in a call.
5.3.3. Associating an Existing VCAT Call with a New VCG
A VCAT call that is not otherwise associated with a VCG may be
associated with a VCG. To establish such an association, a Notify
message MUST be sent with a CALL_ATTRIBUTES object containing a
VCAT TLV. The TLV's Action field MUST be set to 1, and the VCG
Identifier field MUST be set to correspond to the VCG. The Number of
Members field MUST equal the sum of all LSPs associated with the VCG.
Note that the total number of VCGs supported by a node may be
limited; hence, on reception of any message with a change of VCG ID,
this limit should be checked. Likewise, the sender of a message with
a change of VCG ID MUST be prepared to receive an error response.
Again, any error in a VCG may result in the failure of the
complete VCG.
5.3.4. Removing the Association between a Call and VCG
To reuse the server-layer connections in a call in another VCG, the
current association between the call and a VCG MUST first be removed.
To do this, a Notify message MUST be sent with a CALL_ATTRIBUTES
object containing a VCAT TLV. The Action field of the TLV MUST be
set to 3 (Remove VCG from Call). The VCG ID field is ignored and MAY
be set to any value. The Number of Members field is also ignored and
MAY be set to any value. When the association between a VCG and all
existing calls has been removed, then the VCG is considered torn
down.
5.3.5. VCG Bandwidth Modification
The following cases may occur when increasing or decreasing the
bandwidth of a VCG:
1. LSPs are added to or, in the case of a decrease, removed from a
VCAT call already associated with a VCG.
2. An existing VCAT call (and corresponding LSPs) is associated with
a VCG or, in the case of a decrease, has its association removed.
Note that in the case of an increase, the call MUST NOT have any
existing association with a VCG.
The following sequence SHOULD be used when modifying the bandwidth of
a VCG:
1. In both cases, prior to any other change, a Notify message MUST be
sent with a CALL_ATTRIBUTES object containing a VCAT TLV for each
of the existing VCAT calls associated with the VCG. The Action
field of the TLV MUST be set to 2. The VCG ID field MUST be set
to match the VCG. The Number of Members field MUST equal the sum
of all LSPs that are anticipated to be associated with the VCG
after the bandwidth change. The Notify message is otherwise
formatted and processed to support call establishment as described
in [RFC4974]. If an error is encountered while processing any of
the Notify messages, the number of members is reverted to the
pre-change value, and the increase is aborted. The reverted
number of members MUST be signaled in a Notify message as
described above. Failures encountered in processing these Notify
messages are handled per [RFC4974].
2. Once the existing calls have successfully been notified of the new
number of members in the VCG, the bandwidth change can be made.
The next step is dependent on the two cases defined above. In the
first case defined above, the bandwidth change is made by adding
(in the case of an increase) or removing (in the case of a
decrease) LSPs to or from the VCAT call per the procedures defined
in [RFC4974]. In the second case, the procedure defined in
Section 5.3.3 is followed for an increase, and the procedure
defined in Section 5.3.4 is followed for a decrease.
6. Error Conditions and Codes
VCAT call and member LSP setup can be denied for various reasons. In
addition to the call procedures and related error codes described in
[RFC4974], below is a list of error conditions that can be
encountered while using the procedures defined in this document.
These fall under RSVP error code 39.
These can occur when setting up a VCAT call or associating a VCG with
a VCAT call.
Error Value
------------------------------------ --------
VCG signal type not supported 1
LCAS option not supported 2
Max number of VCGs exceeded 3
Max number of VCG members exceeded 4
LSP Type incompatible with VCAT call 5
Unknown LCR (LCAS required) value 6
Unknown or unsupported ACTION 7
Any failure in call or LSP establishment MUST be treated as a failure
of the VCG as a whole and MAY trigger the calls and LSPs associated
with the VCG being deleted.
7. IANA Considerations
7.1. RSVP Call Attribute TLV
IANA has made the following assignments in the "Call Attributes TLV"
section of the "RSVP PARAMETERS" registry available from
http://www.iana.org.
IANA has made assignments from the Call Attributes TLV [RFC6001]
portions of this registry.
This document introduces a new Call Attributes TLV:
TLV Value Name Reference
--------- ---------------------- ---------
4 VCAT TLV [RFC6344]
7.2. RSVP Error Codes and Error Values
A new RSVP Error Code and new Error Values are introduced. IANA
assigned the following from the "RSVP Parameters" registry using the
sub-registry "Error Codes and Globally-Defined Error Value
Sub-Codes".
o Error Codes:
- VCAT Call Management (39)
o Error Values:
Meaning Value
------------------------------------ --------
VCG signal type not supported 1
LCAS option not supported 2
Max number of VCGs exceeded 3
Max number of VCG members exceeded 4
LSP Type incompatible with VCAT call 5
Unknown LCR (LCAS required) value 6
Unknown or unsupported ACTION 7
7.3. VCAT Elementary Signal Registry
IANA created a registry to track elementary signal types as defined
in Section 5.2. New allocations are by "IETF Review" [RFC5226].
IANA maintains the following information:
- Value
- Type (Elementary Signal)
- RFC
The available range is 0 - 65535.
The registry has been initially populated with the values shown in
Section 5.2 of this document. Value 0 is Reserved. Other values are
marked Unassigned.
7.4. VCAT VCG Operation Actions
IANA created a registry to track VCAT VCG operation actions as
defined in Section 5.2. New allocations are by "IETF Review"
[RFC5226].
IANA maintains the following information:
- Value
- Meaning
- RFC
The available range is 0 - 255.
The registry has been initially populated with the values shown in
Section 5.2 of this document. Other values are marked Unassigned.
8. Security Considerations
This document introduces a specific use of the Notify message and
ADMIN_STATUS object for GMPLS signaling as originally specified in
[RFC3473] and as modified by [RFC4974]. It does not introduce any
new signaling messages, nor does it change the relationship between
LSRs that are adjacent in the control plane. The call information
associated with diversely routed control plane LSPs, in the event of
an interception, may indicate that these are members of the same VCAT
group that take a different route, and may indicate to an interceptor
that the VCG call desires increased reliability.
See [RFC5920] for additional information on GMPLS security.
9. Contributors
Wataru Imajuku (NTT)
1-1 Hikari-no-oka Yokosuka Kanagawa 239-0847
Japan
Phone +81-46-859-4315
EMail: imajuku.wataru@lab.ntt.co.jp
Julien Meuric
France Telecom
2, avenue Pierre Marzin
22307 Lannion Cedex
France
Phone: +33 2 96 05 28 28
EMail: julien.meuric@orange-ft.com
Lyndon Ong
Ciena
PO Box 308
Cupertino, CA 95015
USA
Phone: +1 408 705 2978
EMail: lyong@ciena.com
10. Acknowledgments
The authors would like to thank Adrian Farrel, Maarten Vissers,
Trevor Wilson, Evelyne Roch, Vijay Pandian, Fred Gruman, Dan Li,
Stephen Shew, Jonathan Saddler, and Dieter Beller for extensive
reviews and contributions to this document.
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Resource ReserVation
Protocol-Traffic Engineering (RSVP-TE) Extensions",
RFC 3473, January 2003.
[RFC4606] Mannie, E. and D. Papadimitriou, "Generalized Multi-
Protocol Label Switching (GMPLS) Extensions for
Synchronous Optical Network (SONET) and Synchronous
Digital Hierarchy (SDH) Control", RFC 4606,
August 2006.
[RFC4974] Papadimitriou, D. and A. Farrel, "Generalized MPLS
(GMPLS) RSVP-TE Signaling Extensions in Support of
Calls", RFC 4974, August 2007.
[RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K.,
Brungard, D., and JL. Le Roux, "Generalized MPLS
(GMPLS) Protocol Extensions for Multi-Layer and Multi-
Region Networks (MLN/MRN)", RFC 6001, October 2010.
11.2. Informative References
[ANSI-T1.105] American National Standards Institute, "Synchronous
Optical Network (SONET) - Basic Description including
Multiplex Structure, Rates, and Formats", ANSI
T1.105-2001, May 2001.
[ITU-T-G.707] International Telecommunication Union, "Network Node
Interface for the Synchronous Digital Hierarchy
(SDH)", ITU-T Recommendation G.707, December 2003.
[ITU-T-G.709] International Telecommunication Union, "Interfaces for
the Optical Transport Network (OTN)", ITU-T
Recommendation G.709, March 2003.
[ITU-T-G.7042] International Telecommunication Union, "Link Capacity
Adjustment Scheme (LCAS) for Virtual Concatenated
Signals", ITU-T Recommendation G.7042, March 2006.
[ITU-T-G.7043] International Telecommunication Union, "Virtual
Concatenation of Plesiochronous Digital Hierarchy
(PDH) Signals", ITU-T Recommendation G.7043,
July 2004.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing
an IANA Considerations Section in RFCs", BCP 26,
RFC 5226, May 2008.
[RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS
Networks", RFC 5920, July 2010.
Authors' Addresses
Greg M. Bernstein (editor)
Grotto Networking
Fremont, CA
USA
Phone: (510) 573-2237
EMail: gregb@grotto-networking.com
Diego Caviglia
Ericsson
Via A. Negrone 1/A 16153
Genoa Italy
Phone: +39 010 600 3736
EMail: diego.caviglia@ericsson.com
Richard Rabbat
Google, Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
USA
EMail: rabbat@alum.mit.edu
Huub van Helvoort
Huawei Technologies, Ltd.
Kolkgriend 38, 1356 BC Almere
The Netherlands
Phone: +31 36 5315076
EMail: hhelvoort@huawei.com
AI ELI5
On this page
§1What VCAT and LCAS Are
Generalized Multi-Protocol Label Switching (GMPLS) automates control of several switching technologies, including SONET, SDH, OTN and PDH. Virtual Concatenation (VCAT) is a time-division multiplexing (TDM) byte-striping inverse multiplexing method: it lets a group of server signals act as one connection, so the bandwidth can be sized to fit the client. The companion Link Capacity Adjustment Scheme (LCAS) adds hitless dynamic resizing and fast graceful degradation when faults occur.
To get the full benefit, GMPLS signaling needs extensions that can set up diversely routed signals belonging to one VCAT group. This document updates the procedures of RFC 4606 for that purpose. Its scope is limited to cases where every member signal of a group is controlled by the mechanisms described here and in related RFCs. Groups where some members are controlled by a management plane or proprietary control plane are out of scope.
Several small channels can be tied together to act like one big channel, and a helper protocol lets you add or remove channels smoothly. This RFC teaches the network's control software how to manage that.
§2Scenarios and Requirements
VCAT and LCAS are data plane interface capabilities. A router may have interfaces that are VCAT-capable but not LCAS-capable, and others that are neither. The RFC lists six member configurations, built from two choices: fixed or dynamic bandwidth, and co-routed (all members take the same sequence of nodes over links of similar delay), diversely routed (at least two subsets, link-disjoint over at least one link) or member sharing (members drawn from a common pool without tearing down and setting up connections). A member can belong to only one group at a time.
GMPLS procedures are REQUIRED both with and without LCAS, and SHOULD be identical. Signaling for LCAS-capable interfaces MUST support all scenarios with no traffic loss, while signaling for non-LCAS interfaces MUST support the fixed scenarios. Signaling must carry the member signal type, the total number of members, and an identification of the group and its members. Members SHOULD be allowed to be set up before use and to outlive their group.
Some groups never change size and some grow and shrink. Some pipes take the same road and some take different roads. The control software has to handle all of those, with or without the smooth-resizing helper.
§3Data and Control Plane Concepts
The RFC defines a few terms used throughout:
- VCG: the group of data plane server-layer signals that provides the bandwidth of the virtual concatenation link connection.
- VCG member: one data plane signal in the VCG. A data plane LSP is an individual member.
- Member set: one or more members set up by the same signaling exchange; all members of a set follow the same route.
- Control plane LSP: a control plane entity that can control multiple data plane LSPs; here it is equivalent to a member set.
- Call: a control plane mechanism that associates endpoints and possibly key transit points.
A group is the whole bundle, a member is one strand, and a call is the paperwork tying strands to the right bundle.
§4One Member Set: A Single LSP
A group made of one member set (fixed or dynamic co-routed) already works with the procedures in RFC 4606, using its Number of Virtual Components (NVC) field. This section is informational and does not modify that RFC; if they conflict, RFC 4606 wins.
The example is a VC-4-7v group of 7 virtually concatenated VC-4s. In one-shot setup, an RSVP-TE Path message carries elementary signal 6 and NVC 7, and the Generalized Label is an ordered list of 32-bit timeslot identifiers, one per member, in payload order rather than physical order. In incremental setup, NVC starts at 1 and each successful Path and Resv round increments it and appends one more timeslot identifier; LCAS may then add the new member in the data plane.
To remove members, LCAS first takes them out of service, then NVC is decremented and their identifiers are dropped from the label. Interfaces without LCAS cannot do this: removing a component is detected as a member failure and fails the whole group. Tearing down the entire group deletes the LSP in one step using RFC 3473 procedures.
With one road for all strands, you can build the bundle all at once or add one strand at a time. Taking a strand away smoothly needs the helper protocol; without it, the whole bundle breaks.
§5.2The VCAT TLV
- VCG one VCG has n VCAT calls
- VCAT Call one call has n LSPs
- Control plane LSP one LSP has n connections
- Data plane connection (co-routed)
- Control plane LSP one LSP has n connections
- VCAT Call one call has n LSPs
Diversely routed members need several control plane LSPs, because RFC 4606 keeps all components of one LSP on the same link. This document updates it by using the call procedures of RFC 4974: a VCG is made of one or more VCAT calls, each holding control plane LSPs, each controlling co-routed data plane connections. The VCG ID is kept separate from the call ID so that calls (with their LSPs) can be moved between groups for member sharing.
Group-level information travels in a new VCAT TLV inside the CALL_ATTRIBUTES object (RFC 6001) of a Notify message. The Notify message is targeted and need not follow the LSP path, so the call does not depend on member signaling. The TLV is 12 bytes long and carries:
- Signal Type (16 bits): one type per group that MUST never change during its life.
- Number of Members (16 bits): the current total in the VCG (not just the call), updated as it changes.
- LCR (LCAS Required, 2 bits): 0 required, 1 desired, 2 not supported; MUST NOT change during the group's life.
- Action (8 bits): the relationship between call and VCG.
- VCG ID (16 bits): MUST NOT change over the life of a VCG but MAY change over the life of a call.
A small form is attached to the call saying what kind of strands, how many, whether the smooth-resizing helper is needed, what to do now, and the bundle's name.
- 0No VCG ID — Set up the call prior to VCG creation.
- 1New VCG for Call — Associate the call with a new VCG.
- 2Modify Number of Members — Change the member count with no change in VCG ID.
- 3Remove VCG from Call — End the association between call and VCG.
- 1VT1.5 SPE / VC-11 — SONET/SDH elementary signal.
- 2VT2 SPE / VC-12 — SONET/SDH elementary signal.
- 3STS-1 SPE / VC-3 — SONET/SDH elementary signal.
- 4STS-3c SPE / VC-4 — SONET/SDH elementary signal.
- 11ODU1 — 2.5 Gbit/s.
- 12ODU2 — 10 Gbit/s.
- 13ODU3 — 40 Gbit/s.
- 21T1 — 1.544 Mbps.
- 22E1 — 2.048 Mbps.
- 23E3 — 34.368 Mbps.
- 24T3 — 44.736 Mbps.
§5.3Procedures for Multiple Member Sets
VCAT calls and their LSPs follow RFC 4974, with a CALL_ATTRIBUTES object holding the VCAT TLV added. The Action field drives what happens:
- New call and VCG together (Action 1): LSPs are then added until the member count in the TLV is reached.
- Call without a VCG (Action 0): pre-establishes connections. A pool of such calls can later be attached to a VCG, but a call MUST NOT contain members used in more than one VCG.
- Associate an existing call with a VCG (Action 1 plus the VCG ID): the Number of Members MUST equal the sum of all LSPs in the VCG. The sender must be ready for an error response, since a node may limit its number of VCGs.
- Remove the association (Action 3): the VCG ID and member count are ignored. When no calls remain associated, the VCG is considered torn down.
- Change bandwidth (Action 2): before any other change, a Notify MUST be sent for each call in the VCG with the member count anticipated after the change. If an error occurs, the count is reverted and the increase aborted. Then LSPs are added or removed, or a call is associated or dissociated.
With LCAS, the data plane adds or drops members per G.7042. Without LCAS across LSPs, data plane coordination across member sets is out of scope.
To change the bundle, you first announce the new size to everyone, and only then add or remove strands. If anything goes wrong, the announced size goes back to the old one.
§6Error Conditions
Setting up a VCAT call or associating it with a VCG can be denied. These errors fall under RSVP error code 39 (VCAT Call Management), with seven values from 1 to 7, covering an unsupported signal type, unsupported LCAS option, too many VCGs, too many members, an LSP type incompatible with the call, an unknown LCR value and an unknown or unsupported Action.
Any failure in call or LSP establishment MUST be treated as a failure of the whole VCG, and MAY trigger deletion of the calls and LSPs associated with it.
If something about one strand cannot work, the network treats the whole bundle as failed and may take it all down.
- 1VCG signal type not supported — The signal type cannot be used.
- 2LCAS option not supported — The LCAS requirement cannot be met.
- 3Max number of VCGs exceeded — The node is at its VCG limit.
- 4Max number of VCG members exceeded — Too many members requested.
- 5LSP Type incompatible with VCAT call — The LSP does not fit the call.
- 6Unknown LCR value — The LCAS required value is not recognized.
- 7Unknown or unsupported ACTION — The Action value is not recognized.
§7IANA and Security
IANA assigned VCAT TLV value 4 in the Call Attributes TLV registry and created RSVP error code 39 with the seven values above. It also created two registries, each allocated by IETF Review: VCAT elementary signals (range 0 to 65535, value 0 reserved) and VCAT VCG operation actions (range 0 to 255).
The document introduces no new signaling messages and does not change the relationship between adjacent routers in the control plane. Its use of Notify and ADMIN_STATUS follows RFC 3473 as modified by RFC 4974. One note: call information on diversely routed LSPs, if intercepted, may reveal that they belong to one VCAT group taking different routes, and that the call wants more reliability. See RFC 5920 for GMPLS security in general.
Nothing new is added that attackers could aim at, but someone listening in might learn that the strands belong together and that someone wants extra safety.