Internet Engineering Task Force (IETF)
Request for Comments: 6387
Obsoletes: 5467
Category: Standards Track
ISSN: 2070-1721
A. Takacs
Ericsson
L. Berger
LabN Consulting, L.L.C.
D. Caviglia
Ericsson
D. Fedyk
Alcatel-Lucent
J. Meuric
France Telecom Orange
September 2011

GMPLS Asymmetric Bandwidth Bidirectional Label Switched Paths (LSPs)

Abstract

This document defines a method for the support of GMPLS asymmetric bandwidth bidirectional Label Switched Paths (LSPs). The approach presented is applicable to any switching technology and builds on the original Resource Reservation Protocol (RSVP) model for the transport of traffic-related parameters. This document moves the experiment documented in RFC 5467 to the standards track and obsoletes RFC 5467.

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/rfc6387.

Copyright Notice

Copyright © 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 . . . . . . . . . . . . . . . . . . . . . . . . .  2
     1.1.  Background . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Approach Overview  . . . . . . . . . . . . . . . . . . . .  3
     1.3.  Conventions Used in This Document  . . . . . . . . . . . .  4
   2.  Generalized Asymmetric Bandwidth Bidirectional LSPs  . . . . .  4
     2.1.  UPSTREAM_FLOWSPEC Object . . . . . . . . . . . . . . . . .  5
       2.1.1.  Procedures . . . . . . . . . . . . . . . . . . . . . .  5
     2.2.  UPSTREAM_TSPEC Object  . . . . . . . . . . . . . . . . . .  5
       2.2.1.  Procedures . . . . . . . . . . . . . . . . . . . . . .  5
     2.3.  UPSTREAM_ADSPEC Object . . . . . . . . . . . . . . . . . .  6
       2.3.1.  Procedures . . . . . . . . . . . . . . . . . . . . . .  6
   3.  Packet Formats . . . . . . . . . . . . . . . . . . . . . . . .  6
   4.  Compatibility  . . . . . . . . . . . . . . . . . . . . . . . .  7
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
     5.1.  UPSTREAM_FLOWSPEC Object . . . . . . . . . . . . . . . . .  8
     5.2.  UPSTREAM_TSPEC Object  . . . . . . . . . . . . . . . . . .  8
     5.3.  UPSTREAM_ADSPEC Object . . . . . . . . . . . . . . . . . .  8
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     7.1.  Normative References . . . . . . . . . . . . . . . . . . .  9
     7.2.  Informative References . . . . . . . . . . . . . . . . . .  9

1. Introduction

GMPLS [RFC3473] introduced explicit support for bidirectional Label Switched Paths (LSPs). The defined support matched the switching technologies covered by GMPLS, notably Time Division Multiplexing (TDM) and lambdas; specifically, it only supported bidirectional LSPs with symmetric bandwidth allocation. Symmetric bandwidth requirements are conveyed using the semantics objects defined in [RFC2205] and [RFC2210].

GMPLS asymmetric bandwidth bidirectional LSPs are bidirectional LSPs that have different bandwidth reservations in each direction. Support for bidirectional LSPs with asymmetric bandwidth was previously discussed in the context of Ethernet, notably [RFC6060] and [RFC6003]. In that context, asymmetric bandwidth support was considered to be a capability that was unlikely to be deployed, and hence [RFC5467] was published as Experimental. The MPLS Transport Profile, MPLS-TP, requires that asymmetric bandwidth bidirectional LSPs be supported (see [RFC5654]); therefore, this document is being published on the Standards Track. This document has no technical changes from the approach defined in [RFC5467]. This document moves the experiment documented in [RFC5467] to the standards track and obsoletes [RFC5467]. This document also removes the Ethernet- technology-specific alternative approach discussed in the appendix of [RFC5467] and maintains only one approach that is suitable for use with any technology.

1.1. Background

Bandwidth parameters are transported within RSVP ([RFC2210], [RFC3209], and [RFC3473]) via several objects that are opaque to RSVP. While opaque to RSVP, these objects support a particular model for the communication of bandwidth information between an RSVP session sender (ingress) and receiver (egress). The original model of communication, defined in [RFC2205] and maintained in [RFC3209], used the SENDER_TSPEC and ADSPEC objects in Path messages and the FLOWSPEC object in Resv messages. The SENDER_TSPEC object was used to indicate a sender's data generation capabilities. The FLOWSPEC object was issued by the receiver and indicated the resources that should be allocated to the associated data traffic. The ADSPEC object was used to inform the receiver and intermediate hops of the actual resources available for the associated data traffic.

