draft-ietf-mpls-tp-data-plane-01.txt   draft-ietf-mpls-tp-data-plane-02.txt 
MPLS D. Frost, Ed. MPLS D. Frost, Ed.
Internet-Draft S. Bryant, Ed. Internet-Draft S. Bryant, Ed.
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: September 13, 2010 M. Bocci, Ed. Expires: October 24, 2010 M. Bocci, Ed.
Alcatel-Lucent Alcatel-Lucent
March 12, 2010 April 22, 2010
MPLS Transport Profile Data Plane Architecture MPLS Transport Profile Data Plane Architecture
draft-ietf-mpls-tp-data-plane-01 draft-ietf-mpls-tp-data-plane-02
Abstract Abstract
The Multiprotocol Label Switching (MPLS) Transport Profile (MPLS-TP) The Multiprotocol Label Switching (MPLS) Transport Profile (MPLS-TP)
is the set of MPLS protocol functions applicable to the construction is the set of MPLS protocol functions applicable to the construction
and operation of packet-switched transport networks. This document and operation of packet-switched transport networks. This document
specifies the subset of these functions that comprises the MPLS-TP specifies the subset of these functions that comprises the MPLS-TP
data plane: the architectural layer concerned with the encapsulation data plane: the architectural layer concerned with the encapsulation
and forwarding of packets within an MPLS-TP network. and forwarding of packets within an MPLS-TP network.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
capabilities and functionalities of a packet transport network. capabilities and functionalities of a packet transport network.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF 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.
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). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This Internet-Draft will expire on October 24, 2010.
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 13, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 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 respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. MPLS-TP Packet Encapsulation and Forwarding . . . . . . . . . 5 2. MPLS-TP Packet Encapsulation and Forwarding . . . . . . . . . 4
3. MPLS-TP Transport Entities . . . . . . . . . . . . . . . . . . 5 3. MPLS-TP Transport Entities . . . . . . . . . . . . . . . . . . 5
3.1. Label Switched Paths . . . . . . . . . . . . . . . . . . . 6 3.1. Label Switched Paths . . . . . . . . . . . . . . . . . . . 5
3.1.1. LSP Packet Encapsulation and Forwarding . . . . . . . 6 3.1.1. LSP Packet Encapsulation and Forwarding . . . . . . . 5
3.1.2. LSP Payloads . . . . . . . . . . . . . . . . . . . . . 6 3.1.2. LSP Payloads . . . . . . . . . . . . . . . . . . . . . 6
3.1.3. LSP Types . . . . . . . . . . . . . . . . . . . . . . 7 3.1.3. LSP Types . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Sections . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2. Sections . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. Pseudowires . . . . . . . . . . . . . . . . . . . . . . . 9 3.3. Pseudowires . . . . . . . . . . . . . . . . . . . . . . . 8
4. MPLS-TP Generic Associated Channel . . . . . . . . . . . . . . 9 4. MPLS-TP Generic Associated Channel . . . . . . . . . . . . . . 9
5. Server Layer Considerations . . . . . . . . . . . . . . . . . 10 5. Server Layer Considerations . . . . . . . . . . . . . . . . . 10
5.1. Ethernet Media . . . . . . . . . . . . . . . . . . . . . . 10
5.1.1. Point-to-Point Links . . . . . . . . . . . . . . . . . 10
5.1.2. Multipoint Links . . . . . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8.1. Normative References . . . . . . . . . . . . . . . . . . . 12 8.1. Normative References . . . . . . . . . . . . . . . . . . . 11
8.2. Informative References . . . . . . . . . . . . . . . . . . 13 8.2. Informative References . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
The MPLS Transport Profile (MPLS-TP) [I-D.ietf-mpls-tp-framework] is The MPLS Transport Profile (MPLS-TP) [I-D.ietf-mpls-tp-framework] is
the set of protocol functions that meet the requirements [RFC5654] the set of functions that meet the requirements [RFC5654] for the
for the application of MPLS to the construction and operation of application of MPLS to the construction and operation of packet-
packet-switched transport networks. Packet transport networks are switched transport networks. MPLS-based packet transport networks
defined and described in [I-D.ietf-mpls-tp-framework]. are defined and described in [I-D.ietf-mpls-tp-framework].
This document specifies the subset of protocol functions that This document defines the set of functions that comprise the MPLS-TP
comprises the MPLS-TP data plane: the architectural layer concerned data plane: the architectural layer concerned with the encapsulation
with the encapsulation and forwarding of packets within an MPLS-TP and forwarding of packets within an MPLS-TP network. This layer is
network. based on the data plane architectures for MPLS ([RFC3031] and
[RFC3032]) and for pseudowires ([RFC3985]).
This document is a product of a joint Internet Engineering Task Force This document is a product of a joint Internet Engineering Task Force
(IETF) / International Telecommunication Union Telecommunication (IETF) / International Telecommunication Union Telecommunication
Standardization Sector (ITU-T) effort to include an MPLS Transport Standardization Sector (ITU-T) effort to include an MPLS Transport
Profile within the IETF MPLS and PWE3 architectures to support the Profile within the IETF MPLS and PWE3 architectures to support the
capabilities and functionalities of a packet transport network. capabilities and functionalities of a packet transport network.
1.1. Scope 1.1. Scope
This document has the following purposes: This document has the following purposes:
o To identify the data-plane functions within the MPLS Transport o To identify the data plane functions within the MPLS Transport
Profile; Profile;
o To indicate which of these data-plane functions an MPLS-TP o To indicate which of these data plane functions an MPLS-TP
implementation is required to support. implementation is required to support.
Note that the MPLS-TP functions discussed in this document are This document defines the encapsulation and forwarding functions
considered OPTIONAL unless stated otherwise. applicable to packets traversing an MPLS-TP Label Switched Path
(LSP), Pseudowire (PW), or Section (see Section 3 for the definitions
of these transport entities). Encapsulation and forwarding functions
for packets outside an MPLS-TP LSP, PW, or Section, and mechanisms
for delivering packets to or from MPLS-TP LSPs, PWs, and Sections,
are outside the scope of this document.
1.2. Terminology 1.2. Terminology
Term Definition Term Definition
------- ------------------------------------------ ------- ------------------------------------------
ACH Associated Channel Header
G-ACh Generic Associated Channel G-ACh Generic Associated Channel
GAL G-ACh Label GAL G-ACh Label
LER Label Edge Router
LSP Label Switched Path LSP Label Switched Path
LSR Label Switching Router LSR Label Switching Router
MAC Media Access Control
MPLS-TP MPLS Transport Profile MPLS-TP MPLS Transport Profile
OAM Operations, Administration and Maintenance OAM Operations, Administration and Maintenance
PW Pseudowire PW Pseudowire
QoS Quality of Service QoS Quality of Service
S-PE PW Switching Provider Edge Node
T-PE PW Terminating Provider Edge Node
TTL Time To Live TTL Time To Live
Additional definitions and terminology can be found in Additional definitions and terminology can be found in
[I-D.ietf-mpls-tp-framework] and [RFC5654]. [I-D.ietf-mpls-tp-framework] and [RFC5654].
2. MPLS-TP Packet Encapsulation and Forwarding 2. MPLS-TP Packet Encapsulation and Forwarding
This document defines the encapsulation and forwarding functions MPLS-TP packet encapsulation and forwarding SHALL operate according
applicable to packets traversing an MPLS-TP Label Switched Path to the MPLS data plane architecture described in [RFC3031] and
(LSP), Pseudowire (PW), or Section (see Section 3 for the definitions [RFC3032], and the data plane architectures for Single-Segment
of these transport entities). Encapsulation and forwarding functions Pseudowires and Multi-Segment Pseudowires (see Section 3.3), except
for packets outside an MPLS-TP LSP, PW, or Section, and mechanisms as noted otherwise in this document. The MPLS-TP data plane
for delivering packets to or from MPLS-TP LSPs, PWs, and Sections, satisfies the requirements specified in [RFC5654].
are outside the scope of this document.
MPLS-TP packet encapsulation and forwarding operates according to the Since an MPLS-TP packet is an MPLS packet as defined in [RFC3031] and
MPLS data-plane architecture described in [RFC3031] and [RFC3032], [RFC3032], it will have an associated label stack, and the 'push',
and the data-plane architectures for Single-Segment Pseudowires 'pop', and 'swap' label processing operations specified in those
[RFC3985], Multi-Segment Pseudowires [RFC5659], and Point-to- documents apply. The label stack represents a hierarchy of Label
Multipoint Pseudowires [I-D.ietf-pwe3-p2mp-pw-requirements], except Switched Paths (LSPs). A label is pushed to introduce an additional
as noted otherwise in this document. level of LSP hierarchy and popped to remove it. Such an additional
level may be introduced by any pair of LSRs, whereupon they become
adjacent at this new level, and are then known as Label Edge Routers
(LERs) with respect to the new LSP.
In contrast to, for example, Section 3.10 of [RFC3031], support for
Internet Protocol (IP) host and router data plane functionality by
MPLS-TP interfaces and in MPLS-TP networks is OPTIONAL.
MPLS-TP forwarding is based on the label that identifies an LSP or MPLS-TP forwarding is based on the label that identifies an LSP or
PW. The label value specifies the processing operation to be PW. The label value specifies the processing operation to be
performed by the next hop at that level of encapsulation. A swap of performed by the next hop at that level of encapsulation. Note that
this label is an atomic operation in which the contents of the packet a swap of this label is an atomic operation in which the contents of
after the swapped label are opaque to the forwarder. The only event the packet after the swapped label are opaque to the forwarding
that interrupts a swap operation is Time To Live (TTL) expiry. function. The only event that interrupts a swap operation is Time To
Live (TTL) expiry.
Further processing to determine the context of a packet occurs when a At an LSR, S-PE, or T-PE, further processing occurs to determine the
swap operation is interrupted in this manner, when a pop operation context of a packet occurs when a swap operation is interrupted by
exposes a specific reserved label, or when the packet is received TTL expiry. If the TTL of an LSP label expires, then the label with
with the Generic Associated Channel Label (GAL) (see Section 4) at the S (Bottom of Stack) bit set is inspected to determine if it is a
the top of the stack. Otherwise the packet is forwarded according to reserved label. If it is a reserved label, the packet is processed
the procedures in [RFC3032]. according to the rules of that reserved label. For example, if it is
a Generic Associated Channel Label (GAL), then it is processed as a
packet on the G-ACh; see Section 4. If the TTL of a PW expires at an
S-PE or T-PE, then the packet is examined to determine if a Generic
Associated Channel Header (ACH) is present immediately below the PW
label. If so, then the packet is processed as a packet on the G-ACh.
Similarly, if a pop operation at an LER exposes a reserved label at
the top of the label stack, then the packet is processed according to
the rules of that reserved label.
If no such exception occurs, the packet is forwarded according to the
procedures in [RFC3031] and [RFC3032].
3. MPLS-TP Transport Entities 3. MPLS-TP Transport Entities
The MPLS Transport Profile includes the following data-plane The MPLS Transport Profile includes the following data plane
transport entities: transport entities:
o Label Switched Paths (LSPs) o Label Switched Paths (LSPs)
o Sections o Sections
o Pseudowires (PWs) o Pseudowires (PWs)
3.1. Label Switched Paths 3.1. Label Switched Paths
MPLS-TP LSPs are ordinary MPLS LSPs as defined in [RFC3031] except as MPLS-TP LSPs are ordinary MPLS LSPs as defined in [RFC3031] except as
specifically noted otherwise in this document. specifically noted otherwise in this document.
3.1.1. LSP Packet Encapsulation and Forwarding 3.1.1. LSP Packet Encapsulation and Forwarding
Encapsulation and forwarding of packets traversing MPLS-TP LSPs MUST Encapsulation and forwarding of packets traversing MPLS-TP LSPs MUST
follow standard MPLS packet encapsulation and forwarding as defined follow standard MPLS packet encapsulation and forwarding as defined
in [RFC3031] and [RFC3032], except as explicitly stated otherwise in in [RFC3031], [RFC3032], [RFC5331], and [RFC5332], except as
this document. explicitly stated otherwise in this document.
Data-plane support for Internet Protocol (IP) packet encapsulation, Data plane Quality of Service capabilities are included in the
addressing, and forwarding is OPTIONAL. MPLS-TP in the form of Traffic Engineered (TE) LSPs [RFC3209] and the
MPLS Differentiated Services (DiffServ) architecture [RFC3270]. Both
E-LSP and L-LSP MPLS DiffServ modes are included. The Traffic Class
field (formerly the EXP field) of an MPLS label follows the
definition of [RFC5462] and [RFC3270] and MUST be processed according
to the rules specified in those documents.
Data-plane Quality of Service capabilities are included in the Note that, except for transient packet reordering which may occur,
MPLS-TP in the form of the MPLS Differentiated Services (DiffServ) for example, during fault conditions, packets are delivered in order
architecture [RFC3270]. Both E-LSP and L-LSP MPLS DiffServ modes are on L-LSPs, and on E-LSPs within a specific ordered aggregate.
included. The Traffic Class field (formerly the EXP field) of an
MPLS label follows the definition of [RFC5462] and [RFC3270] and MUST
be processed according to the rules specified in those documents.
The Pipe and Short Pipe DiffServ tunneling and TTL processing models Support for the Pipe and Short Pipe DiffServ tunneling and TTL
described in [RFC3270] and [RFC3443] are included in the MPLS-TP. processing models described in [RFC3270] and [RFC3443] is REQUIRED by
The Uniform model is outside the scope of the MPLS-TP. the MPLS-TP. Support for the Uniform model is OPTIONAL.
Per-platform, per-interface or other context-specific label space Per-platform, per-interface or other context-specific label space
[RFC5331] MAY be used for MPLS-TP LSPs. Downstream [RFC3031] or [RFC5331] MAY be used for MPLS-TP LSPs. Downstream [RFC3031] or
upstream [RFC5331] label allocation schemes MAY be used for MPLS-TP upstream [RFC5331] label allocation schemes MAY be used for MPLS-TP
LSPs. Note that the requirements of a particular LSP type may LSPs. Note that the requirements of a particular LSP type may
dictate which label spaces or allocation schemes it can use. dictate which label spaces or allocation schemes it can use.
Per-packet Equal-Cost Multi-Path (ECMP) load-balancing is outside the Equal-Cost Multi-Path (ECMP) load-balancing MUST NOT be performed on
scope of the MPLS-TP. an MPLS-TP LSP. MPLS-TP LSPs as defined in this document MAY operate
over a server layer that supports load-balancing, but this load-
balancing MUST operate in such a manner that it is transparent to
MPLS-TP. Note that this does not preclude the future definition of
new MPLS-TP LSP types which have different requirements regarding the
use of ECMP in the server layer.
Penultimate Hop Popping (PHP) MUST be disabled by default on MPLS-TP Penultimate Hop Popping (PHP) MUST be disabled by default on MPLS-TP
LSPs. LSPs.
3.1.2. LSP Payloads 3.1.2. LSP Payloads
The MPLS-TP includes support for the following LSP payload types: The MPLS-TP includes support for the following LSP payload types:
o Network-layer protocol packets o Network-layer protocol packets (including MPLS-labeled packets)
o Pseudowire packets o Pseudowire packets
The rules for processing LSP payloads that are network-layer protocol The rules for processing LSP payloads that are network-layer protocol
packets SHALL be as specified in [RFC3032]. packets SHALL be as specified in [RFC3032].
The rules for processing LSP payloads that are pseudowire packets The rules for processing LSP payloads that are pseudowire packets
SHALL be as specified in [RFC3985] and the attendant standards SHALL be as defined in the data plane pseudowire specifications (see
defined by the IETF Pseudowire Emulation Edge-to-Edge (PWE3) Working Section 3.3).
Group.
Note that the payload of an MPLS-TP LSP may be a packet type that Note that the payload of an MPLS-TP LSP may be a packet that itself
itself contains one or more MPLS labels. This is true, for instance, contains an MPLS label stack. This is true, for instance, when the
when the payload is a pseudowire or another MPLS-TP LSP. From the payload is a pseudowire or an MPLS LSP. In this case the S (Bottom
data-plane perspective, however, an MPLS-TP packet is an MPLS packet of Stack) bit SHALL be set to indicate the bottom (i.e. inner-most)
as specified in [RFC3032], and so in particular has precisely one label in the label stack that is contiguous between the MPLS-TP LSP
label stack, and one label in the stack with its S (Bottom of Stack) and its payload. This behaviour reflects best current practice in
bit set to 1. MPLS but differs slightly from [RFC3032], which uses the S bit to
identify when MPLS label processing stops and network layer
processing starts.
3.1.3. LSP Types 3.1.3. LSP Types
The MPLS-TP includes the following LSP types: The MPLS-TP includes the following LSP types:
o Point-to-point unidirectional o Point-to-point unidirectional
o Point-to-point associated bidirectional o Point-to-point associated bidirectional
o Point-to-point co-routed bidirectional o Point-to-point co-routed bidirectional
skipping to change at page 7, line 38 skipping to change at page 7, line 35
o Point-to-multipoint unidirectional o Point-to-multipoint unidirectional
Point-to-point unidirectional LSPs are supported by the basic MPLS Point-to-point unidirectional LSPs are supported by the basic MPLS
architecture [RFC3031] and are REQUIRED to function in the same architecture [RFC3031] and are REQUIRED to function in the same
manner in the MPLS-TP data plane except as explicitly stated manner in the MPLS-TP data plane except as explicitly stated
otherwise in this document. otherwise in this document.
A point-to-point associated bidirectional LSP between LSRs A and B A point-to-point associated bidirectional LSP between LSRs A and B
consists of two unidirectional point-to-point LSPs, one from A to B consists of two unidirectional point-to-point LSPs, one from A to B
and the other from B to A, which are regarded as a pair providing a and the other from B to A, which are regarded as a pair providing a
single logical bidirectional transport path. The nodes A and B are single logical bidirectional transport path.
REQUIRED to be aware of this pairing relationship, but other nodes
need not be.
A point-to-point co-routed bidirectional LSP is a point-to-point A point-to-point co-routed bidirectional LSP is a point-to-point
associated bidirectional LSP with the additional constraint that its associated bidirectional LSP with the additional constraint that its
two unidirectional component LSPs follow the same path in the two unidirectional component LSPs in each direction follow the same
network. This means that if one of the component LSPs follows the path (in terms of both nodes and links). An important property of
path through the nodes N0, ..., Nk, originating on N0 and terminating co-routed bidirectional LSPs is that their unidirectional component
on Nk, then the path of the other component LSP is Nk, ..., N0, and LSPs share fate.
that at each node an ingress interface of one component LSP is an
egress interface of the other. In addition, each node along the path
is REQUIRED to be aware of the pairing relationship between the
component LSPs.
A point-to-multipoint unidirectional LSP functions in the same manner A point-to-multipoint unidirectional LSP functions in the same manner
in the data plane, with respect to basic label processing and packet- in the data plane, with respect to basic label processing and packet-
switching operations, as a point-to-point unidirectional LSP, with switching operations, as a point-to-point unidirectional LSP, with
one difference: an LSR may have more than one (egress interface, one difference: an LSR may have more than one (egress interface,
outgoing label) pair associated with the LSP, and any packet it outgoing label) pair associated with the LSP, and any packet it
transmits on the LSP is transmitted out all associated egress transmits on the LSP is transmitted out all associated egress
interfaces. Point-to-multipoint LSPs are described in [RFC4875] and interfaces. Point-to-multipoint LSPs are described in [RFC4875] and
[RFC5332]. [RFC5332]. TTL processing and exception handling for point-to-
multipoint LSPs is the same as for point-to-point LSPs and is
described in Section 2.
3.2. Sections 3.2. Sections
Two MPLS-TP LSRs are considered to be topologically adjacent at a Two MPLS-TP LSRs are considered to be topologically adjacent at a
particular layer n >= 0 of the MPLS-TP LSP hierarchy if there exists particular layer n >= 0 of the MPLS-TP LSP hierarchy if there exists
a link between them at the next lowest network layer. Such a link, connectivity between them at the next lowest network layer. Such
if it exists, will be either an MPLS-TP LSP (if n > 0) or a data-link connectivity, if it exists, will be either an MPLS-TP LSP (if n > 0)
provided by the underlying server layer network (if n = 0), and is or a data-link provided by the underlying server layer network (if n
referred to as an MPLS-TP Section at layer n of the MPLS-TP LSP = 0), and is referred to as an MPLS-TP Section at layer n of the
hierarchy. Thus, the links traversed by a layer n+1 MPLS-TP LSP are MPLS-TP LSP hierarchy. Thus, the links traversed by a layer n+1
layer n MPLS-TP sections. Such an LSP is referred to as a client of MPLS-TP LSP are layer n MPLS-TP sections. Such an LSP is referred to
the section layer, and the section layer as the server layer with as a client of the section layer, and the section layer as the server
respect to its clients. layer with respect to its clients.
Note that the MPLS label stack associated with an MPLS-TP section at Note that the MPLS label stack associated with an MPLS-TP section at
layer n consists of n labels, in the absence of stack optimisation layer n consists of n labels, in the absence of stack optimisation
mechanisms such as PHP. Note also that in order for two LSRs to mechanisms. Note also that in order for two LSRs to exchange non-IP
exchange MPLS-TP control packets over a section, an additional label, MPLS-TP control packets over a section, an additional label, the
the G-ACh Label (GAL) (see Section 4) must appear at the bottom of G-ACh Label (GAL) (see Section 4) MUST appear at the bottom of the
the label stack. label stack.
An MPLS-TP section may provide one or more of the following types of An MPLS-TP section may provide one or more of the following types of
service to its client layer: service to its client layer:
o Point-to-point bidirectional o Point-to-point bidirectional
o Point-to-point unidirectional o Point-to-point unidirectional
o Point-to-multipoint unidirectional o Point-to-multipoint unidirectional
The manner in which a section provides such a service is outside the The manner in which a section provides such a service is outside the
scope of the MPLS-TP. scope of the MPLS-TP.
Note that an LSP of any of the types listed in Section 3.1.3 may Note that an LSP of any of the types listed in Section 3.1.3 may
serve as a section for a client-layer transport entity as long as it serve as a section for a client-layer transport entity as long as it
supports the type of service the client requires. supports the type of service the client requires.
An important difference exists between data-link-based sections and
LSP-based sections. A data-link-based section can carry additional
packet context information such as a protocol type indication. If an
LSP-based section requires such context, then a service label (see
[I-D.ietf-mpls-tp-framework]) must be used to provide it.
3.3. Pseudowires 3.3. Pseudowires
The data-plane architectures for Single-Segment Pseudowires The data plane architectures for Single-Segment Pseudowires [RFC3985]
[RFC3985], Multi-Segment Pseudowires [RFC5659], and Point-to- and Multi-Segment Pseudowires [RFC5659] are included in the MPLS-TP.
Multipoint Pseudowires [I-D.ietf-pwe3-p2mp-pw-requirements], and the
associated data-plane pseudowire protocol functions, as defined by Data plane processing procedures for pseudowires SHALL be as defined
the IETF Pseudowire Emulation Edge-to-Edge (PWE3) Working Group, are in the following documents and in any future pseudowire data plane
included in the MPLS-TP. specifications:
o [RFC4717]
o [RFC4816]
o [RFC4385]
o [RFC4448]
o [RFC4619]
o [RFC4618]
o [RFC4553]
o [RFC4842]
o [RFC5087]
o [I-D.ietf-pwe3-fc-encap]
o [RFC5086]
This document specifies no modifications or extensions to pseudowire This document specifies no modifications or extensions to pseudowire
data-plane architectures or protocols. data plane architectures or protocols.
4. MPLS-TP Generic Associated Channel 4. MPLS-TP Generic Associated Channel
The MPLS Generic Associated Channel (G-ACh) mechanism is specified in The MPLS Generic Associated Channel (G-ACh) mechanism is specified in
[RFC5586] and included in the MPLS-TP. The G-ACh provides an [RFC5586] and included in the MPLS-TP. The G-ACh provides an
auxiliary logical data channel associated with MPLS-TP Sections, auxiliary logical data channel associated with MPLS-TP Sections,
LSPs, and PWs in the data plane. The primary purpose of the G-ACh in LSPs, and PWs in the data plane. The primary purpose of the G-ACh in
the context of MPLS-TP is to support control, management, and OAM the context of MPLS-TP is to support control, management, and
traffic associated with MPLS-TP transport entities. The G-ACh MUST Operations, Administration and Maintenance (OAM) traffic associated
NOT be used to transport client layer network traffic in MPLS-TP with MPLS-TP transport entities. The G-ACh MUST NOT be used to
networks. transport client layer network traffic in MPLS-TP networks.
For pseudowires, the G-ACh uses the first four bits of the PW control For pseudowires, the G-ACh uses the first four bits of the PW control
word to provide the initial discrimination between data packets and word to provide the initial discrimination between data packets and
packets belonging to the associated channel, as described in packets belonging to the associated channel, as described in
[RFC4385]. When this first nibble of a packet, immediately following [RFC4385]. When this first nibble of a packet, immediately following
the label at the bottom of stack, has a value of '1', then this the label at the bottom of stack, has a value of '1', then this
packet belongs to a G-ACh. The first 32 bits following the bottom of packet belongs to a G-ACh. The first 32 bits following the bottom of
stack label then have a defined format called an Associated Channel stack label then have a defined format called an Associated Channel
Header (ACH), which further defines the content of the packet. The Header (ACH), which further defines the content of the packet. The
ACH is therefore both a demultiplexer for G-ACh traffic on the PW, ACH is therefore both a demultiplexer for G-ACh traffic on the PW,
and a discriminator for the type of G-ACh traffic. and a discriminator for the type of G-ACh traffic.
When the the control message is carried over a section or an LSP, When the the control message is carried over a section or an LSP,
rather than over a PW, it is necessary to provide an indication in rather than over a PW, it is necessary to provide an indication in
the packet that the payload is something other than a client data the packet that the payload is something other than a client data
packet. This is achieved by including a reserved label with a value packet. This is achieved by including a reserved label with a value
of 13 in the label stack. This reserved label is referred to as the of 13 at the bottom of the label stack. This reserved label is
G-ACh Label (GAL), and is defined in [RFC5586]. When a GAL is found, referred to as the G-ACh Label (GAL), and is defined in [RFC5586].
it indicates that the payload begins with an ACH. The GAL is thus a When a GAL is found, it indicates that the payload begins with an
demultiplexer for G-ACh traffic on the section or the LSP, and the ACH. The GAL is thus a demultiplexer for G-ACh traffic on the
ACH is a discriminator for the type of traffic carried on the G-ACh. section or the LSP, and the ACH is a discriminator for the type of
Note however that MPLS-TP forwarding follows the normal MPLS model, traffic carried on the G-ACh. Note however that MPLS-TP forwarding
and that a GAL is invisible to an LSR unless it is the top label in follows the normal MPLS model, and that a GAL is invisible to an LSR
the label stack. The only other circumstance under which the label unless it is the top label in the label stack. The only other
stack may be inspected for a GAL is when the TTL has expired. Any circumstance under which the label stack may be inspected for a GAL
MPLS-TP component that intentionally performs this inspection must is when the TTL has expired. Note that normal packet forwarding MAY
assume that it is asynchronous with respect to the forwarding of continue concurrently with this inspection. All operations on the
other packets. All operations on the label stack are in accordance label stack are in accordance with [RFC3031] and [RFC3032].
with [RFC3031] and [RFC3032].
5. Server Layer Considerations
This section discusses considerations for support of the MPLS-TP data
plane by server layer technologies and media.
In general, the MPLS-TP network has no awareness of the internals of
the server layer of which it is a client, requiring only that the
server layer be capable of delivering the type of service required by
the MPLS-TP transport entities that make use of it. Note that what
appears to be a single server layer link to the MPLS-TP network may
be a complicated construct underneath, such as an LSP or a collection
of underlying links operating as a bundle. Special care may be
needed in network design and operation when such constructs are used
as a server layer for MPLS-TP.
5.1. Ethernet Media
5.1.1. Point-to-Point Links
When two MPLS-TP nodes are connected by a point-to-point Ethernet An application processing a packet received over the G-ACh may
link, the question arises as to what destination Ethernet Media require packet-specific context (such as the receiving interface or
Access Control (MAC) address should be specified in Ethernet frames received label stack). Data plane implementations MUST therefore
transmitted to the peer node over the link. The problem of provide adequate context to the application which is to process a
determining this address does not arise in IP/MPLS networks because G-ACh packet. The definition of the context required MUST be
of the presence of the Ethernet Address Resolution Protocol (ARP) provided as part of the specification of the application using the
[RFC0826] or IP version 6 Neighbor Discovery protocol [RFC4861], G-ACh.
which allow the unicast MAC address of the peer device to be learned
dynamically.
If existing mechanisms are available in an MPLS-TP network to 5. Server Layer Considerations
determine the destination unicast MAC addresses of peer nodes - for
example if the network also happens to be an IP/MPLS network - such
mechanisms SHOULD be used. The remainder of this section discusses
the available options when this is not the case.
One possibility is for each node to be statically configured with the The MPLS-TP network has no awareness of the internals of the server
MAC address of its peer. Static MAC address configuration MAY be layer of which it is a client, requiring only that the server layer
used in an MPLS-TP network, but can present an administrative burden be capable of delivering the type of service required by the MPLS-TP
and lead to operational problems. For example, replacement of an transport entities that make use of it. Note that what appears to be
Ethernet interface to resolve a hardware fault when this approach is a single server layer link to the MPLS-TP network may be a
used requires that the peer node be manually reconfigured with the complicated construct underneath, such as an LSP or a collection of
new MAC address. This is especially problematic if the peer is underlying links operating as a bundle. Special care may be needed
operated by another provider. in network design and operation when such constructs are used as a
server layer for MPLS-TP.
Another possibility is to use the Ethernet broadcast address, but Encapsulation of MPLS-TP packets for transport over specific server-
this may lead to excessive frame distribution and processing at the layer media is outside the scope of this document.
Ethernet layer. Broadcast traffic may also be treated specially by
some devices and this may not be desirable for MPLS-TP data frames.
The preferred approach is therefore to use as the destination MAC 6. Security Considerations
address an Ethernet multicast address reserved for MPLS-TP for use
over point-to-point links. The address allocated for this purpose by
the Internet Assigned Numbers Authority (IANA) is 01-00-5E-XX-XX-XX.
An MPLS-TP implementation MUST process Ethernet frames received over
a point-to-point link with this destination MAC address by default.
Note that this approach is applicable only when the attached Ethernet The MPLS data plane (and therefore the MPLS-TP data plane) does not
link is known to be point-to-point. If a link is not known to be provide any security mechanisms in and of itself. The following
point-to-point, the reserved MAC address noted above MUST NOT be behaviour, however, is considered a best current practise for MPLS
used. LSRs which is also applicable to MPLS-TP:
A further alternative is to adapt or introduce a protocol mechanism An LSR SHOULD discard a packet received from a particular neighbour
for learning the Ethernet unicast MAC addresses of MPLS-TP peers that unless one of the following two conditions holds:
are not also IP peers. This topic is for further study.
5.1.2. Multipoint Links 1. Any MPLS label processed at the receiving LSR, such as an LSP or
PW label, has a label value that the receiving LSR has
distributed to that neighbour; or
When a multipoint Ethernet link serves as a section for a point-to- 2. Any MPLS label processed at the receiving LSR, such as an LSP or
multipoint MPLS-TP LSP, and multicast destination MAC addressing at PW label, has a label value that the receiving LSR has previously
the Ethernet layer is used for the LSP, the addressing and distributed to the peer beyond that neighbour (i.e., when it is
encapsulation procedures specified in [RFC5332] SHALL be used. known that the path from the system to which the label was
distributed to the receiving system is via that neighbour).
When a multipoint Ethernet link - that is, a link which is not known Client layers that wish to secure data carried over MPLS-TP transport
to be point-to-point - serves as a section for a point-to-point entities are REQUIRED to apply their own security mechanisms.
MPLS-TP LSP, unicast destination MAC addresses must be used for
Ethernet frames carrying packets of the LSP. Note that according to
the discussion in the previous section, this implies the use of
either static MAC address configuration or a protocol that enables
peer MAC address discovery.
6. Security Considerations Where management or control plane protocols are used to install label
switching operations necessary to establish MPLS-TP transport paths,
those protocols are equipped with security features and network
operators may use those features to securely create the transport
paths.
This document serves primarily to specify which aspects of existing Further details of MPLS security can be found in
MPLS data-plane functionality apply to MPLS-TP. As such it [I-D.ietf-mpls-mpls-and-gmpls-security-framework].
introduces no new security considerations in itself, but the security
considerations documented in the specifications to which it refers
apply as well to MPLS-TP.
7. IANA Considerations 7. IANA Considerations
The authors request that IANA allocate an Ethernet Multicast Address This document introduces no new IANA considerations.
from the Ethernet Multicast Addresses table in the ethernet-numbers
registry for use by MPLS-TP LSRs over point-to-point links as
described in Section 5.1.1. The entry should specify an address of
the form 01-00-5E-XX-XX-XX, a Type Field of 8847/8848, and a usage
"MPLS-TP point-to-point (this draft)".
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
Label Switching Architecture", RFC 3031, January 2001. Label Switching Architecture", RFC 3031, January 2001.
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
Encoding", RFC 3032, January 2001. Encoding", RFC 3032, January 2001.
[RFC5654] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and S. Ueno, "Requirements of an MPLS Transport Profile", and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
RFC 5654, September 2009. Tunnels", RFC 3209, December 2001.
[RFC5586] Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic
Associated Channel", RFC 5586, June 2009.
[RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen, [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi- P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
Protocol Label Switching (MPLS) Support of Differentiated Protocol Label Switching (MPLS) Support of Differentiated
Services", RFC 3270, May 2002. Services", RFC 3270, May 2002.
[RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing [RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing
in Multi-Protocol Label Switching (MPLS) Networks", in Multi-Protocol Label Switching (MPLS) Networks",
RFC 3443, January 2003. RFC 3443, January 2003.
[RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
(MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
Class" Field", RFC 5462, February 2009. Use over an MPLS PSN", RFC 4385, February 2006.
[RFC5331] Aggarwal, R., Rekhter, Y., and E. Rosen, "MPLS Upstream [RFC4448] Martini, L., Rosen, E., El-Aawar, N., and G. Heron,
Label Assignment and Context-Specific Label Space", "Encapsulation Methods for Transport of Ethernet over MPLS
RFC 5331, August 2008. Networks", RFC 4448, April 2006.
[RFC4553] Vainshtein, A. and YJ. Stein, "Structure-Agnostic Time
Division Multiplexing (TDM) over Packet (SAToP)",
RFC 4553, June 2006.
[RFC4618] Martini, L., Rosen, E., Heron, G., and A. Malis,
"Encapsulation Methods for Transport of PPP/High-Level
Data Link Control (HDLC) over MPLS Networks", RFC 4618,
September 2006.
[RFC4619] Martini, L., Kawa, C., and A. Malis, "Encapsulation
Methods for Transport of Frame Relay over Multiprotocol
Label Switching (MPLS) Networks", RFC 4619,
September 2006.
[RFC4717] Martini, L., Jayakumar, J., Bocci, M., El-Aawar, N.,
Brayley, J., and G. Koleyni, "Encapsulation Methods for
Transport of Asynchronous Transfer Mode (ATM) over MPLS
Networks", RFC 4717, December 2006.
[RFC4816] Malis, A., Martini, L., Brayley, J., and T. Walsh,
"Pseudowire Emulation Edge-to-Edge (PWE3) Asynchronous
Transfer Mode (ATM) Transparent Cell Transport Service",
RFC 4816, February 2007.
[RFC4842] Malis, A., Pate, P., Cohen, R., and D. Zelig, "Synchronous
Optical Network/Synchronous Digital Hierarchy (SONET/SDH)
Circuit Emulation over Packet (CEP)", RFC 4842,
April 2007.
[RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa, [RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa,
"Extensions to Resource Reservation Protocol - Traffic "Extensions to Resource Reservation Protocol - Traffic
Engineering (RSVP-TE) for Point-to-Multipoint TE Label Engineering (RSVP-TE) for Point-to-Multipoint TE Label
Switched Paths (LSPs)", RFC 4875, May 2007. Switched Paths (LSPs)", RFC 4875, May 2007.
[RFC5331] Aggarwal, R., Rekhter, Y., and E. Rosen, "MPLS Upstream
Label Assignment and Context-Specific Label Space",
RFC 5331, August 2008.
[RFC5332] Eckert, T., Rosen, E., Aggarwal, R., and Y. Rekhter, "MPLS [RFC5332] Eckert, T., Rosen, E., Aggarwal, R., and Y. Rekhter, "MPLS
Multicast Encapsulations", RFC 5332, August 2008. Multicast Encapsulations", RFC 5332, August 2008.
[RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching
"Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
Use over an MPLS PSN", RFC 4385, February 2006. Class" Field", RFC 5462, February 2009.
[RFC5586] Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic
Associated Channel", RFC 5586, June 2009.
[RFC5654] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N.,
and S. Ueno, "Requirements of an MPLS Transport Profile",
RFC 5654, September 2009.
8.2. Informative References 8.2. Informative References
[I-D.ietf-mpls-mpls-and-gmpls-security-framework]
Fang, L. and M. Behringer, "Security Framework for MPLS
and GMPLS Networks",
draft-ietf-mpls-mpls-and-gmpls-security-framework-09 (work
in progress), March 2010.
[I-D.ietf-mpls-tp-framework] [I-D.ietf-mpls-tp-framework]
Bocci, M., Bryant, S., Frost, D., Levrau, L., and L. Bocci, M., Bryant, S., Frost, D., Levrau, L., and L.
Berger, "A Framework for MPLS in Transport Networks", Berger, "A Framework for MPLS in Transport Networks",
draft-ietf-mpls-tp-framework-10 (work in progress), draft-ietf-mpls-tp-framework-11 (work in progress),
February 2010. April 2010.
[I-D.ietf-pwe3-p2mp-pw-requirements] [I-D.ietf-pwe3-fc-encap]
Heron, G., Wang, L., Aggarwal, R., Vigoureux, M., Bocci, Black, D., Roth, M., Tsurusawa, M., Solomon, R., and L.
M., Jin, L., JOUNAY, F., Niger, P., Kamite, Y., DeLord, Dunbar, "Encapsulation Methods for Transport of Fibre
S., and L. Martini, "Requirements for Point-to-Multipoint Channel frames Over MPLS Networks",
Pseudowire", draft-ietf-pwe3-p2mp-pw-requirements-02 (work draft-ietf-pwe3-fc-encap-10 (work in progress),
in progress), January 2010. February 2010.
[RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to- [RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-
Edge (PWE3) Architecture", RFC 3985, March 2005. Edge (PWE3) Architecture", RFC 3985, March 2005.
[RFC5086] Vainshtein, A., Sasson, I., Metz, E., Frost, T., and P.
Pate, "Structure-Aware Time Division Multiplexed (TDM)
Circuit Emulation Service over Packet Switched Network
(CESoPSN)", RFC 5086, December 2007.
[RFC5087] Stein, Y(J)., Shashoua, R., Insler, R., and M. Anavi,
"Time Division Multiplexing over IP (TDMoIP)", RFC 5087,
December 2007.
[RFC5659] Bocci, M. and S. Bryant, "An Architecture for Multi- [RFC5659] Bocci, M. and S. Bryant, "An Architecture for Multi-
Segment Pseudowire Emulation Edge-to-Edge", RFC 5659, Segment Pseudowire Emulation Edge-to-Edge", RFC 5659,
October 2009. October 2009.
[RFC0826] Plummer, D., "Ethernet Address Resolution Protocol: Or
converting network protocol addresses to 48.bit Ethernet
address for transmission on Ethernet hardware", STD 37,
RFC 826, November 1982.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
September 2007.
Authors' Addresses Authors' Addresses
Dan Frost (editor) Dan Frost (editor)
Cisco Systems Cisco Systems
Email: danfrost@cisco.com Email: danfrost@cisco.com
Stewart Bryant (editor) Stewart Bryant (editor)
Cisco Systems Cisco Systems
 End of changes. 70 change blocks. 
254 lines changed or deleted 308 lines changed or added

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