RFC 4125
Maximum Allocation Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering
Maximum Allocation Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering π
Okay bestie, this is RFC 4125 πΈ It was written by F. Le Faucheur (Cisco Systems, Inc.) and W. Lai (AT&T Labs) in June 2005, and it lives in the Network Working Group. It's Category: Experimental, so it's an Experimental Protocol and not an Internet standard. It doesn't obsolete or update any other RFCs, so it's giving independent main character energy π
Status of This Memo β¨
This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. The authors are asking for discussion and suggestions for improvement, and distribution of the memo is unlimited π¦
Copyright Notice π
Copyright (C) The Internet Society (2005).
Abstract π
This document gives specifications for one Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering. It's called the Maximum Allocation Model π«Ά
Table of Contents π
1. Introduction ....................................................2
1.1. Specification of Requirements ..............................2
2. Definitions .....................................................2
3. Maximum Allocation Model Definition .............................3
4. Example Formulas for Computing "Unreserved TE-Class [i]" with
Maximum Allocation Model.........................................6
5. Security Considerations .........................................7
6. IANA Considerations .............................................7
7. Acknowledgements ................................................7
Appendix A: Addressing [DSTE-REQ] Scenarios.........................8
Normative References...............................................10
Informative References.............................................10
1. Introduction π
[DSTE-REQ] is basically the Service Providers' wishlist for Diffserv-aware MPLS Traffic Engineering (DS-TE) π The big requirement is being able to enforce different Bandwidth Constraints for different classes of traffic.
[DSTE-REQ] also defines the concept of a Bandwidth Constraints Model for DS-TE, and it says: "The DS-TE technical solution MUST specify at least one Bandwidth Constraints Model and MAY specify multiple Bandwidth Constraints Models."
This document goes deep on one particular Bandwidth Constraints Model for DS-TE. It's introduced in [DSTE-REQ] and it's called the Maximum Allocation Model (MAM) β¨
[DSTE-PROTO] specifies the IGP and RSVP-TE signaling extensions for DS-TE, and those extensions support MAM π§
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. Definitions π
For readability, a few definitions from [DSTE-REQ] are repeated here, so you don't have to go hunting π
Class-Type (CT): 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: a pair of:
- i. a Class-Type
- ii. 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 set-up priority, as the holding priority or both.
A bunch of recovery mechanisms that are being looked at or specified in the IETF take advantage of sharing bandwidth across particular sets of LSPs π₯ "Shared Mesh Restoration" in [GMPLS-RECOV] and "Facility-based Computation Model" in [MPLS-BACKUP] are two examples. They get better bandwidth efficiency by sharing bandwidth across backup LSPs that protect against independent failures. To make sure the "Reserved (CTc)" idea from [DSTE-REQ] works with this kind of sharing across multiple LSPs, the wording of that definition gets generalized into the following:
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 Maximum Allocation Model definition in this document is compatible with Shared Mesh Restoration defined in [GMPLS-RECOV]. That means 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, and Excess Traffic LSPs sharing bandwidth with Backup LSPs of CTx also need to belong to CTx.
We also introduce this extra 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 belong to CTb and have a holding priority of q. So in that case, Reserved(CTb,q) = 0.
3. Maximum Allocation Model Definition π
Here's how MAM is defined, bestie π
o Maximum Number of Bandwidth Constraints (MaxBC) =
Maximum Number of Class-Types (MaxCT) = 8
o for each value of c in the range 0 <= c <= (MaxCT - 1):
Reserved (CTc) <= BCc <= Max-Reservable-Bandwidth,
o SUM (Reserved(CTc)) <= Max-Reservable-Bandwidth
where the SUM is across all values of c in the range
0 <= c <= (MaxCT - 1)
A DS-TE LSR implementing MAM MUST support enforcement of Bandwidth Constraints in compliance with this definition. Non-negotiable, periodt π
To increase the degree of bandwidth sharing among the different CTs, the sum of Bandwidth Constraints may exceed the Maximum Reservable Bandwidth, so that the following relationship may hold true:
o SUM (BCc) > Max-Reservable-Bandwidth,
where the SUM is across all values of c in the range
0 <= c <= (MaxCT - 1)
The sum of Bandwidth Constraints may also be equal to (or below) the Maximum Reservable Bandwidth. In that case, the Maximum Reservable Bandwidth doesn't actually constrain CT bandwidth reservations. In other words, the 3rd bullet item of the MAM definition above will never effectively come into play π That's because the 2nd bullet item of the MAM definition above implies that:
SUM (reserved(CTc)) <= SUM (BCc)
And we assume here that:
SUM (BCc) <= Maximum Reservable Bandwidth
So it will always be true that:
SUM (Reserved(CTc)) <= Max-Reservable-Bandwidth
Both preemption within a CT and across CTs is allowed π¦
When 8 CTs are active, the MAM Bandwidth Constraints can also be expressed in the following way:
- All LSPs from CT7 use no more than BC7
- All LSPs from CT6 use no more than BC6
- All LSPs from CT5 use no more than BC5
- etc.
- All LSPs from CT0 use no more than BC0
- All LSPs from all CTs collectively use no more than the Maximum Reservable Bandwidth
Purely for illustration purposes, here's a picture of MAM when 3 CTs are active π§
I----------------------------I
<---BC0---> I
I---------I I
I I I
I CT0 I I
I I I
I---------I I
I I
I I
<-------BC1-------> I
I-----------------I I
I I I
I CT1 I I
I I I
I-----------------I I
I I
I I
<-----BC2-----> I
I-------------I I
I I I
I CT2 I I
I I I
I-------------I I
I I
I CT0+CT1+CT2 I
I I
I----------------------------I
<--Max Reservable Bandwidth-->
(Note that, in this illustration, the sum BC0 + BC1 + BC2 exceeds the Max Reservable Bandwidth.)
More flexible and sophisticated Bandwidth Constraints Models can be defined, and some are indeed defined (see [DSTE-RDM]). Still, the Maximum Allocation Model is attractive in some DS-TE environments for these reasons:
- Network administrators generally find MAM simple and intuitive π₯°
- MAM matches simple bandwidth control policies that Network Administrators may want to enforce. An example is setting an individual Bandwidth Constraint for a given type of traffic (a.k.a. Class-Type) while also limiting the aggregate of reserved bandwidth across all types of traffic.
- MAM can be used in a way which ensures isolation across Class-Types, whether preemption is used or not.
- MAM can simultaneously achieve isolation, bandwidth efficiency, and protection against QoS degradation of the premium CT.
- MAM only requires limited protocol extensions, such as the ones defined in [DSTE-PROTO].
MAM may not be attractive in some DS-TE environments, though, because:
- MAM cannot simultaneously achieve isolation, bandwidth efficiency, and protection against QoS degradation of CTs other than the Premium CT. π₯Ί
More thoughts on the properties of MAM, and how it compares with RDM, can be found in [BC-CONS] and [BC-MODEL].
As a super simple example of using MAM, a network administrator who uses one CT for Voice (CT1) and one CT for Data (CT0) might configure these on a given 2.5 Gb/s link:
BC0 = 2 Gb/s(i.e., Data is limited to 2 Gb/s)BC1 = 1 Gb/s(i.e., Voice is limited to 1 Gb/s)Maximum Reservable Bandwidth = 2.5 Gb/s(i.e., aggregate Data + Voice is limited to 2.5 Gb/s)
Part 1 of 2 π¦ Part 2 is coming up next π
4. Example Formulas for Computing "Unreserved TE-Class [i]" with Maximum Allocation Model β¨
Okay bestie, so per [DSTE-PROTO], the formulas for "Unreserved TE-Class [i]" MUST reflect all of the Bandwidth Constraints tied to the CT of TE-Class[i]. That means they totally depend on which Bandwidth Constraints Model you're using π . So a DS-TE LSR doing MAM MUST reflect the MAM Bandwidth Constraints from Section 3 when it computes "Unreserved TE-Class [i]" π₯
ngl, [DSTE-PROTO] also says the details of admission control algorithms, plus the formulas for "Unreserved TE-Class [i]", are outside the scope of IETF work π. Keeping that in mind, here's an example, just for illustration, of how the unreserved bandwidth for TE-Class[i] might be computed with MAM π§. We're assuming the basic admission control algorithm, which simply deducts the exact bandwidth of any established LSP from all of the Bandwidth Constraints relevant to the CT of that LSP π
"Unreserved TE-Class [i]" =
MIN [
[ BCc - SUM ( Reserved(CTc,q) ) ] for q <= p ,
[ Max-Res-Bw - SUM (Reserved(CTb,q)) ] for q <= p and 0 <= b <= 7,
]
where:
TE-Class [i] <--> < CTc , preemption p>
in the configured TE-Class mapping.
5. Security Considerations π
Security stuff for DS-TE lives in [DSTE-PROTO], and it's a whole thing π. Those considerations apply independently of the Bandwidth Constraints Model, and that includes MAM, which is specified in this document. Read the protocol doc, no skipping π«Ά
6. 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 assigned a Bandwidth Constraints Model Id for MAM from the range 0-239, which is managed under the "Specification Required" policy defined in [IANA-CONS] π§Ύ
Bandwidth Constraints Model Id 1 was allocated by IANA to MAM π
7. Acknowledgements π«Ά
A lot of the material in this document came from ongoing discussions within the TEWG work π¦. That involved many people, including Jerry Ash and Dimitry Haskin, so big shoutouts to them β¨
Appendix A: Addressing [DSTE-REQ] Scenarios π
This Appendix shows examples of how the Maximum Allocation Bandwidth Constraints Model can support each of the scenarios described in [DSTE-REQ]. Let's gooo π
A.1. Scenario 1: Limiting Amount of Voice π€
By configuring on every link:
- Bandwidth Constraint 1 (for CT1 = Voice) = "certain percentage" of link capacity
- Bandwidth Constraint 0 (for CT0 = Data) = link capacity (or a constraint specific to data traffic)
- Max Reservable Bandwidth = link capacity
By configuring:
- every CT1/Voice TE-LSP with preemption = 0
- every CT0/Data TE-LSP with preemption = 1
DS-TE with the Maximum Allocation Model addresses all the requirements, and it's giving clean:
- amount of Voice traffic limited to the desired percentage on every link
- data traffic able to use all the remaining link capacity (or up to its own specific constraint)
- voice traffic able to preempt other traffic π
A.2. Scenario 2: Maintain Relative Proportion of Traffic Classes π
By configuring on every link:
- BC2 (for CT2) = e.g., 45% of link capacity
- BC1 (for CT1) = e.g., 35% of link capacity
- BC0 (for CT0) = e.g., 100% of link capacity
- Max Reservable Bandwidth = link capacity
DS-TE with the Maximum Allocation Model ensures that the amount of traffic of each CT established on a link stays within acceptable levels compared to the resources allocated to the corresponding Diffserv Per Hop Behaviors (PHBs). This 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. Main character energy π
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 Maximum Allocation Model also ensures 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
An optional automatic adjustment of the Diffserv scheduling configuration could be used to maintain very strict relationships between the amounts of established traffic of each CT and the corresponding Diffserv resources π
A.3. Scenario 3: Guaranteed Bandwidth Services π
By configuring on every link:
- BC1 (for CT1) = "given" percentage of link bandwidth (appropriate to achieve the QoS objectives of the Guaranteed Bandwidth service)
- BC0 (for CT0 = Data) = link capacity (or a constraint specific to data traffic)
- Max Reservable Bandwidth = link capacity
DS-TE with the Maximum Allocation Model ensures 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 allows traffic engineering of the rest of the traffic so links can be filled up (or limited to the specific constraint for such traffic) β¨
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-RDM] Le Faucheur, F., Ed., "Russian Dolls Bandwidth
Constraints Model for Diffserv-aware MPLS Traffic
Engineering", RFC 4127, 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.
Authors' Addresses π
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
Wai Sum Lai
AT&T Labs
200 Laurel Avenue
Middletown, New Jersey 07748, USA
Phone: (732) 420-3712
EMail: wlai@att.com
Full Copyright Statement π·
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, any assurances of licenses to be made available, or the result of an attempt 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 π
π¦ where this page comes from
- ietf: rfc4125 2005-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms