RFC 4127

Russian Dolls Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering

๐Ÿ“… published June 2005, from ietf

RFC 4127: Russian Dolls Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering ๐ŸŽ€

Okay bestie, let's get into it ๐Ÿ’– This one is by F. Le Faucheur, Ed. from Cisco Systems, Inc. It's filed as Experimental (not a standard, just testing the vibes ๐Ÿงช), it's dated June 2005, and it comes from the Network Working Group. The title block doesn't list anything it obsoletes or updates, so nothing gets retired here ๐Ÿซถ

Network Working Group                                F. Le Faucheur, Ed.
Request for Comments: 4127                           Cisco Systems, Inc.
Category: Experimental                                         June 2005


            Russian Dolls Bandwidth Constraints Model for
                Diffserv-aware MPLS Traffic Engineering

Status of This Memo โœจ

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

Copyright (C) The Internet Society (2005).

Abstract ๐ŸŒธ

This document provides specifications for one Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering, which is referred to as the Russian Dolls Model. Main character energy โœจ

Table of Contents ๐Ÿ“–

   1. Introduction ....................................................2
      1.1. Specification of Requirements ..............................2
   2. Contributing Authors ............................................3
   3. Definitions .....................................................4
   4. Russian Dolls Model Definition ..................................5
   5. Example Formulas for Computing "Unreserved TE-Class [i]" with
      Russian Dolls Model .............................................7
   6. Receiving Both Maximum Reservable Bandwidth and Bandwidth
      Constraints sub-TLVs ............................................8
   7. Security Considerations .........................................8
   8. IANA Considerations .............................................8
   9. Acknowledgements ................................................9
   Appendix A: Addressing [DSTE-REQ] Scenarios .......................10
   Normative References ..............................................11
   Informative References ............................................12

1. Introduction โœจ

Okay so [DSTE-REQ] is the Service Providers' requirements doc for Diffserv-aware MPLS Traffic Engineering (DS-TE). The big requirement is being able to enforce different Bandwidth Constraints for different classes of traffic. Iconic ๐Ÿ‘‘

[DSTE-REQ] also defines the concept of a Bandwidth Constraints Model for DS-TE and states that "The DS-TE technical solution MUST specify at least one Bandwidth Constraints Model and MAY specify multiple Bandwidth Constraints Models". ๐Ÿซถ

This document gives a detailed description of one particular Bandwidth Constraints Model for DS-TE, introduced in [DSTE-REQ] and called the Russian Dolls Model (RDM). ๐Ÿงš

[DSTE-PROTO] specifies the Interior Gateway Protocol (IGP) and RSVP-TE signaling extensions for supporting DS-TE, and those extensions support RDM. Literally the plumbing ๐Ÿ”ฅ

1.1. Specification of Requirements ๐Ÿ’–

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. Contributing Authors ๐ŸŽ€

