Internet DRAFT - draft-li-pce-tunnel-segment
draft-li-pce-tunnel-segment
Network Working Group Z. Li
Internet-Draft X. Chen
Intended status: Standards Track Huawei Technologies
Expires: September 13, 2017 March 12, 2017
PCEP Extensions for Tunnel Segment
draft-li-pce-tunnel-segment-02
Abstract
[I-D.li-spring-tunnel-segment] introduces a new type of segment,
Tunnel Segment, for the segment routing. Tunnel segment can be used
to reduce SID stack depth of SR path, span the non-SR domain or
provide differentiated services. A binding label can be assigned to
tunnel segment. An upstream node can use such a binding label for
steering traffic into the appropriate tunnel. This document
specifies a set of extensions to PCEP to support that PCC reports
binding label of tunnel to PCE and that PCE allocates label for
tunnel and updates label binding of tunnel to PCC.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 13, 2017.
Li & Chen Expires September 13, 2017 [Page 1]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
Copyright Notice
Copyright (c) 2017 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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Procedure for PCC Reporting Label Binding . . . . . . . . 3
3.2. Procedure for PCE Downloading Label Binding . . . . . . . 5
4. Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. LS object . . . . . . . . . . . . . . . . . . . . . . . . 6
5. TLVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Tunnel Label Binding TLV . . . . . . . . . . . . . . . . 6
5.2. PATH-SETUP-TYPE TLV . . . . . . . . . . . . . . . . . . . 7
5.3. Tunnel Related TLV . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 7
8.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
[I-D.li-spring-tunnel-segment] introduces a new type of segment,
Tunnel Segment, for the segment routing. Tunnel segment can be used
to reduce SID stack depth of SR path, span the non-SR domain or
provide differentiated services. A binding label can be assigned to
tunnel segment. An upstream node can use such a binding label for
steering traffic into the appropriate tunnel. The tunnel segment can
be allocated for RSVP-TE tunnel, SR-TE tunnel or IP tunnel.
[I-D.li-spring-tunnel-segment] defines the requirement of control
plane to support use cases of tunnel segment. The PCE related
requirements are as follows:
Li & Chen Expires September 13, 2017 [Page 2]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
-- PCEP extensions SHOULD be introduced to advertise the binding
relationship between a SID/label and the corresponding tunnel from a
PCC to a PCE. Attributes of the tunnel MAY be carried optionally.
-- PCE SHOULD support to allocate SID/label for the corresponding
tunnel dynamically.
-- PCEP extensions SHOULD be introduced to distribute the binding
relationship between a SID/label and the corresponding tunnel from a
PCE to a PCC. Attributes of the tunnel MAY be carried optionally.
This document specifies the protocol extensions to PCEP to support
these requirements defined in [I-D.li-spring-tunnel-segment].
2. Terminology
SR: Segment Routing
SR-TE: Segment Routing Traffic Engineering
SR-TE Tunnel: Segment Routing Traffic Engineering Tunnel
This document uses the terms defined in [RFC5440]: PCC, PCE, PCEP
Peer.
The following terms are defined in [I-D.ietf-pce-pce-initiated-lsp]:
PCE-initiated LSP: LSP that is instantiated as a result of a request
from the PCE.
The following terms are defined in
[I-D.chen-pce-pce-initiated-ip-tunnel]:
IP Tunnel: Tunnel that uses IP encapsulation.
PCE-initiated IP Tunnel: IP Tunnel that is instantiated as a result
of a request from the PCE.
3. Procedures
3.1. Procedure for PCC Reporting Label Binding
In the procedure for PCC reporting the label binding PCC allocates
the label and reports the label binding for the tunnel according to
the local policy PCC. For report the label binding information,
there are following options:
Li & Chen Expires September 13, 2017 [Page 3]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
Option 1: [I-D.zhao-pce-pcep-extension-for-pce-controller] specifies
the procedures and PCEP protocol extensions for using the PCE as the
central controller where LSPs are calculated/setup/initiated and
label forwarding entries are downloaded to PCC. It introduces the
LABEL object to specify the label binding information in PCLabelUpd
message. The label carried in LABEL object is mapped to specific LSP
carried in LSP object or FEC carried in FEC object. The LABEL object
defined in the document is to allocate label from the PCE to PCC and
is not appropriate to represent the label binding for the tunnel
which can be carried in other PCE objects.
Option 2: [I-D.sivabalan-pce-binding-label-sid] proposes an approach
for reporting binding label/SID to Path Computation Element (PCE) for
supporting PCE-based Traffic Engineering policies. It introduces the
optional TLV called "TE-PATH-BINDING TLV" to carry binding label or
SID for a TE path. This TLV is limited to traffic engineering and
not appropriate for tunnel segment.
Option 3: PCEP-LS [I-D.dhodylee-pce-pcep-ls] extends the Path
Computation Element Communication Protocol (PCEP) with TED population
capability. A PCEP LS Report message (also referred to as LSRpt
message) is sent by a PCC to a PCE to report the TED state. The LS
object is a mandatory object which carries TE information of a TE
node or a TE link. [I-D.wu-pce-pcep-ls-sr-extension] introduces new
extensions of PCEP-LS to export path segment information for Segment
Routing.
This document adopts Option 3 and introduces a new type of TLV,
TUNNEL-LABEL-BINDING TLV, which is a new optional TLV defined to
report the label mapping for the tunnel in the case of Segement
Routing. The tunnel can be PCE-initiated tunnel or created by PCC.
[I-D.chen-pce-pce-initiated-ip-tunnel] defines the PCE-initiated IP
tunnel and Tunnel object. Tunnel related TLVs defined in [I-D.chen-
pce-pce-initiated-ip-tunnel] will be used when report label binding
for the tunnel. In order to support Tunnel Segment for MPLS TE
tunnel and SR-TE tunnel, this document introduces two new tunnel
types for tunnel related TLVs: RSVP-TE tunnel and SR-TE tunnel.
In this document LS object will be extended to carry the label
mapping information for the tunnel. A new Object-Type value is
defined for the LS object to indicate Tunnel Segment. The LS object
in LSRpt message MUST carry both TUNNEL-LABEL-BINDING TLV and Tunnel
Identifier TLV with the new Object-Type value. If a PCC wants to
modify a previously reported label, it MUST send a LSRpt message with
the TUNNEL-LABEL-BINDING TLV containing the new label binding value.
If the Tunnel Identifier TLV is missing, the PCE will generate an
error with error-type 6 (mandatory object missing) and error-value
which means Tunnel Identifier TLV missing and close the session. If
Li & Chen Expires September 13, 2017 [Page 4]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
the TUNNEL-LABEL-BINDING TLV is missing, the PCE will generate an
error with error-type 6 (mandatory object missing) and error-value
which means TUNNEL-LABEL-BINDING TLV missing and close the session.
If a PCE does not recognize the TUNNEL-LABEL-BINDING TLV, it MUST
ignore the TLV in accordance with [RFC5440]. If a PCE recognizes the
TLV but does not support the TLV, it MUST send PCErr with Error-Type
= 2 (Capability not supported). If there are more than one TUNNEL-
LABEL-BINDING TLVs, only the first TLV MUST be processed and the rest
MUST be silently ignored.
If a PCE does not recognize the Tunnel Identifier TLV, it MUST ignore
the TLV in accordance with [RFC5440]. If a PCE recognizes the TLV
but does not support the TLV, it MUST send PCErr with Error-Type = 2
(Capability not supported). If there are more than one Tunnel
Identifier TLVs, only the first TLV MUST be processed and the rest
MUST be silently ignored.
3.2. Procedure for PCE Downloading Label Binding
[I-D.zhao-pce-pcep-extension-for-pce-controller] has defined the
Label Update Message (also referred to as PCLabelUpd) that is a PCEP
message sent by a PCE to a PCC to download label or update the label
mapping. The same message is also used to cleanup the label mapping.
In the procedure for PCE downloading the label binding for Tunnel
Segment PCE is responsible for allocating the label for PCE-initiated
tunnel or the tunnel initiated by PCC and reported to PCE.
[I-D.chen-pce-pce-initiated-ip-tunnel] defines the PCE-initiated IP
tunnel and the TUNNEL object. PCE uses the Label Update Message to
download the label mapping for the tunnel in the case of Segment
Routing. The PCLabelUpd Message is defined in
[I-D.zhao-pce-pcep-extension-for-pce-controller] and the extension of
the PCLabelUpd message for tunnel segment is defined as follows:
<pce-label-update> ::= (<pce-label-download>|<pce-label-map>
|<pce-label-tunnel-map>)
Where:
<pce-label-tunnel-map> ::= <SRP>
<LABEL>
<TUNNEL>
TUNNEL object refers to the definition of
[I-D.chen-pce-pce-initiated-ip-tunnel] and this document extends the
use of TUNNEL object in PCLabelUpd message. In order to support
Tunnel Segment for MPLS TE tunnel and SR-TE tunnel, this document
introduces two new tunnel types for TLVs used in TUNNEL object: RSVP-
TE tunnel and SR-TE tunnel. The TUNNEL object is an optional object
Li & Chen Expires September 13, 2017 [Page 5]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
and used in the tunnel segment mode in PCLabelUpd message. TUNNEL
object in PCLabelUpd message MUST carry the TUNNEL-IDENTIFIER TLV
with Tunnel ID set. If the TLV is missing, the PCC will generate a
PCErr message with Error-Type=6 (mandatory object missing) and Error-
Value which means Tunnel Identifier TLV missing and close the
session.
To cleanup the label mapping for the tunnel the SRP object MUST set
the R (remove) bit.
PCE downloads the label mapping to the ingress node of the tunnel and
create the label forwarding entry for the tunnel segment. PCE can
also download the label mapping to other nodes which will use the
label mapping of the tunnel for SR path computation.
4. Objects
4.1. LS object
LS object is defined in [I-D.draft-dhodylee-pce-pcep-ls]. This
document defines a new Object-Type value for LS object:
o Tunnel Segment: LS Object-Type is 5 (to be assigned by IANA).
5. TLVs
5.1. Tunnel Label Binding TLV
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 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Binding Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: TUNNEL-LABEL-BINDING TLV
The type of the TLV is to be assigned by IANA and it has a fixed
length of 4 octets.
The value contains the following fields:
Binding Label: contains the binding label which is generic.
Li & Chen Expires September 13, 2017 [Page 6]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
5.2. PATH-SETUP-TYPE TLV
The PATH-SETUP-TYPE TLV is defined in
[I-D.sivabalan-pce-lsp-setup-type]. This document defines following
new PST value:
o PST = 4(to be assigned by IANA): tunnel segment mode that means
path setup will use the tunnel segment.
On a PCLabelUpd message, the PST=4 in PATH-SETUP-TYPE TLV in SRP
object indicates that this LSP was setup using the tunnel segment.
5.3. Tunnel Related TLV
[I-D.chen-pce-pce-initiated-ip-tunnel] defines tunnel related TLVs
including Tunnel Identifier TLV, Tunnel Name TLV, Tunnel Parameter
TLV and Tunnel Attribute TLV. Tunnel Identifier TLV and Tunnel
Parameter TLV contain the Tunnel Type field and only IP tunnel types
are defined. This document defines following two new tunnel types to
support RSVP-TE tunnel and SR-TE tunnel. The values are to be
assigned by IANA and MUST NOT conflict with the registry for "BGP
Tunnel Encapsulation Attribute Tunnel Types" [RFC5512] assigned by
IANA.
Tunnel Type Value
--------------- -----
RSVP-TE 14
SR-TE 15
Tunnel Identifier TLV can be directly used for RSVP-TE tunnel and SR-
TE tunnel. Tunnel Parameter TLV for RSVP-TE tunnel and SR-TE tunnel
will be defined in the future version.
6. IANA Considerations
TBD.
7. Security Considerations
TBD.
8. References
8.1. Normative References
Li & Chen Expires September 13, 2017 [Page 7]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
[I-D.chen-pce-pce-initiated-ip-tunnel]
Chen, X. and Z. Li, "PCE-initiated IP Tunnel", draft-chen-
pce-pce-initiated-ip-tunnel-00 (work in progress),
September 2015.
[I-D.dhodylee-pce-pcep-ls]
Dhody, D., Lee, Y., and D. Ceccarelli, "PCEP Extension for
Distribution of Link-State and TE Information.", draft-
dhodylee-pce-pcep-ls-07 (work in progress), March 2017.
[I-D.li-spring-tunnel-segment]
Li, Z. and N. Wu, "Tunnel Segment in Segment Routing",
draft-li-spring-tunnel-segment-01 (work in progress),
March 2016.
[I-D.wu-pce-pcep-ls-sr-extension]
Wu, N. and Z. Li, "PCEP Link-State Extensions for Segment
Routing", draft-wu-pce-pcep-ls-sr-extension-00 (work in
progress), September 2015.
[I-D.zhao-pce-pcep-extension-for-pce-controller]
Zhao, Q., Li, Z., Dhody, D., and C. Zhou, "PCEP Procedures
and Protocol Extensions for Using PCE as a Central
Controller (PCECC) of LSPs", draft-zhao-pce-pcep-
extension-for-pce-controller-04 (work in progress),
January 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009,
<http://www.rfc-editor.org/info/rfc5440>.
[RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation
Subsequent Address Family Identifier (SAFI) and the BGP
Tunnel Encapsulation Attribute", RFC 5512,
DOI 10.17487/RFC5512, April 2009,
<http://www.rfc-editor.org/info/rfc5512>.
8.2. Informative References
Li & Chen Expires September 13, 2017 [Page 8]
Internet-Draft PCEP Extensions for Tunnel Segment March 2017
[I-D.ietf-pce-pce-initiated-lsp]
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP
Extensions for PCE-initiated LSP Setup in a Stateful PCE
Model", draft-ietf-pce-pce-initiated-lsp-09 (work in
progress), March 2017.
[I-D.sivabalan-pce-binding-label-sid]
Sivabalan, S., Filsfils, C., Previdi, S., Tantsura, J.,
Hardwick, J., and M. Nanduri, "Carrying Binding Label/
Segment-ID in PCE-based Networks.", draft-sivabalan-pce-
binding-label-sid-02 (work in progress), October 2016.
[I-D.sivabalan-pce-lsp-setup-type]
Sivabalan, S., Medved, J., Minei, I., Crabbe, E., and R.
Varga, "Conveying path setup type in PCEP messages",
draft-sivabalan-pce-lsp-setup-type-02 (work in progress),
June 2014.
Authors' Addresses
Zhenbin Li
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: lizhenbin@huawei.com
Xia Chen
Huawei Technologies
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: jescia.chenxia@huawei.com
Li & Chen Expires September 13, 2017 [Page 9]