With the introduction of bidirectional LSPs in [RFC3473], the model of communication of bandwidth parameters was implicitly changed. In the context of [RFC3473] bidirectional LSPs, the SENDER_TSPEC object indicates the desired resources for both upstream and downstream directions. The FLOWSPEC object is simply confirmation of the allocated resources. The definition of the ADSPEC object is either unmodified and only has meaning for downstream traffic, or is implicitly or explicitly ([RFC4606] and [RFC6003]) irrelevant.

1.2. Approach Overview

The approach for supporting asymmetric bandwidth bidirectional LSPs defined in this document builds on the original RSVP model for the transport of traffic-related parameters and GMPLS's support for bidirectional LSPs.

The defined approach is generic and can be applied to any switching technology supported by GMPLS. With this approach, the existing SENDER_TSPEC, ADSPEC, and FLOWSPEC objects are complemented with the addition of new UPSTREAM_TSPEC, UPSTREAM_ADSPEC, and UPSTREAM_FLOWSPEC objects. The existing objects are used in the original fashion defined in [RFC2205] and [RFC2210], and refer only to traffic associated with the LSP flowing in the downstream direction. The new objects are used in exactly the same fashion as the old objects, but refer to the upstream traffic flow Figure 1 shows the bandwidth-related objects used for asymmetric bandwidth bidirectional LSPs.

                    |---|        Path        |---|
                    | I |------------------->| E |
                    | n | -SENDER_TSPEC      | g |
                    | g | -ADSPEC            | r |
                    | r | -UPSTREAM_FLOWSPEC | e |
                    | e |                    | s |
                    | s |        Resv        | s |
                    | s |<-------------------|   |
                    |   | -FLOWSPEC          |   |
                    |   | -UPSTREAM_TSPEC    |   |
                    |   | -UPSTREAM_ADSPEC   |   |
                    |---|                    |---|

Figure 1: Generic Asymmetric Bandwidth Bidirectional LSPs

The extensions defined in this document are limited to Point-to-Point (P2P) LSPs. Support for Point-to-Multipoint (P2MP) bidirectional LSPs is not currently defined and, as such, not covered in this document.

1.3. 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 [RFC2119].

2. Generalized Asymmetric Bandwidth Bidirectional LSPs

The setup of an asymmetric bandwidth bidirectional LSP is signaled using the bidirectional procedures defined in [RFC3473] together with the inclusion of the new UPSTREAM_FLOWSPEC, UPSTREAM_TSPEC, and UPSTREAM_ADSPEC objects.

The new upstream objects carry the same information and are used in the same fashion as the existing downstream objects; they differ in that they relate to traffic flowing in the upstream direction while the existing objects relate to traffic flowing in the downstream direction. The new objects also differ in that they are carried in messages traveling in the opposite direction.

2.1. UPSTREAM_FLOWSPEC Object

The format of an UPSTREAM_FLOWSPEC object is the same as a FLOWSPEC object [RFC2210]. This includes the definition of class types and their formats. The class number of the UPSTREAM_FLOWSPEC object is 120 (of the form 0bbbbbbb).

2.1.1. Procedures

The Path message of an asymmetric bandwidth bidirectional LSP MUST contain an UPSTREAM_FLOWSPEC object and MUST use the bidirectional LSP formats and procedures defined in [RFC3473]. The C-Type of the UPSTREAM_FLOWSPEC object MUST match the C-Type of the SENDER_TSPEC object used in the Path message. The contents of the UPSTREAM_FLOWSPEC object MUST be constructed using a format and procedures consistent with those used to construct the FLOWSPEC object that will be used for the LSP, e.g., [RFC2210] or [RFC4328].

Nodes processing a Path message containing an UPSTREAM_FLOWSPEC object MUST use the contents of the UPSTREAM_FLOWSPEC object in the upstream label and the resource allocation procedure defined in Section 3.1 of [RFC3473]. Consistent with [RFC3473], a node that is unable to allocate a label or internal resources based on the contents of the UPSTREAM_FLOWSPEC object MUST issue a PathErr message with a "Routing problem/MPLS label allocation failure" indication.

2.2. UPSTREAM_TSPEC Object

The format of an UPSTREAM_TSPEC object is the same as a SENDER_TSPEC object, which includes the definition of class types and their formats. The class number of the UPSTREAM_TSPEC object is 121 (of the form 0bbbbbbb).

2.2.1. Procedures