This document was the collective work of several authors. The text and content were contributed by the editor and the co-authors listed below. (The contact information for the editor appears in the Editor's Address section.) So many cooks, all slaying ๐Ÿ’…

   Jim Boyle                               Kireeti Kompella
   Protocol Driven Networks, Inc.          Juniper Networks, Inc.
   1381 Kildaire Farm Road #288            1194 N. Mathilda Ave.
   Cary, NC 27511, USA                     Sunnyvale, CA 94099

   Phone: (919) 852-5160                   EMail: kireeti@juniper.net
   EMail: jboyle@pdnets.com


   William Townsend                        Thomas D. Nadeau
   Tenor Networks                          Cisco Systems, Inc.
   100 Nagog Park                          250 Apollo Drive
   Acton, MA 01720                         Chelmsford, MA 01824

   Phone: +1-978-264-4900                  Phone: +1-978-244-3051
   EMail: btownsend@tenornetworks.com      EMail: tnadeau@cisco.com


   Darek Skalecki
   Nortel Networks
   3500 Carling Ave,
   Nepean K2H 8E9

   Phone: +1-613-765-2252
   EMail: dareks@nortelnetworks.com

3. Definitions ๐Ÿฆ‹

Okay, for readability, a few definitions from [DSTE-REQ] are repeated here so you don't have to go hunting. ๐Ÿ™ˆ

Class-Type (CT) is the set of Traffic Trunks crossing a link that is governed by a specific set of bandwidth constraints. CT is used for link bandwidth allocation, constraint-based routing and admission control. A given Traffic Trunk belongs to the same CT on all links. ๐Ÿ“

TE-Class is a pair of:

  1. a Class-Type, and
  2. a preemption priority allowed for that Class-Type. This means that an LSP transporting a Traffic Trunk from that Class-Type can use that preemption priority as the setup priority, the holding priority, or both. โœจ

A bunch of recovery mechanisms being investigated or specified in the IETF rely on sharing bandwidth across particular sets of LSPs. "Shared Mesh Restoration" in [GMPLS-RECOV] and "Facility-based Computation Model" in [MPLS-BACKUP] are example mechanisms that get better bandwidth efficiency by sharing bandwidth across backup LSPs protecting against independent failures. ๐ŸŒˆ

To make sure the "Reserved (CTc)" idea from [DSTE-REQ] works with that kind of sharing across multiple LSPs, the wording of the "Reserved (CTc)" definition from [DSTE-REQ] gets generalized into this:

Reserved (CTc): For a given Class-Type CTc ( 0 <= c <= MaxCT ), let us define "Reserved(CTc)" as the total amount of the bandwidth reserved by all the established LSPs which belong to CTc. ๐Ÿ’œ

With this generalization, the Russian Dolls Model definition in this document is compatible with Shared Mesh Restoration defined in [GMPLS-RECOV], so DS-TE and Shared Mesh Protection can operate simultaneously. This assumes that Shared Mesh Restoration operates independently within each DS-TE Class-Type and does not operate across Class-Types (for example, backup LSPs protecting Primary LSPs of CTx also need to belong to CTx; Excess Traffic LSPs sharing bandwidth with Backup LSPs of CTx also need to belong to CTx). Boundaries are everything ๐Ÿซถ

We also introduce the following definition:

Reserved(CTb,q): Let us define "Reserved(CTb,q)" as the total amount of the bandwidth reserved by all the established LSPs that belong to CTb and have a holding priority of q. Note that if q and CTb do not form one of the 8 possible configured TE-Classes, then there cannot be any established LSPs that belongs to CTb and has a holding priority of q; therefore, in this case, Reserved(CTb,q) = 0. ๐Ÿ™ˆ

4. Russian Dolls Model Definition ๐Ÿ‘‘

RDM is defined in the following manner:

     o Maximum Number of Bandwidth Constraints (MaxBC)=
          Maximum Number of Class-Types (MaxCT) = 8

     o for each value of b in the range 0 <= b <= (MaxCT - 1):
          SUM (Reserved (CTc)) <= BCb,
          where the SUM is across all values of c in the
          range b <= c <= (MaxCT - 1)

     o BC0= Maximum Reservable Bandwidth, so that
          SUM (Reserved(CTc)) <= Max-Reservable-Bw,
          where the SUM is across all values of c in the
          range  0 <= c <= (MaxCT - 1)

A DS-TE LSR implementing RDM MUST support enforcement of Bandwidth Constraints in compliance with this definition. Strict rules, no cap ๐Ÿ’…

Both preemption within a CT and across CTs is allowed. ๐Ÿฆ‹

Where 8 CTs are active, the RDM Bandwidth Constraints can also be expressed this way:

  • All LSPs from CT7 use no more than BC7
  • All LSPs from CT6 and CT7 use no more than BC6
  • All LSPs from CT5, CT6 and CT7 use no more than BC5
  • etc.
  • All LSPs from CT0, CT1, ..., CT7 use no more than BC0 = "Maximum Reservable Bandwidth"

Purely for illustration, here's the Russian Dolls Bandwidth Constraints Model in picture form when 3 Class-Types are active. It's giving nesting doll energy ๐Ÿช†

I------------------------------------------------------I
I-------------------------------I                      I
I--------------I                I                      I
I    CT2       I    CT2+CT1     I      CT2+CT1+CT0     I
I--------------I                I                      I
I-------------------------------I                      I
I------------------------------------------------------I

I-----BC2------>
I----------------------BC1------>
I------------------------------BC0=Max Reservable Bw--->

Simpler Bandwidth Constraints models, or more flexible and sophisticated ones, can be defined. But the Russian Dolls Model is attractive in some DS-TE environments for these reasons:

  • Although it is a little less intuitive than the Maximum Allocation Model (see [DSTE-MAM]), RDM is still a simple model to conceptualize. ๐Ÿง 
  • RDM can be used simultaneously to ensure bandwidth efficiency and to protect against QoS degradation of all CTs, whether preemption is used or not. โœจ
  • RDM can be used in conjunction with preemption to simultaneously achieve (i) isolation across CTs (so that each CT is guaranteed its share of bandwidth no matter the level of contention by other classes), (ii) bandwidth efficiency, and (iii) protection against QoS degradation of all CTs. Triple threat ๐Ÿ”ฅ
  • RDM only requires limited protocol extensions such as the ones defined in [DSTE-PROTO]. Less work, more slay ๐Ÿ’–

RDM may not be attractive in some DS-TE environments for the following reason:

  • If the usage of preemption is precluded for some administrative reason, then while RDM can still ensure bandwidth efficiency and protection against QoS degradation of all CTs, RDM cannot guarantee isolation across Class-Types. ๐Ÿฅบ

Additional considerations on the properties of RDM can be found in [BC-CONS] and [BC-MODEL]. ๐Ÿ“š

As a simple example, a network administrator using one CT for Voice (CT1) and one CT for data (CT0) might configure the following on a given link:

  • BC0 = Max-Reservable - Bw = 2.5 Gb/s (i.e., Voice + Data is limited to 2.5 Gb/s)
  • BC1 = 1.5 Gb/s (i.e., Voice is limited to 1.5 Gb/s).

To be continued... part 2 drops next, so stay tuned ๐Ÿงš๐Ÿ’–

5. Example Formulas for Computing "Unreserved TE-Class [i]" with Russian Dolls Model ๐Ÿงฎโœจ

Okay bestie, so [DSTE-PROTO] says that formulas for computing "Unreserved TE-Class [i]" MUST reflect all of the Bandwidth Constraints relevant to the CT associated with TE-Class[i]. That means they depend on which Bandwidth Constraints Model you're using ๐Ÿ’…. So a DS-TE LSR implementing RDM MUST reflect the RDM Bandwidth Constraints defined in section 4 above when it computes "Unreserved TE-Class [i]". No skipping, periodt ๐Ÿซถ.

As [DSTE-PROTO] explains, the details of admission control algorithms and the formulas for "Unreserved TE-Class [i]" are outside the scope of the IETF work ๐Ÿ™ˆ. With that in mind, this section is just an example, for illustration, of how the unreserved bandwidth for TE-Class[i] might be computed with RDM ๐ŸŽ€. The example assumes the basic admission control algorithm, which simply takes the exact bandwidth of any established LSP away from all of the Bandwidth Constraints relevant to the CT associated with that LSP. Simple and iconic ๐Ÿ‘‘.

We assume that:

TE-Class [i] <--> < CTc , preemption p>

in the configured TE-Class mapping.

For readability, the formulas are first shown with only 3 CTs active. Then they get extended to cover cases where more CTs are used ๐Ÿฆ‹.

If CTc = CT0, then "Unreserved TE-Class [i]" =
   [ BC0 - SUM ( Reserved(CTb,q) ) ] for q <= p and 0 <= b <= 2
If CTc = CT1, then "Unreserved TE-Class [i]" =
   MIN  [
   [ BC1 - SUM ( Reserved(CTb,q) ) ] for q <= p and 1 <= b <= 2,
   [ BC0 - SUM ( Reserved(CTb,q) ) ] for q <= p and 0 <= b <= 2
          ]
If CTc = CT2, then "Unreserved TE-Class [i]" =
   MIN  [
   [ BC2 - SUM ( Reserved(CTb,q) ) ] for q <= p and 2 <= b <= 2,
   [ BC1 - SUM ( Reserved(CTb,q) ) ] for q <= p and 1 <= b <= 2,
   [ BC0 - SUM ( Reserved(CTb,q) ) ] for q <= p and 0 <= b <= 2
          ]

The formula can be generalized to 8 active CTs and written more compactly, like this:

  "Unreserved TE-Class [i]" =
   MIN  [
 [ BCc - SUM ( Reserved(CTb,q) ) ] for q <= p and c <= b <= 7,
 [ BC(c-1) - SUM ( Reserved(CTb,q) ) ] for q <= p and (c-1)<= b <= 7,
     . . .
 [ BC0 - SUM ( Reserved(CTb,q) ) ] for q <= p and 0 <= b <= 7,
        ]

   where:

     TE-Class [i] <--> < CTc , preemption p>
     in the configured TE-Class mapping.

6. Receiving Both Maximum Reservable Bandwidth and Bandwidth Constraints sub-TLVs ๐Ÿ“จ

[DSTE-PROTO] states: "A DS-TE LSR, which does advertise BCs, MUST use the new "Bandwidth Constraints" sub-TLV (in addition to the existing Maximum Reservable Bandwidth sub-TLV) to do so." That's the one that's giving strict ๐Ÿ’€.

With RDM, BC0 is equal to the Maximum Reservable Bandwidth, because they both represent the aggregate constraint across all CTs. So a DS-TE LSR that receives both the "Maximum Reservable Bw" sub-TLV and the new "Bandwidth Constraints" sub-TLV (which contains BC0) for a link where the RDM model is used MAY ignore the "Maximum Reservable Bw" sub-TLV. Same info, twice, so you're allowed to skip one ๐ŸŒธ.


7. Security Considerations ๐Ÿ”

Security considerations related to the use of DS-TE are discussed in [DSTE-PROTO]. Those apply independently of the Bandwidth Constraints Model, including RDM specified in this document. So RDM doesn't get a special pass, but it doesn't add its own new drama either ๐Ÿซฃ.


8. IANA Considerations ๐Ÿ—‚๏ธ

[DSTE-PROTO] defines a new name space for "Bandwidth Constraints Model Id". The guidelines for allocating values in that name space are detailed in section 13.1 of [DSTE-PROTO]. Following those guidelines, IANA has assigned a Bandwidth Constraints Model Id for RDM from the range 0-239, which is managed under the "Specification Required" policy defined in [IANA-CONS].

Bandwidth Constraints Model Id 0 was allocated by IANA to RDM. โœจ


9. Acknowledgements ๐Ÿซถ

We thank Martin Tatham for his key contribution to this work. Tatiana Renko is also warmly thanked for her instantiation of the Russian Doll. Iconic contributions, both of them ๐Ÿช†๐Ÿ’œ.


Appendix A: Addressing [DSTE-REQ] Scenarios ๐ŸŽฏ

This appendix gives examples of how the Russian Dolls Bandwidth Constraints Model can support each of the scenarios described in [DSTE-REQ]. Let's get into it ๐Ÿ“.

A.1. Scenario 1: Limiting Amount of Voice ๐ŸŽค

By configuring on every link:

  • Bandwidth Constraint 1 (for CT1 = Voice) = "certain percentage" of link capacity
  • BC0 (for CT1=Voice + CT0=Data) = link capacity

By configuring:

  • every CT1/Voice TE-LSP with preemption = 0
  • every CT0/Data TE-LSP with preemption = 1

DS-TE with the Russian Dolls Model will address all the requirements:

  • amount of Voice traffic limited to desired percentage on every link
  • data traffic capable of using all remaining link capacity
  • voice traffic capable of preempting other traffic

A.2. Scenario 2: Maintain Relative Proportion of Traffic Classes ๐Ÿ“Š

By configuring on every link:

  • BC2 (for CT2) = e.g., 45%
  • BC1 (for CT1+CT2) = e.g., 80%
  • BC0 (for CT0+CT1+CT2) = e.g., 100%

DS-TE with the RDM will ensure that the amount of traffic of each CT established on a link is within acceptable levels compared to the resources allocated to the corresponding Diffserv Per Hop Behaviors (PHBs). That holds regardless of which order the LSPs are routed in, regardless of which preemption priorities are used by which LSPs, and regardless of failure situations. Very consistent, very stable ๐Ÿ’–.

By also configuring:

  • every CT2/Voice TE-LSP with preemption = 0
  • every CT1/Premium Data TE-LSP with preemption = 1
  • every CT0/Best-Effort TE-LSP with preemption = 2

DS-TE with the Russian Dolls Model will also ensure that:

  • CT2 Voice LSPs always have first preemption priority in order to use the CT2 capacity
  • CT1 Premium Data LSPs always have second preemption priority in order to use the CT1 capacity
  • Best-Effort can use up to link capacity of what is left by CT2 and CT1

Optional automatic adjustment of Diffserv scheduling configuration could be used to maintain very strict relationships between the amounts of established traffic of each Class Type and the corresponding Diffserv resources. Ooh, extra credit ๐Ÿงš.

A.3. Scenario 3: Guaranteed Bandwidth Services ๐Ÿ›ก๏ธ

By configuring on every link:

  • BC1 (for CT1) = "given" percentage of link bandwidth (appropriate to achieve the Guaranteed Bandwidth service's QoS objectives)
  • BC0 (for CT0+CT1) = 100% of link bandwidth

DS-TE with the Russian Dolls Model will ensure that the amount of Guaranteed Bandwidth Traffic established on every link stays below the given percentage, so it will always meet its QoS objectives. At the same time, it lets traffic engineering of the rest of the traffic happen, so links can get filled up ๐ŸŒˆ.


Normative References ๐Ÿ“š

[DSTE-REQ]    Le Faucheur, F. and W. Lai, "Requirements for Support
              of Differentiated Services-aware MPLS Traffic
              Engineering", RFC 3564, July 2003.

[DSTE-PROTO]  Le Faucheur, F., Ed., "Protocol Extensions for Support
              of Diffserv-aware MPLS Traffic Engineering", RFC 4124,
              June 2005.

[RFC2119]     Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

[IANA-CONS]   Narten, T. and H. Alvestrand, "Guidelines for Writing
              an IANA Considerations Section in RFCs", BCP 26, RFC
              2434, October 1998.

Informative References ๐Ÿ“–

[BC-CONS]     Le Faucheur, F., "Considerations on Bandwidth
              Constraints Model for DS-TE", Work in Progress, June
              2002.

[BC-MODEL]    Lai, W., "Bandwidth Constraints Models for
              Differentiated Services (Diffserv)-aware MPLS Traffic
              Engineering:  Performance Evaluation", RFC 4128, June
              2005.

[DSTE-MAM]    Le Faucheur, F. and W. Lai, "Maximum Allocation
              Bandwidth Constraints Model for Diffserv-aware MPLS
              Traffic Engineering", RFC 4125, June 2005.

[GMPLS-RECOV] Lang, et al., "Generalized MPLS Recovery Functional
              Specification", Work in Progress.

[MPLS-BACKUP] Vasseur, et al., "MPLS Traffic Engineering Fast
              Reroute:  Bypass Tunnel Path Computation for Bandwidth
              Protection", Work in Progress.

Editor's Address ๐Ÿ“ฌ

Francois Le Faucheur
Cisco Systems, Inc.
Village d'Entreprise Green Side - Batiment T3
400, Avenue de Roumanille
06410 Biot-Sophia Antipolis
France

Phone: +33 4 97 23 26 19
EMail: flefauch@cisco.com

Copyright (C) The Internet Society (2005).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property ๐Ÿงพ

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. It also doesn't represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat, and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.


Acknowledgement ๐Ÿ’

Funding for the RFC Editor function is currently provided by the Internet Society. Thank you, Internet Society ๐ŸŒทโœจ

๐Ÿ“ฆ where this page comes from