The UPSTREAM_TSPEC object describes the traffic flow that originates at the egress. The UPSTREAM_TSPEC object MUST be included in any Resv message that corresponds to a Path message containing an UPSTREAM_FLOWSPEC object. The C-Type of the UPSTREAM_TSPEC object MUST match the C-Type of the corresponding UPSTREAM_FLOWSPEC object. The contents of the UPSTREAM_TSPEC object MUST be constructed using a format and procedures consistent with those used to construct the FLOWSPEC object that will be used for the LSP, e.g., [RFC2210] or [RFC4328]. The contents of the UPSTREAM_TSPEC object MAY differ from contents of the UPSTREAM_FLOWSPEC object based on application data transmission requirements.

When an UPSTREAM_TSPEC object is received by an ingress, the ingress MAY determine that the original reservation is insufficient to satisfy the traffic flow. In this case, the ingress MAY tear down the LSP and send a PathTear message. Alternatively, the ingress MAY issue a Path message with an updated UPSTREAM_FLOWSPEC object to modify the resources requested for the upstream traffic flow. This modification might require the LSP to be re-routed, and in extreme cases might result in the LSP being torn down when sufficient resources are not available along the path of the LSP.

2.3. UPSTREAM_ADSPEC Object

The format of an UPSTREAM_ADSPEC object is the same as an ADSPEC object. This includes the definition of class types and their formats. The class number of the UPSTREAM_ADSPEC object is 122 (of the form 0bbbbbbb).

2.3.1. Procedures

The UPSTREAM_ADSPEC object MAY be included in any Resv message that corresponds to a Path message containing an UPSTREAM_FLOWSPEC object. The C-Type of the UPSTREAM_TSPEC object MUST be consistent with the C-Type of the corresponding UPSTREAM_FLOWSPEC object. The contents of the UPSTREAM_ADSPEC object MUST be constructed using a format and procedures consistent with those used to construct the ADSPEC object that will be used for the LSP, e.g., [RFC2210] or [RFC6003]. The UPSTREAM_ADSPEC object is processed using the same procedures as the ADSPEC object and, as such, MAY be updated or added at transit nodes.

3. Packet Formats

This section presents the RSVP message-related formats as modified by this section. This document modifies formats defined in [RFC2205], [RFC3209], and [RFC3473]. See [RFC5511] for the syntax used by RSVP. Unmodified formats are not listed. Three new objects are defined in this section:

      Object name            Applicable RSVP messages
      ---------------        ------------------------
      UPSTREAM_FLOWSPEC      Path, PathTear, PathErr, and Notify
                                 (via sender descriptor)
      UPSTREAM_TSPEC         Resv, ResvConf, ResvTear, ResvErr, and
                                 Notify (via flow descriptor list)
      UPSTREAM_ADSPEC        Resv, ResvConf, ResvTear, ResvErr, and
                                 Notify (via flow descriptor list)

The format of the sender description for bidirectional asymmetric LSPs is:

      <sender descriptor> ::=  <SENDER_TEMPLATE> <SENDER_TSPEC>
      
                               [ <ADSPEC> ]
                               [ <RECORD_ROUTE> ]
                               [ <SUGGESTED_LABEL> ]
                               [ <RECOVERY_LABEL> ]
                               <UPSTREAM_LABEL>
                               <UPSTREAM_FLOWSPEC>

The format of the flow descriptor list for bidirectional asymmetric LSPs is:

<flow descriptor list> ::= <FF flow descriptor list>

| <SE flow descriptor>

<FF flow descriptor list> ::= <FLOWSPEC>

<UPSTREAM_TSPEC> [ <UPSTREAM_ADSPEC> ] <FILTER_SPEC>
<LABEL> [ <RECORD_ROUTE> ] | <FF flow descriptor list> <FF flow descriptor>

      <FF flow descriptor> ::= [ <FLOWSPEC> ]
                               [ <UPSTREAM_TSPEC>] [ <UPSTREAM_ADSPEC> ]
                               <FILTER_SPEC> <LABEL>
                               [ <RECORD_ROUTE> ]
      
      <SE flow descriptor> ::= <FLOWSPEC>
                               <UPSTREAM_TSPEC> [ <UPSTREAM_ADSPEC> ]
                               <SE filter spec list>

<SE filter spec list> is unmodified by this document.

4. Compatibility

This extension reuses and extends semantics and procedures defined in [RFC2205], [RFC3209], and [RFC3473] to support bidirectional LSPs with asymmetric bandwidth. Three new objects are defined to indicate the use of asymmetric bandwidth. Each of these objects is defined with class numbers in the form 0bbbbbbb. Per [RFC2205], nodes not supporting this extension will not recognize the new class numbers and will respond with an "Unknown Object Class" error. The error message will propagate to the ingress, which can then take action to avoid the path with the incompatible node or can simply terminate the session.

5. IANA Considerations

The IANA has made the assignments described below in the "Class Names, Class Numbers, and Class Types" section of the "RSVP PARAMETERS" registry.

5.1. UPSTREAM_FLOWSPEC Object

The class named UPSTREAM_FLOWSPEC has been assigned in the 0bbbbbbb range (120) with the following definition:

Class Types or C-types:

Same values as FLOWSPEC object (C-Num 9)

5.2. UPSTREAM_TSPEC Object

The class named UPSTREAM_TSPEC has been assigned in the 0bbbbbbb range (121) with the following definition:

Class Types or C-types:

Same values as SENDER_TSPEC object (C-Num 12)

5.3. UPSTREAM_ADSPEC Object

The class named UPSTREAM_ADSPEC has been assigned in the 0bbbbbbb range (122) with the following definition:

Class Types or C-types:

Same values as ADSPEC object (C-Num 13)

6. Security Considerations

This document introduces new message objects for use in GMPLS signaling [RFC3473] -- specifically the UPSTREAM_TSPEC, UPSTREAM_ADSPEC, and UPSTREAM_FLOWSPEC objects. These objects parallel the existing SENDER_TSPEC, ADSPEC, and FLOWSPEC objects but are used in the opposite direction. As such, any vulnerabilities that are due to the use of the old objects now apply to messages flowing in the reverse direction.

From a message standpoint, this document does not introduce any new signaling messages or change the relationship between LSRs that are adjacent in the control plane. As such, this document introduces no additional message- or neighbor-related security considerations.

See [RFC3473] for relevant security considerations and [RFC5920] for a more general discussion on RSVP-TE security discussions.

7. References

7.1. Normative References

   [RFC2205]   Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and
   
               S. Jamin, "Resource ReSerVation Protocol (RSVP) --
               Version 1 Functional Specification", RFC 2205, September
               1997.
   
   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997.
   
   [RFC2210]   Wroclawski, J., "The Use of RSVP with IETF Integrated
               Services", RFC 2210, September 1997.
   
   [RFC3209]   Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
               and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
               Tunnels", RFC 3209, December 2001.
   
   [RFC3473]   Berger, L., Ed., "Generalized Multi-Protocol Label
               Switching (GMPLS) Signaling Resource ReserVation
               Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC
               3473, January 2003.

7.2. Informative References

   [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.
   
   [RFC4328]   Papadimitriou, D., Ed., "Generalized Multi-Protocol Label
               Switching (GMPLS) Signaling Extensions for G.709 Optical
               Transport Networks Control", RFC 4328, January 2006.
   
   [RFC5511]   Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax
               Used to Form Encoding Rules in Various Routing Protocol
               Specifications", RFC 5511, April 2009.
   
   [RFC5654]   Niven-Jenkins, B., Ed., Brungard, D., Ed., Betts, M.,
               Ed., Sprecher, N., and S. Ueno, "Requirements of an MPLS
               Transport Profile", RFC 5654, September 2009.
   
   [RFC5920]   Fang, L., Ed., "Security Framework for MPLS and GMPLS
               Networks", RFC 5920, July 2010.
   
   [RFC5467]   Berger, L., Takacs, A., Caviglia, D., Fedyk, D., and J.
               Meuric, "GMPLS Asymmetric Bandwidth Bidirectional Label
               Switched Paths (LSPs)", RFC 5467, March 2009.
   
   [RFC6003]   Papadimitriou, D., "Ethernet Traffic Parameters", RFC
               6003, October 2010.
   
   [RFC6060]   Fedyk, D., Shah, H., Bitar, N., and A. Takacs,
               "Generalized Multiprotocol Label Switching (GMPLS)
               Control of Ethernet Provider Backbone Traffic Engineering
               (PBB-TE)", RFC 6060, March 2011.

Authors' Addresses

Attila Takacs
Ericsson
Konyves Kalman krt. 11.
Budapest, 1097
Hungary

   EMail: attila.takacs@ericsson.com
   
   Lou Berger
   LabN Consulting, L.L.C.

EMail:

          lberger@labn.net

Diego Caviglia
Ericsson
Via A. Negrone 1/A
Genova-Sestri Ponente,
Italy

   Phone: +390106003738
   Fax:
   EMail: diego.caviglia@ericsson.com

Don Fedyk
Alcatel-Lucent
Groton, MA
USA

   EMail: donald.fedyk@alcatel-lucent.com
   
   Julien Meuric
   France Telecom Orange
   2, avenue Pierre Marzin
   Lannion Cedex,   22307
   France
   
   EMail: julien.meuric@orange.com