idnits 2.17.1 draft-ietf-mpls-diff-ext-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing document type: Expected "INTERNET-DRAFT" in the upper left hand corner of the first page ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 946 has weird spacing: '...ipe and the...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 2481 (ref. 'ECN') (Obsoleted by RFC 3168) ** Obsolete normative reference: RFC 3036 (ref. 'LDP') (Obsoleted by RFC 5036) ** Obsolete normative reference: RFC 2836 (ref. 'PHBID') (Obsoleted by RFC 3140) ** Obsolete normative reference: RFC 2434 (ref. 'IANA') (Obsoleted by RFC 5226) Summary: 9 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Francois Le Faucheur 2 Liwen Wu 3 Bruce Davie 4 Cisco Systems 6 Shahram Davari 7 PMC-Sierra Inc. 9 Pasi Vaananen 10 Nokia 12 Ram Krishnan 13 Lucent Technologies 15 Pierrick Cheval 16 Alcatel 18 Juha Heinanen 19 Telia Finland 21 IETF Internet Draft 22 Expires: August, 2001 23 Document: draft-ietf-mpls-diff-ext-08.txt February, 2001 25 MPLS Support of Differentiated Services 27 Status of this Memo 29 This document is an Internet-Draft and is in full conformance with 30 all provisions of Section 10 of RFC2026. 32 Internet-Drafts are Working documents of the Internet Engineering 33 Task Force (IETF), its areas, and its working groups. Note that 34 other groups may also distribute working documents as Internet- 35 Drafts. 37 Internet-Drafts are draft documents valid for a maximum of six 38 months and may be updated, replaced, or obsoleted by other documents 39 at any time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 The list of current Internet-Drafts can be accessed at 43 http://www.ietf.org/ietf/1id-abstracts.txt 45 The list of Internet-Draft Shadow Directories can be accessed at 46 http://www.ietf.org/shadow.html. 48 Le Faucheur, et. al 1 49 MPLS Support of Diff-Serv February 2001 51 Abstract 53 This document defines a flexible solution for support of 54 Differentiated Services (Diff-Serv) over Multi-Protocol Label 55 Switching (MPLS) networks. 57 This solution allows the MPLS network administrator to select how 58 Diff-Serv Behavior Aggregates (BAs) are mapped onto Label Switched 59 Paths (LSPs) so that he/she can best match the Diff-Serv, Traffic 60 Engineering and protection objectives within his/her particular 61 network. For instance, this solution allows the network 62 administrator to decide whether different sets of BAs are to be 63 mapped onto the same LSP or mapped onto separate LSPs. 65 This solution relies on combined use of two types of LSPs: 66 - LSPs which can transport multiple Ordered Aggregates, so that 67 the EXP field of the MPLS Shim Header conveys to the LSR the PHB 68 to be applied to the packet (covering both information about the 69 packet's scheduling treatment and its drop precedence). 70 - LSPs which only transport a single Ordered Aggregate, so that 71 the packet's scheduling treatment is inferred by the LSR 72 exclusively from the packet's label value while the packet's 73 drop precedence is conveyed in the EXP field of the MPLS Shim 74 Header or in the encapsulating link layer specific selective 75 drop mechanism (ATM, Frame Relay, 802.1). 77 1. Introduction 79 In an MPLS domain [MPLS_ARCH], when a stream of data traverses a 80 common path, a Label Switched Path (LSP) can be established using 81 MPLS signaling protocols. At the ingress Label Switch Router (LSR), 82 each packet is assigned a label and is transmitted downstream. At 83 each LSR along the LSP, the label is used to forward the packet to 84 the next hop. 86 In a Differentiated Service (Diff-Serv) domain [DIFF_ARCH] all the 87 IP packets crossing a link and requiring the same Diff-Serv behavior 88 are said to constitute a Behavior Aggregate (BA). At the ingress 89 node of the Diff-Serv domain the packets are classified and marked 90 with a Diff-Serv Code Point (DSCP) which corresponds to their 91 Behavior Aggregate. At each transit node, the DSCP is used to select 92 the Per Hop Behavior (PHB) that determines the scheduling treatment 93 and, in some cases, drop probability for each packet. 95 This document specifies a solution for supporting the Diff-Serv 96 Behavior Aggregates whose corresponding PHBs are currently defined 97 (in [DIFF_HEADER], [DIFF_AF], [DIFF_EF]) over an MPLS network. This 98 solution also offers flexibility for easy support of PHBs that may 99 be defined in the future. 101 As mentioned in [DIFF_HEADER], "Service providers are not required 103 Le Faucheur et. al 2 104 MPLS Support of Diff-Serv February 2001 106 to use the same node mechanisms or configurations to enable service 107 differentiation within their networks, and are free to configure the 108 node parameters in whatever way that is appropriate for their 109 service offerings and traffic engineering objectives". Thus, the 110 solution defined in this document gives Service Providers 111 flexibility in selecting how Diff-Serv classes of service are Routed 112 or Traffic Engineered within their domain (e.g. separate classes of 113 services supported via separate LSPs and Routed separately, all 114 classes of service supported on the same LSP and Routed together). 116 Because MPLS is path-oriented it can potentially provide faster and 117 more predictable protection and restoration capabilities in the face 118 of topology changes than conventional hop by hop routed IP systems. 119 In this document we refer to such capabilities as "MPLS protection". 120 Although such capabilities and associated mechanisms are outside the 121 scope of this specification, we note that they may offer different 122 levels of protection to different LSPs. Since the solution presented 123 here allow Service Providers to choose how Diff-Serv classes of 124 services are mapped onto LSPs, the solution also gives Service 125 Providers flexibility in the level of protection provided to 126 different Diff-Serv classes of service (e.g. some classes of service 127 can be supported by LSPs which are protected while some other 128 classes of service are supported by LSPs which are not protected). 130 Furthermore, the solution specified in this document achieves label 131 space conservation and reduces the volume of label set-up/tear-down 132 signaling where possible by only resorting to multiple LSPs for a 133 given Forwarding Equivalent Class (FEC) [MPLS_ARCH] when useful or 134 required. 136 This specification allows support of Differentiated Services for 137 both IPv4 and IPv6 traffic transported over an MPLS network. 138 This document only describes operations for unicast. Multicast 139 support is for future study. 141 The solution described in this document does not preclude the 142 signaled or configured use of the EXP bits to support Explicit 143 Congestion Notification [ECN] simultaneously with Diff-Serv over 144 MPLS. However, techniques for supporting ECN in an MPLS environment 145 are outside the scope of this document. 147 1.1 Terminology 149 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 150 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in 151 this document are to be interpreted as described in RFC 2119. 153 The reader is assumed to be familiar with the terminology of 154 [MPLS_ARCH], [MPLS_ENCAPS], [MPLS_ATM] and [MPLS_FR] including the 155 following: 157 EXP EXPerimental (bits) 159 Le Faucheur et. al 3 160 MPLS Support of Diff-Serv February 2001 162 FEC Forwarding Equivalency Class 164 FTN FEC-To-NHLFE Map 166 ILM Incoming Label Map 168 LC-ATM Label Switching Controlled-ATM (interface) 170 LC-FR Label Switching Controlled-Frame Relay (interface) 172 LSP Label Switched Path 174 LSR Label Switch Router 176 MPLS Multi-Protocol Label Switching 178 NHLFE Next Hop Label Forwarding Entry 180 The reader is assumed to be familiar with the terminology of 181 [DIFF_ARCH], [DIFF_HEADER], [DIFF_AF] and [DIFF_EF] including the 182 following: 184 AF Assured Forwarding 186 BA Behavior Aggregate 188 CS Class Selector 190 DF Default Forwarding 192 DSCP Differentiated Services Code Point 194 EF Expedited Forwarding 196 PHB Per Hop Behavior 198 The reader is assumed to be familiar with the terminology of 199 [DIFF_NEW] including the following: 201 OA Ordered Aggregate. The set of Behavior Aggregates which 202 share an ordering constraint. 204 PSC PHB Scheduling Class. The set of one or more PHB(s) that 205 are applied to the Behavior Aggregate(s) belonging to a 206 given OA. For example, AF1x is a PSC comprising the 207 AF11, AF12 and AF13 PHBs. EF is an example of PSC 208 comprising a single PHB, the EF PHB. 210 The following acronyms are also used: 212 CLP Cell Loss Priority 214 Le Faucheur et. al 4 215 MPLS Support of Diff-Serv February 2001 217 DE Discard Eligibility 219 SNMP Simple Network Management Protocol 221 Finally, the following acronyms are defined in this specification: 223 E-LSP EXP-Inferred-PSC LSP 225 L-LSP Label-Only-Inferred-PSC LSP 227 1.2 EXP-Inferred-PSC LSPs (E-LSP) 229 A single LSP can be used to support up to eight BAs of a given FEC, 230 regardless of how many OAs these BAs span. With such LSPs, the EXP 231 field of the MPLS Shim Header is used by the LSR to determine the 232 PHB to be applied to the packet. This includes both the PSC and the 233 drop preference. 235 We refer to such LSPs as "EXP-inferred-PSC LSPs" (E-LSP), since the 236 PSC of a packet transported on this LSP depends on the EXP field 237 value for that packet. 239 The mapping from EXP field to PHB (ie to PSC and drop precedence) 240 for a given such LSP, is either explicitly signaled at label set-up 241 or relies on a pre-configured mapping. 243 Detailed operations of E-LSPs are specified in section 3 below. 245 1.3 Label-Only-Inferred-PSC LSPs (L-LSP) 247 A separate LSP can be established for a single pair. 248 With such LSPs, the PSC is explicitly signaled at label 249 establishment time so that, after label establishment, the LSR can 250 infer exclusively from the label value the PSC to be applied to a 251 labeled packet. When the Shim Header is used, the Drop Precedence to 252 be applied by the LSR to the labeled packet, is conveyed inside the 253 labeled packet MPLS Shim Header using the EXP field. When the Shim 254 Header is not used (e.g. MPLS Over ATM), the Drop Precedence to be 255 applied by the LSR to the labeled packet is conveyed inside the link 256 layer header encapsulation using link layer specific drop precedence 257 fields (e.g. ATM CLP). 259 We refer to such LSPs as "Label-Only-Inferred-PSC LSPs" (L-LSP) 260 since the PSC can be fully inferred from the label without any other 261 information (e.g. regardless of the EXP field value). Detailed 262 operations of L-LSPs are specified in section 4 below. 264 1.4 Overall Operations 266 For a given FEC, and unless media specific restrictions apply as 267 identified in the sections 7, 8 and 9 below, this specification 269 Le Faucheur et. al 5 270 MPLS Support of Diff-Serv February 2001 272 allows any one of the following combinations within an MPLS Diff- 273 Serv domain: 274 - zero or any number of E-LSPs, and 275 - zero or any number of L-LSPs. 277 The network administrator selects the actual combination of LSPs 278 from the set of allowed combinations and selects how the Behavior 279 Aggregates are actually transported over this combination of LSPs, 280 in order to best match his/her environment and objectives in terms 281 of Diff-Serv support, Traffic Engineering and MPLS Protection. 282 Criteria for selecting such a combination are outside the scope of 283 this specification. 285 For a given FEC, there may be more than one LSP carrying the same 286 OA, for example for purposes of load balancing of the OA; However in 287 order to respect ordering constraints, all packets of a given 288 microflow, possibly spanning multiple BAs of a given Ordered 289 Aggregate, MUST be transported over the same LSP. Conversely, each 290 LSP MUST be capable of supporting all the (active) BAs of a given 291 OA. 293 Examples of deployment scenarios are provided for information in 294 APPENPIX A. 296 1.5 Relationship between Label and FEC 298 [MPLS_ARCH] states in section `2.1. Overview' that: 299 `Some routers analyze a packet's network layer header not merely to 300 choose the packet's next hop, but also to determine a packet's 301 "precedence" or "class of service". They may then apply different 302 discard thresholds or scheduling disciplines to different packets. 303 MPLS allows (but does not require) the precedence or class of 304 service to be fully or partially inferred from the label. In this 305 case, one may say that the label represents the combination of a FEC 306 and a precedence or class of service.' 308 In line with this, we observe that: 309 - With E-LSPs, the label represents the combination of a FEC and 310 the set of BAs transported over the E-LSP). Where all the 311 supported BAs are transported over an E-LSP, the label then 312 represents the complete FEC. 313 - With L-LSPs, the label represents the combination of a FEC and 314 an OA. 316 1.6 Bandwidth Reservation for E-LSPs and L-LSPs 318 Regardless of which label binding protocol is used, E-LSPs and 319 L-LSPs may be established without bandwidth reservation or with 320 bandwidth reservation. 322 Establishing an E-LSP or L-LSP with bandwidth reservation means that 323 bandwidth requirements for the LSP are signaled at LSP establishment 325 Le Faucheur et. al 6 326 MPLS Support of Diff-Serv February 2001 328 time. Such signaled bandwidth requirements may be used by LSRs at 329 establishment time to perform admission control of the signaled LSP 330 over the Diff-Serv resources provisioned (e.g. via configuration, 331 SNMP or policy protocols) for the relevant PSC(s). Such signaled 332 bandwidth requirements may also be used by LSRs at establishment 333 time to perform adjustment to the Diff-Serv resources associated 334 with the relevant PSC(s) (e.g. adjust PSC scheduling weight). 336 Note that establishing an E-LSP or L-LSP with bandwidth reservation 337 does not mean that per-LSP scheduling is necessarily required. Since 338 E-LSPs and L-LSPs are specified in this document for support of 339 Differentiated Services, the required forwarding treatment 340 (scheduling and drop policy) is defined by the appropriate Diff-Serv 341 PHB. This forwarding treatment MUST be applied by the LSR at the 342 granularity of the BA and MUST be compliant with the relevant PHB 343 specification. 345 When bandwidth requirements are signaled at establishment of an 346 L-LSP, the signaled bandwidth is obviously associated with the 347 L-LSP's PSC. Thus, LSRs which use the signaled bandwidth to perform 348 admission control may perform admission control over Diff-Serv 349 resources which are dedicated to the PSC (e.g. over the bandwidth 350 guaranteed to the PSC through its scheduling weight). 352 When bandwidth requirements are signaled at establishment of an 353 E-LSP, the signaled bandwidth is associated collectively to the 354 whole LSP and therefore to the set of transported PSCs. Thus, LSRs 355 which use the signaled bandwidth to perform admission control may 356 perform admission control over global resources which are shared by 357 the set of PSCs (e.g. over the total bandwidth of the link). 359 Examples of scenarios where bandwidth reservation is not used and 360 scenarios where bandwidth reservation is used are provided for 361 information in APPENDIX B. 363 2. Label Forwarding Model for Diff-Serv LSRs and Tunneling Models 365 2.1 Label Forwarding Model for Diff-Serv LSRs 367 Since different Ordered Aggregates of a given FEC may be transported 368 over different LSPs, the label swapping decision of a Diff-Serv LSR 369 clearly depends on the forwarded packet's Behavior Aggregate. Also, 370 since the IP DS field of a forwarded packet may not be directly 371 visible to an LSR, the way to determine the PHB to be applied to a 372 received packet and to encode the PHB into a transmitted packet is 373 different than a non-MPLS Diff-Serv Router. 375 Thus, in order to describe Label Forwarding by Diff-Serv LSRs, we 376 model the LSR Diff-Serv label switching behavior as comprising four 377 stages: 378 - Incoming PHB Determination (A) 380 Le Faucheur et. al 7 381 MPLS Support of Diff-Serv February 2001 383 - Outgoing PHB Determination with Optional Traffic Conditioning(B) 384 - Label Forwarding (C) 385 - Encoding of Diff-Serv information into Encapsulation Layer (EXP, 386 CLP, DE, User_Priority) (D) 388 Each stage is described in more details in the following sections. 390 Obviously, to enforce the Diff-Serv service differentiation the LSR 391 MUST also apply the forwarding treatment corresponding to the 392 Outgoing PHB. 394 This model is illustrated below: 396 --Inc_label(s)(*)------------------------>I===I--Outg_label(s)(&)--> 397 \ I I \ 398 \---->I===I I C I \-->I===I--Encaps-> 399 I A I I===I--Outg_PHB->I===I I D I (&) 400 -Encaps->I===I--Inc_PHB->I B I \ /->I===I 401 (*) I===I \--------+ 402 \----Forwarding--> 403 Treatment 404 (PHB) 406 "Encaps" designates the Diff-Serv related information encoded in the 407 MPLS Encapsulation layer (eg EXP field, ATM CLP, Frame Relay DE, 408 802.1 User_Priority) 410 (*) when the LSR behaves as an MPLS ingress node, the incoming 411 packet may be received unlabelled. 413 (&) when the LSR behaves as an MPLS egress node, the outgoing packet 414 may be transmitted unlabelled. 416 This model is presented here to describe the functional operations 417 of Diff-Serv LSRs and does not constrain actual implementation. 419 2.2 Incoming PHB Determination 421 This stage determines which Behavior Aggregate the received packet 422 belongs to. 424 2.2.1 Incoming PHB Determination Considering a Label Stack Entry 426 Sections 3.3 and 4.3 provide the details on how to perform incoming 427 PHB Determination considering a given received label stack entry 428 and/or received incoming MPLS encapsulation information depending on 429 the incoming LSP type and depending on the incoming MPLS 430 encapsulation. 432 Section 2.6 provides the details of which label stack entry to 433 consider for the Incoming PHB Determination depending on the 434 supported Diff-Serv tunneling mode. 436 Le Faucheur et. al 8 437 MPLS Support of Diff-Serv February 2001 439 2.2.2 Incoming PHB Determination Considering IP Header 441 Section 2.6 provides the details of when the IP Header is to be 442 considered for incoming PHB determination depending on the supported 443 Diff-Serv tunneling model. In those cases where the IP header is to 444 be used, this stage operates exactly as with a non-MPLS IP Diff-Serv 445 Router and uses the DS field to determine incoming PHB. 447 2.3 Outgoing PHB Determination With Optional Traffic Conditioning 449 The traffic conditioning stage is optional and may be used on an LSR 450 to perform traffic conditioning including Behavior Aggregate 451 demotion or promotion. It is outside the scope of this 452 specification. For the purpose of specifying Diff-Serv over MPLS 453 forwarding, we simply note that the PHB to be actually enforced, and 454 conveyed to downstream LSRs, by an LSR (referred to as "outgoing 455 PHB") may be different to the PHB which had been associated with the 456 packet by the previous LSR (referred to as "incoming PHB"). 458 When the traffic conditioning stage is not present, the "outgoing 459 PHB" is simply identical to the "incoming PHB". 461 2.4 Label Forwarding 463 [MPLS_ARCH] describes how label swapping is performed by LSRs on 464 incoming labeled packets using an Incoming Label Map (ILM), where 465 each incoming label is mapped to one or multiple NHLFEs. [MPLS_ARCH] 466 also describes how label imposition is performed by LSRs on incoming 467 unlabelled packets using a FEC-to-NHLFEs Map (FTN), where each 468 incoming FEC is mapped to one or multiple NHLFEs. 470 A Diff-Serv Context for a label is defined as comprising: 471 - `LSP type (ie E-LSP or L-LSP)' 472 - `supported PHBs' 473 - `Encaps-->PHB mapping' for an incoming label 474 - `Set of PHB-->Encaps mappings' for an outgoing label 476 The present specification defines that a Diff-Serv Context is stored 477 in the ILM for each incoming label. 479 [MPLS_ARCH] states that the `NHLFE may also contain any other 480 information needed in order to properly dispose of the packet'. In 481 accordance with this, the present specification defines that a Diff- 482 Serv Context is stored in the NHLFE for each outgoing label which is 483 swapped or pushed. 485 This Diff-Serv Context information is populated into the ILM and the 486 FTN at label establishment time. 488 If the label corresponds to an E-LSP for which no EXP<-->PHB mapping 489 has been explicitly signaled at LSP setup, the `supported PHBs' is 491 Le Faucheur et. al 9 492 MPLS Support of Diff-Serv February 2001 494 populated with the set of PHBs of the preconfigured 495 EXP<-->PHB Mapping, which is discussed below in section 3.2.1. 497 If the label corresponds to an E-LSP for which an EXP<-->PHB mapping 498 has been explicitly signaled at LSP setup, the `supported PHBs' is 499 populated with the set of PHBs of the signaled EXP<-->PHB mapping. 501 If the label corresponds to an L-LSP, the `supported PHBs' is 502 populated with the set of PHBs forming the PSC that is signaled at 503 LSP set-up. 505 The details of how the `Encaps-->PHB mapping' or `Set of 506 PHB-->Encaps mappings' are populated are defined below in sections 3 507 and 4. 509 [MPLS_ARCH] also states that: 510 "If the ILM [respectively, FTN] maps a particular label to a set of 511 NHLFEs that contains more than one element, exactly one element of 512 the set must be chosen before the packet is forwarded. The 513 procedures for choosing an element from the set are beyond the scope 514 of this document. Having the ILM [respectively, FTN] map a label 515 [respectively, a FEC] to a set containing more than one NHLFE may be 516 useful if, e.g., it is desired to do load balancing over multiple 517 equal-cost paths." 519 In accordance with this, the present specification allows that an 520 incoming label [respectively FEC] may be mapped, for Diff-Serv 521 purposes, to multiple NHLFEs (for instance where different NHLFEs 522 correspond to egress labels supporting different sets of PHBs). When 523 a label [respectively FEC] maps to multiple NHLFEs, the Diff-Serv 524 LSR MUST choose one of the NHLFEs whose Diff-Serv Context indicates 525 that it supports the Outgoing PHB of the forwarded packet. 527 When a label [respectively FEC] maps to multiple NHLFEs which 528 supports the Outgoing PHB, the procedure for choosing one among 529 those is outside the scope of this document. This situation may be 530 encountered where it is desired to do load balancing of a Behavior 531 Aggregate over multiple LSPs. In such situations, in order to 532 respect ordering constraints, all packets of a given microflow MUST 533 be transported over the same LSP. 535 2.5 Encoding Diff-Serv Information Into Encapsulation Layer 537 This stage determines how to encode the fields which convey Diff- 538 Serv information in the transmitted packet (e.g. MPLS Shim EXP, ATM 539 CLP, Frame Relay DE, 802.1 User_Priority). 541 2.5.1 Encoding Diff-Serv Information Into Transmitted Label Entry 543 Sections 3.5 and 4.5 provide the details on how to perform Diff-Serv 544 information encoding into a given transmitted label stack entry 545 and/or transmitted MPLS encapsulation information depending on the 547 Le Faucheur et. al 10 548 MPLS Support of Diff-Serv February 2001 550 corresponding outgoing LSP type and depending on the MPLS 551 encapsulation. 553 Section 2.6 provides the details of which label stack entry to 554 perform Diff-Serv information encoding into depending on the 555 supported Diff-Serv tunneling mode. 557 2.5.2 Encoding Diff-Serv Information Into Transmitted IP Header 559 To perform Diff-Serv Information Encoding into the transmitted 560 packet IP header, this stage operates exactly as with a non-MPLS IP 561 Diff-Serv Router and encodes the DSCP of the Outgoing PHB into the 562 DS field. 564 Section 2.6 provides the details of when Diff-Serv Information 565 Encoding is to be performed into transmitted IP header depending on 566 the supported Diff-Serv tunneling mode. 568 2.6 Diff-Serv Tunneling Models over MPLS 570 2.6.1 Diff-Serv Tunneling Models 572 [DIFF_TUNNEL] considers the interaction of Differentiated Services 573 with IP tunnels of various forms. MPLS LSPs are not a form of "IP 574 tunnels" since the MPLS encapsulating header does not contain an IP 575 header and thus MPLS LSPs are not considered in [DIFF_TUNNEL]. 576 However, although not a form of "IP tunnel", MPLS LSPs are a form of 577 "tunnel". 579 From the Diff-Serv standpoint, LSPs share a lot of characteristics 580 with IP Tunnels: 581 - Intermediate nodes (i.e. Nodes somewhere along the LSP span) 582 only see and operate on the "outer" Diff-Serv information. 583 - LSPs are unidirectional. 584 - The "outer" Diff-Serv information can be modified at any 585 intermediate nodes. 587 However, from the Diff-Serv standpoint, LSPs also have a 588 distinctive property compared to IP Tunnels: 589 - There is generally no behavior analogous to Penultimate Hop 590 Popping (PHP) used with IP Tunnels. Furthermore, PHP results in 591 the "outer" Diff-Serv information associated with the LSP not 592 being visible to the LSP egress. In situations where this 593 information is not meaningful at the LSP Egress, this is 594 obviously not an issue at all. In situations where this 595 information is meaningful at the LSP Egress, then it must 596 somehow be carried in some other means. 598 The two conceptual models for Diff-Serv tunneling over IP Tunnels 599 defined in [DIFF_TUNNEL] are applicable and useful to Diff-Serv over 600 MPLS but their respective detailed operations is somewhat different 601 over MPLS. These two models are the Pipe Model and the Uniform 603 Le Faucheur et. al 11 604 MPLS Support of Diff-Serv February 2001 606 Model. Their operations over MPLS are specified in the following 607 sections. Discussion and definition of alternative tunneling models 608 are outside the scope of this specification. 610 2.6.2 Pipe Model 612 With the Pipe Model, MPLS tunnels (aka LSPs) are used to hide the 613 intermediate MPLS nodes between LSP Ingress and Egress from the 614 Diff-Serv perspective. 616 In this model, tunneled packets must convey two meaningful pieces of 617 Diff-Serv information: 618 - the Diff-Serv information which is meaningful to intermediate 619 nodes along the LSP span including the LSP Egress (which we 620 refer to as the "LSP Diff-Serv Information"). This LSP Diff-Serv 621 Information is not meaningful beyond the LSP Egress: Whether 622 Traffic Conditioning at intermediate nodes on the LSP span 623 affects the LSP Diff-Serv information or not, this updated Diff- 624 Serv information is not considered meaningful beyond the LSP 625 Egress and is ignored. 626 - the Diff-Serv information which is meaningful beyond the LSP 627 Egress (which we refer to as the "Tunneled Diff-Serv 628 Information"). This information is to be conveyed by the LSP 629 Ingress to the LSP Egress. This Diff-Serv information is not 630 meaningful to the intermediate nodes on the LSP span. 632 Operation of the Pipe Model without PHP is illustrated below: 634 ========== LSP =============================> 636 ---Swap--(M)--...--Swap--(M)--Swap---- 637 / (outer header) \ 638 (M) (M) 639 / \ 640 >--(m)-Push.................(m).....................Pop--(m)--> 641 I (inner header) E (M*) 643 (M) represents the "LSP Diff-Serv information" 644 (m) represents the "Tunneled Diff-Serv information" 645 (*) The LSP Egress considers the LSP Diff-Serv information received 646 in the outer header (i.e. before the pop) in order to apply its 647 Diff-Serv forwarding treatment (i.e. actual PHB) 648 I represents the LSP ingress node 649 E represents the LSP egress node 651 With the Pipe Model, the "LSP Diff-Serv Information" needs to be 652 conveyed to LSP Egress so that it applies its forwarding treatment 653 based on it. The "Tunneled Diff-Serv information" also needs to be 654 conveyed to the LSP Egress so it can be conveyed further downstream. 656 Le Faucheur et. al 12 657 MPLS Support of Diff-Serv February 2001 659 Since both Diff-Serv information need to be conveyed to the LSP 660 Egress, the Pipe Model operates only without PHP. 662 The Pipe Model is particularly appropriate to environments in which: 663 - the cloud upstream of the incoming interface of the LSP Ingress 664 and the cloud downstream of the outgoing interface of the LSP 665 Egress are in Diff-Serv domains which use a common set of Diff- 666 Serv service provisioning policies and PHB definitions, while 667 the LSP spans one (or more) Diff-Serv domain(s) which use(s) a 668 different set of Diff-Serv service provisioning policies and PHB 669 definitions 670 - the outgoing interface of the LSP Egress is in the (last) Diff- 671 Serv domain spanned by the LSP. 673 As an example, consider the case where a service provider is 674 offering an MPLS VPN service (see [MPLS_VPN] for an example of MPLS 675 VPN architecture) including Diff-Serv differentiation. Say that a 676 collection of sites are interconnected via such an MPLS VPN service. 677 Now say that this collection of sites are managed under a common 678 administration and are also supporting Diff-Serv service 679 differentiation. If the VPN site administration and the Service 680 Provider are not sharing the exact same Diff-Serv policy (for 681 instance not supporting the same number of PHBs), then operation of 682 Diff-Serv in the Pipe Model over the MPLS VPN service would allow 683 the VPN Sites Diff-Serv policy to operate consistently throughout 684 the ingress VPN Site and Egress VPN Site and transparently over the 685 Service Provider Diff-Serv domain. It may be useful to view such 686 LSPs as linking the Diff-Serv domains at their endpoints into a 687 single Diff-Serv region by making these endpoints virtually 688 contiguous even though they may be physically separated by 689 intermediate network nodes. 691 The Pipe Model MUST be supported. 693 For support of the Pipe Model over a given LSP without PHP, an LSR 694 performs the Incoming PHB Determination and the Diff-Serv 695 information Encoding in the following manner: 696 - when receiving an unlabelled packet, the LSR performs Incoming 697 PHB Determination considering the received IP Header. 698 - when receiving a labeled packet, the LSR performs Incoming PHB 699 Determination considering the outer label entry in the received 700 label stack. In particular, when a pop operation is to be 701 performed for the considered LSP, the LSR performs Incoming PHB 702 Determination BEFORE the pop. 703 - when performing a push operation for the considered LSP, the 704 LSR: 705 o encodes Diff-Serv Information corresponding to the 706 OUTGOING PHB in the transmitted label entry corresponding 707 to the pushed label. 708 o encodes Diff-Serv Information corresponding to the 709 INCOMING PHB in the encapsulated header (swapped label 710 entry or IP header). 712 Le Faucheur et. al 13 713 MPLS Support of Diff-Serv February 2001 715 - when performing a swap-only operation for the considered LSP, 716 the LSR encodes Diff-Serv Information in the transmitted label 717 entry that contains the swapped label 718 - when performing a pop operation for the considered LSP, the LSR 719 does not perform Encoding of Diff-Serv Information into the 720 header exposed by the pop operation (i.e. the LSR leaves the 721 exposed header "as is"). 723 2.6.2.1 Short Pipe Model 725 The Short Pipe Model is an optional variation over the Pipe Model 726 described above. The only difference is that, with the Short Pipe 727 Model, the Diff-Serv forwarding treatment at the LSP Egress is 728 applied based on the "Tunneled Diff-Serv Information" (i.e. Diff- 729 Serv information conveyed in the encapsulated header) rather than on 730 the "LSP Diff-Serv information" (i.e. Diff-Serv information conveyed 731 in the encapsulating header). 733 Operation of the Short Pipe Model without PHP is illustrated below: 735 ========== LSP =============================> 737 ---Swap--(M)--...--Swap--(M)--Swap---- 738 / (outer header) \ 739 (M) (M) 740 / \ 741 >--(m)-Push.................(m).....................Pop--(m)--> 742 I (inner header) E 744 (M) represents the "LSP Diff-Serv information" 745 (m) represents the "Tunneled Diff-Serv information" 746 I represents the LSP ingress node 747 E represents the LSP egress node 749 Since the LSP Egress applies its forwarding treatment based on the 750 "Tunneled Diff-Serv Information", the "LSP Diff-Serv information" 751 does not need to be conveyed by the penultimate node to the LSP 752 Egress. Thus the Short Pipe Model can also operate with PHP. 754 Operation of the Short Pipe Model with PHP is illustrated below: 756 =========== LSP ============================> 758 ---Swap--(M)--...--Swap------ 759 / (outer header) \ 760 (M) (M) 761 / \ 762 >--(m)-Push.................(m).............Pop-(m)--E--(m)--> 763 I (inner header) P (M*) 765 Le Faucheur et. al 14 766 MPLS Support of Diff-Serv February 2001 768 (M) represents the "LSP Diff-Serv information" 769 (m) represents the "Tunneled Diff-Serv information" 770 (*) The Penultimate LSR considers the LSP Diff-Serv information 771 received in the outer header (i.e. before the pop) in order to 772 apply its Diff-Serv forwarding treatment (i.e. actual PHB) 773 I represents the LSP ingress node 774 P represents the LSP penultimate node 775 E represents the LSP egress node 777 The Short Pipe Model is particularly appropriate to environments in 778 which: 779 - the cloud upstream of the incoming interface of the LSP Ingress 780 and the cloud downstream of the outgoing interface of the LSP 781 Egress are in Diff-Serv domains which use a common set of Diff- 782 Serv service provisioning policies and PHB definitions, while 783 the LSP spans one (or more) Diff-Serv domain(s) which use(s) a 784 different set of Diff-Serv service provisioning policies and PHB 785 definitions 786 - the outgoing interface of the LSP Egress is in the same Diff- 787 Serv domain as the cloud downstream of it. 789 Since each outgoing interface of the LSP Egress is in the same Diff- 790 Serv domain as the cloud downstream of it, each outgoing interface 791 may potentially be in a different Diff-Serv domain, and the LSP 792 Egress needs to be configured with awareness of every corresponding 793 Diff-Serv policy. This operational overhead is justified in some 794 situations where the respective downstream Diff-Serv policies are 795 better suited to offering service differentiation over each egress 796 interface than the common Diff-Serv policy used on the LSP span. An 797 example of such a situation is where a Service Provider offers an 798 MPLS VPN service and where some VPN users request that their own VPN 799 Diff-Serv policy be applied to control service differentiation on 800 the dedicated link from the LSP Egress to the destination VPN site, 801 rather than the Service Provider's Diff-Serv policy. 803 The Short Pipe Model MAY be supported. 805 For support of the Short Pipe Model over a given LSP without PHP, an 806 LSR performs the Incoming PHB Determination and the Diff-Serv 807 information Encoding in the same manner as with the Pipe Model with 808 the following exception: 809 - when receiving a labeled packet, the LSR performs Incoming PHB 810 Determination considering the header (label entry or IP header) 811 which is used to do the actual forwarding. In particular, when a 812 pop operation is to be performed for the considered LSP, the LSR 813 performs Incoming PHB Determination AFTER the pop. 815 For support of the Short Pipe Model over a given LSP with PHP, an 816 LSR performs Incoming PHB Determination and Diff-Serv information 817 Encoding in the same manner as without PHP with the following 818 exceptions: 820 Le Faucheur et. al 15 821 MPLS Support of Diff-Serv February 2001 823 - the Penultimate LSR performs Incoming PHB Determination 824 considering the outer label entry in the received label stack. 825 In other words, when a pop operation is to be performed for the 826 considered LSP, the Penultimate LSR performs Incoming PHB 827 Determination BEFORE the pop. 828 Note that the behavior of the Penultimate LSR in the Short Pipe Mode 829 with PHP, is identical to the behavior of the LSP Egress in the Pipe 830 Mode (necessarily without PHP). 832 2.6.3 Uniform Model 834 With the Uniform Model, MPLS tunnels (aka LSPs) are viewed as 835 artifacts of the end-to-end path from the Diff-Serv standpoint. MPLS 836 Tunnels may be used for forwarding purposes but have no significant 837 impact on Diff-Serv. In this model, any packet contains exactly one 838 piece of Diff-Serv information which is meaningful and is always 839 encoded in the outer most label entry (or in the IP DSCP where the 840 IP packet is transmitted unlabelled for instance at the egress of 841 the LSP). Any Diff-Serv information encoded somewhere else (e.g. in 842 deeper label entries) is of no significance to intermediate nodes or 843 to the tunnel egress and is ignored. If Traffic Conditioning at 844 intermediate nodes on the LSP span affects the "outer" Diff-Serv 845 information, the updated Diff-Serv information is the one considered 846 meaningful at the egress of the LSP. 848 Operation of the Uniform Model without PHP is illustrated below: 850 ========== LSP =============================> 852 ---Swap--(M)--...-Swap--(M)--Swap---- 853 / (outer header) \ 854 (M) (M) 855 / \ 856 >--(M)--Push...............(x).......................Pop--(M)-> 857 I (inner header) E 859 (M) represents the Meaningful Diff-Serv information encoded in the 860 corresponding header. 861 (x) represents non-meaningful Diff-Serv information. 862 I represents the LSP ingress node 863 E represents the LSP egress node 865 Operation of the Uniform Model with PHP is illustrated below : 867 ========== LSP =========================> 869 ---Swap-(M)-...-Swap------ 870 / (outer header) \ 871 (M) (M) 872 / \ 874 Le Faucheur et. al 16 875 MPLS Support of Diff-Serv February 2001 877 >--(M)--Push..............(x)............Pop-(M)--E--(M)-> 878 I (inner header) P 880 (M) represents the Meaningful Diff-Serv information encoded in the 881 corresponding header. 882 (x) represents non-meaningful Diff-Serv information. 883 I represents the LSP ingress node 884 P represents the LSP penultimate node 885 E represents the LSP egress node 887 The Uniform Model for Diff-Serv over MPLS is such that, from the 888 Diff-Serv perspective, operations are exactly identical to the 889 operations if MPLS was not used. In other words, MPLS is entirely 890 transparent to the Diff-Serv operations. 892 Use of the Uniform Model allows LSPs to span Diff-Serv domain 893 boundaries without any other measure in place than an inter-domain 894 Traffic Conditioning Agreement at the physical boundary between the 895 Diff-Serv domains and operating exclusively on the "outer" header, 896 since the meaningful Diff-Serv information is always visible and 897 modifiable in the outmost label entry. 899 The Uniform Model MAY be supported. 901 For support of the Uniform Model over a given LSP, an LSR performs 902 Incoming PHB Determination and Diff-Serv information Encoding in the 903 following manner: 904 - when receiving an unlabelled packet, the LSR performs Incoming 905 PHB Determination considering the received IP Header. 906 - when receiving a labeled packet, the LSR performs Incoming PHB 907 Determination considering the outer label entry in the received 908 label stack. In particular, when a pop operation is to be 909 performed for the considered LSP, the LSR performs Incoming PHB 910 Determination BEFORE the pop. 911 - when performing a push operation for the considered LSP, the LSR 912 encodes Diff-Serv Information in the transmitted label entry 913 corresponding to the pushed label. The Diff-Serv Information 914 encoded in the encapsulated header (swapped label entry or IP 915 Header) is of no importance. 916 - when performing a swap-only operation for the considered LSP, 917 the LSR encodes Diff-Serv Information in the transmitted label 918 entry that contains the swapped label. 919 - when PHP is used, the Penultimate LSR needs to be aware of the 920 "Set of PHB-->Encaps mappings" for the label corresponding to 921 the exposed header (or the PHB-->DSCP mapping) in order to 922 perform Diff-Serv Information Encoding. Methods for providing 923 this mapping awareness are outside the scope of this 924 specification. As an example, the "PHB-->DSCP mapping" may be 925 locally configured. As another example, in some environments, it 926 may be appropriate for the Penultimate LSR to assume that the 927 "Set of PHB-->Encaps mappings" to be used for the outgoing label 929 Le Faucheur et. al 17 930 MPLS Support of Diff-Serv February 2001 932 in the exposed header is the "Set of PHB-->Encaps mappings" that 933 would be used by the LSR if the LSR was not doing PHP. 934 Note also that this specification assumes that the Penultimate 935 LSR does not perform label swapping over the label entry exposed 936 by the pop operation (and in fact that it does not even look at 937 the exposed label). Consequently, restrictions may apply to the 938 Diff-Serv Information Encoding that can be performed by the 939 Penultimate LSR. For example, this specification does not allow 940 situations where the Penultimate LSR pops a label corresponding 941 to an E-LSP supporting two PSCs, while the header exposed by the 942 pop contains label values for two L-LSPs each supporting one 943 PSC, since the Diff-Serv Information Encoding would require 944 selecting one label or the other. 946 Note that LSR behaviors for the Pipe , the Short Pipe and the 947 Uniform Model only differ when doing a push or a pop. Thus, 948 Intermediate LSRs which perform swap only operations for an LSP, 949 behave exactly in the same way regardless of whether they are 950 behaving in the Pipe, Short Pipe or the Uniform model. With a Diff- 951 Serv implementation supporting multiple Tunneling Models, only LSRs 952 behaving as LSP Ingress, Penultimate LSR or LSP Egress need to be 953 configured to operate in a particular Model. Signaling to associate 954 a Diff-Serv tunneling model on a per-LSP basis is out of the scope 955 of this specification. 957 2.6.4 Hierarchy 959 Through the label stack mechanism, MPLS allows LSP tunneling to nest 960 to any depth. We observe that with such nesting, the push of level 961 N+1 takes place on a subsequent (or the same) LSR to the LSR doing 962 the push for level N, while the pop of level N+1 takes place on a 963 previous (or the same) LSR to the LSR doing the pop of level N. For 964 a given level N LSP, the Ingress LSR doing the push and the LSR 965 doing the pop (Penultimate LSR or LSP Egress) must operate in the 966 same Tunneling Model (i.e. Pipe, Short Pipe or Uniform). However, 967 there is no requirement for consistent tunneling models across 968 levels so that LSPs at different levels may be operating in 969 different Tunneling Models. 971 Hierarchical operations is illustrated below in the case of two 972 levels of tunnels: 974 +--------Swap--...---+ 975 / (outmost header) \ 976 / \ 977 Push(2).................(2)Pop 978 / (outer header) \ 979 / \ 980 >>---Push(1)........................(1)Pop-->> 981 (inner header) 983 (1) Tunneling Model 1 985 Le Faucheur et. al 18 986 MPLS Support of Diff-Serv February 2001 988 (2) Tunneling Model 2 989 Tunneling Model 2 may be the same as or may be different to 990 Tunneling Model 1. 992 For a given LSP of level N, the LSR must perform the Incoming PHB 993 Determination and the Diff-Serv information Encoding as specified in 994 section 2.6.2, 2.6.2.1 and 2.6.3 according to the Tunneling Model of 995 this level N LSP and independently of the Tunneling Model of other 996 level LSPs. 998 3. Detailed Operations of E-LSPs 1000 3.1 E-LSP Definition 1002 E-LSPs are defined in section 1.2. 1004 Within a given MPLS Diff-Serv domain, all the E-LSPs relying on the 1005 pre-configured mapping are capable of transporting the same common 1006 set of 8, or fewer, BAs. Each of those E-LSPs may actually transport 1007 this full set of BAs or any arbitrary subset of it. 1009 For a given FEC, two given E-LSPs using signaled EXP<-->PHB mapping 1010 can support the same or different sets of Ordered Aggregates. 1012 3.2 Populating the `Encaps-->PHB mapping' for an incoming E-LSP 1014 This section defines how the `Encaps-->PHB mapping' of the Diff-Serv 1015 Context is populated for an incoming E-LSP in order to allow 1016 Incoming PHB determination. 1018 The `Encaps-->PHB mapping' for an E-LSP is always of the form 1019 `EXP-->PHB mapping'. 1021 If the label corresponds to an E-LSP for which no EXP<-->PHB mapping 1022 has been explicitly signaled at LSP setup, the `EXP-->PHB mapping' 1023 is populated based on the Preconfigured EXP<-->PHB Mapping which is 1024 discussed below in section 3.2.1. 1026 If the label corresponds to an E-LSP for which an EXP<-->PHB mapping 1027 has been explicitly signaled at LSP setup, the `EXP-->PHB mapping' 1028 is populated as per the signaled EXP<-->PHB mapping. 1030 3.2.1 Preconfigured EXP<-->PHB mapping 1032 LSRs supporting E-LSPs which use the preconfigured EXP<-->PHB 1033 mapping must allow local configuration of this EXP<-->PHB mapping. 1034 This mapping applies to all the E-LSPs established on this LSR 1035 without a mapping explicitly signaled at set-up time. 1037 Le Faucheur et. al 19 1038 MPLS Support of Diff-Serv February 2001 1040 The preconfigured EXP<-->PHB mapping must either be consistent at 1041 every E-LSP hop throughout the MPLS Diff-Serv domain spanned by the 1042 LSP or appropriate remarking of the EXP field must be performed by 1043 the LSR whenever a different preconfigured mapping is used on the 1044 ingress and egress interfaces. 1046 In case, the preconfigured EXP<-->PHB mapping has not actually been 1047 configured by the Network Administrator, the LSR should use a 1048 default preconfigured EXP<-->PHB mapping which maps all EXP values 1049 to the Default PHB. 1051 3.3 Incoming PHB Determination On Incoming E-LSP 1053 This section defines how Incoming PHB Determination is carried out 1054 when the considered label entry in the received label stack 1055 corresponds to an E-LSP. This requires that the `Encaps-->PHB 1056 mapping' is populated as defined in section 3.2. 1058 When considering a label entry corresponding to an incoming E-LSP 1059 for Incoming PHB Determination, the LSR: 1060 - determines the EXP-->PHB mapping by looking up the 1061 `Encaps-->PHB mapping' of the Diff-Serv Context associated in 1062 the ILM with the considered incoming E-LSP label. 1063 - determines the incoming PHB by looking up the EXP field of the 1064 considered label entry in the EXP-->PHB mapping table. 1066 3.4 Populating the `Set of PHB-->Encaps mappings' for an outgoing E-LSP 1068 This section defines how the `Set of PHB-->Encaps mappings' of the 1069 Diff-Serv Context is populated at label setup for an outgoing E-LSP 1070 in order to allow Encoding of Diff-Serv information in the 1071 Encapsulation Layer. 1073 3.4.1 `PHB-->EXP mapping' 1075 An outgoing E-LSP must always have a `PHB-->EXP mapping' as part of 1076 the `Set of PHB-->Encaps mappings' of its Diff-Serv Context. 1078 If the label corresponds to an E-LSP for which no EXP<-->PHB mapping 1079 has been explicitly signaled at LSP setup, this `PHB-->EXP mapping' 1080 is populated based on the Preconfigured EXP<-->PHB Mapping which is 1081 discussed above in section 3.2.1. 1083 If the label corresponds to an E-LSP for which an EXP<-->PHB mapping 1084 has been explicitly signaled at LSP setup, the `PHB-->EXP mapping' 1085 is populated as per the signaled EXP<-->PHB mapping. 1087 3.4.2 `PHB-->CLP mapping' 1089 If the LSP is egressing over an ATM interface which is not label 1090 switching controlled, then one `PHB-->CLP mapping' is added to the 1092 Le Faucheur et. al 20 1093 MPLS Support of Diff-Serv February 2001 1095 `Set of PHB-->Encaps mappings' for this outgoing LSP. This 1096 `PHB-->CLP mapping' is populated in the following way: 1097 - it is a function of the PHBs supported on this LSP, and may use 1098 the relevant mapping entries for these PHBs from the 1099 Default PHB-->CLP Mapping defined in section 3.4.2.1. Other 1100 mappings than the one defined in section 3.4.2.1 may be used. In 1101 particular, if a mapping from PHBs to CLP is standardized in the 1102 future for operations of Diff-Serv over ATM, such standardized 1103 mapping may then be used. 1105 For example if the outgoing label corresponds to an LSP supporting 1106 the AF1 PSC , then the `PHB-->CLP mapping' may be populated with: 1108 PHB CLP Field 1110 AF11 ----> 0 1111 AF12 ----> 1 1112 AF13 ----> 1 1113 EF ----> 0 1115 Notice that in this case the `Set of PHB-->Encaps mappings' contains 1116 both a `PHB-->EXP mapping' and a `PHB-->CLP mapping'. 1118 3.4.2.1 Default PHB-->CLP Mapping 1120 PHB CLP Bit 1122 DF ----> 0 1123 CSn ----> 0 1124 AFn1 ----> 0 1125 AFn2 ----> 1 1126 AFn3 ----> 1 1127 EF ----> 0 1129 3.4.3 `PHB-->DE mapping' 1131 If the LSP is egressing over a Frame Relay interface which is not 1132 label switching controlled, one `PHB-->DE mapping' is added to the 1133 `Set of PHB-->Encaps mappings' for this outgoing LSP and is 1134 populated in the following way: 1135 - it is a function of the PHBs supported on this LSP, and may use 1136 the relevant mapping entries for these PHBs from the Default 1137 PHB-->DE Mapping defined in section 3.4.3.1. Other mappings than 1138 the one defined in section 3.4.3.1 may be used. In particular, 1139 if a mapping from PHBs to DE is standardized in the future for 1140 operations of Diff-Serv over Frame Relay, such standardized 1141 mapping may then be used. 1143 Notice that in this case the `Set of PHB-->Encaps mappings' contains 1144 both a `PHB-->EXP mapping' and a `PHB-->DE mapping'. 1146 3.4.3.1 Default PHB-->DE Mapping 1148 Le Faucheur et. al 21 1149 MPLS Support of Diff-Serv February 2001 1151 PHB DE Bit 1153 DF ----> 0 1154 CSn ----> 0 1155 AFn1 ----> 0 1156 AFn2 ----> 1 1157 AFn3 ----> 1 1158 EF ----> 0 1160 3.4.4 `PHB-->802.1 mapping' 1162 If the LSP is egressing over a LAN interface on which multiple 802.1 1163 Traffic Classes are supported as per [IEEE_802.1], then one 1164 `PHB-->802.1 mapping' is added to the `Set of PHB-->Encaps mappings' 1165 for this outgoing LSP. This `PHB-->802.1 mapping' is populated in 1166 the following way: 1167 - it is a function of the PHBs supported on this LSP, an uses the 1168 relevant mapping entries for these PHBs from the Preconfigured 1169 PHB-->802.1 Mapping defined in section 3.4.4.1. 1171 Notice that the `Set of PHB-->Encaps mappings' then contains both a 1172 `PHB-->EXP mapping' and a `PHB-->802.1 mapping'. 1174 3.4.4.1 Preconfigured `PHB-->802.1 Mapping' 1176 At the time of producing this specification, there are no 1177 standardized mapping from PHBs to 802.1 Traffic Classes. 1178 Consequently, an LSR supporting multiple 802.1 Traffic Classes over 1179 LAN interfaces must allow local configuration of a `PHB-->802.1 1180 Mapping'. This mapping applies to all the outgoing LSPs established 1181 by the LSR on such LAN interfaces. 1183 3.5 Encoding Diff-Serv information into Encapsulation Layer On Outgoing 1184 E-LSP 1186 This section defines how to encode Diff-Serv information into the 1187 MPLS encapsulation Layer for a given transmitted label entry 1188 corresponding to an outgoing E-LSP. This requires that the `Set of 1189 PHB-->Encaps mappings' is populated as defined in section 3.4. 1191 The LSR first determines the `Set of PHB-->Encaps mappings' of the 1192 Diff-Serv Context associated with the corresponding label in the 1193 NHLFE. 1195 3.5.1 `PHB-->EXP mapping' 1197 If the `Set of PHB-->Encaps mappings' contains a mapping of the form 1198 `PHB-->EXP mapping', then the LSR: 1199 - determines the value to be written in the EXP field of the 1200 corresponding level label entry by looking up the "outgoing PHB" 1201 in this PHB-->EXP mapping table. 1203 Le Faucheur et. al 22 1204 MPLS Support of Diff-Serv February 2001 1206 3.5.2 `PHB-->CLP mapping' 1208 If the `Set of PHB-->Encaps mappings' contains a mapping of the form 1209 `PHB-->CLP mapping', then the LSR: 1210 - determines the value to be written in the CLP field of the ATM 1211 encapsulation header, by looking up the "outgoing PHB" in this 1212 PHB-->CLP mapping table. 1214 3.5.3 `PHB-->DE mapping' 1216 If the `Set of PHB-->Encaps mappings' contains a mapping of the form 1217 `PHB-->DE mapping', then the LSR: 1218 - determines the value to be written in the DE field of the Frame 1219 Relay encapsulation header, by looking up the "outgoing PHB" in 1220 this PHB-->DE mapping table. 1222 3.5.4 `PHB-->802.1 mapping' 1224 If the `Set of PHB-->Encaps mappings' contains a mapping of the form 1225 `PHB-->802.1 mapping', then the LSR: 1226 - determines the value to be written in the User_Priority field of 1227 the Tag Control Information of the 802.1 encapsulation header 1228 [IEEE_802.1], by looking up the "outgoing PHB" in this 1229 PHB-->802.1 mapping table. 1231 3.6 E-LSP Merging 1233 In an MPLS domain, two or more LSPs can be merged into one LSP at 1234 one LSR. E-LSPs are compatible with LSP Merging under the following 1235 condition: 1237 E-LSPs can only be merged into one LSP if they support the 1238 exact same set of BAs. 1240 For E-LSPs using signaled EXP<-->PHB mapping, the above merge 1241 condition MUST be enforced by LSRs through explicit checking at 1242 label setup that the exact same set of PHBs is supported on the 1243 merged LSPs. 1245 For E-LSPs using the preconfigured EXP<-->PHB mapping, since the 1246 PHBs supported over an E-LSP is not signaled at establishment time, 1247 an LSR can not rely on signaling information to enforce the above 1248 merge. However all E-LSPs using the preconfigured EXP<-->PHB mapping 1249 are required to support the same set of Behavior Aggregates within a 1250 given MPLS Diff-Serv domain. Thus, merging of E-LSPs using the 1251 preconfigured EXP<-->PHB mapping is allowed within a given MPLS 1252 Diff-Serv domain. 1254 4. Detailed Operation of L-LSPs 1256 Le Faucheur et. al 23 1257 MPLS Support of Diff-Serv February 2001 1259 4.1 L-LSP Definition 1261 L-LSPs are defined in section 1.3. 1263 4.2 Populating the `Encaps-->PHB mapping' for an incoming L-LSP 1265 This section defines how the `Encaps-->PHB mapping' of the Diff-Serv 1266 Context is populated at label setup for an incoming L-LSP in order 1267 to allow Incoming PHB determination. 1269 4.2.1 `EXP-->PHB mapping' 1271 If the LSR terminates the MPLS Shim Layer over this incoming L-LSP 1272 and the L-LSP ingresses on an interface which is not ATM nor Frame 1273 Relay, then the `Encaps-->PHB mapping' is populated in the following 1274 way: 1275 - it is actually a `EXP-->PHB mapping' 1276 - this mapping is a function of the PSC which is carried on this 1277 LSP, and must use the relevant mapping entries for this PSC from 1278 the Mandatory EXP/PSC-->PHB Mapping defined in Section 4.2.1.1. 1280 For example if the incoming label corresponds to an L-LSP supporting 1281 the AF1 PSC, then the `Encaps-->PHB mapping' will be populated with: 1283 EXP Field PHB 1285 000 ----> AF11 1286 001 ----> AF12 1287 011 ----> AF13 1289 An LSR supporting L-LSPs over PPP interfaces and LAN interfaces is 1290 an example of LSR terminating the Shim layer over ingress interfaces 1291 which are not ATM nor Frame Relay. 1293 If the LSR terminates the MPLS Shim Layer over this incoming L-LSP 1294 and the L-LSP ingresses on an ATM or Frame Relay interface, then the 1295 `Encaps-->PHB mapping' is populated in the following way: 1296 - it should actually be a `EXP-->PHB mapping'. Alternative 1297 optional ways of populating the `Encaps-->PHB mapping' might be 1298 defined in the future (e.g., using a 'CLP/EXP--> PHB mapping' or 1299 a 'DE/EXP-->PHB mapping') but are outside the scope of this 1300 document. 1301 - when the `Encaps-->PHB mapping' is an `EXP-->PHB mapping', this 1302 `EXP-->PHB mapping' mapping is a function of the PSC which is 1303 carried on the L-LSP, and must use the relevant mapping entries 1304 for this PSC from the Mandatory EXP/PSC-->PHB Mapping defined in 1305 Section 4.2.1.1. 1307 An Edge-LSR of an ATM-MPLS domain or of a FR-MPLS domain is an 1308 example of LSR terminating the shim layer over an ingress ATM/FR 1309 interface. 1311 Le Faucheur et. al 24 1312 MPLS Support of Diff-Serv February 2001 1314 4.2.1.1 Mandatory EXP/PSC --> PHB mapping 1316 EXP Field PSC PHB 1318 000 DF ----> DF 1319 000 CSn ----> CSn 1320 000 AFn ----> AFn1 1321 001 AFn ----> AFn2 1322 011 AFn ----> AFn3 1323 000 EF ----> EF 1325 4.2.2 `CLP-->PHB mapping' 1327 If the LSR does not terminate an MPLS Shim Layer over this incoming 1328 label and uses ATM encapsulation (i.e. it is an ATM-LSR), then the 1329 `Encaps-->PHB mapping' for this incoming L-LSP is populated in the 1330 following way: 1331 - it is actually a `CLP-->PHB mapping' 1332 - the mapping is a function of the PSC which is carried on this 1333 LSP, and should use the relevant mapping entries for this PSC 1334 from the Default CLP/PSC-->PHB Mapping defined in Section 1335 4.2.2.1. 1337 For example if the incoming label corresponds to an L-LSP supporting 1338 the AF1 PSC, then the `Encaps-->PHB mapping' should be populated 1339 with: 1341 CLP Field PHB 1343 0 ----> AF11 1344 1 ----> AF12 1346 4.2.2.1 Default CLP/PSC --> PHB Mapping 1348 CLP Bit PSC PHB 1350 0 DF ----> DF 1351 0 CSn ----> CSn 1352 0 AFn ----> AFn1 1353 1 AFn ----> AFn2 1354 0 EF ----> EF 1356 4.2.3 `DE-->PHB mapping' 1358 If the LSR does not terminate an MPLS Shim Layer over this incoming 1359 label and uses Frame Relay encapsulation (i.e. it is a FR-LSR), then 1360 the `Encaps-->PHB mapping' for this incoming L-LSP is populated in 1361 the following way: 1362 - it is actually a `DE-->PHB mapping' 1363 - the mapping is a function of the PSC which is carried on this 1364 LSP, and should use the relevant mapping entries for this PSC 1366 Le Faucheur et. al 25 1367 MPLS Support of Diff-Serv February 2001 1369 from the Default DE/PSC-->PHB Mapping defined in Section 1370 4.2.3.1. 1372 4.2.3.1 Default DE/PSC --> PHB Mapping 1374 DE Bit PSC PHB 1376 0 DF ----> DF 1377 0 CSn ----> CSn 1378 0 AFn ----> AFn1 1379 1 AFn ----> AFn2 1380 0 EF ----> EF 1382 4.3 Incoming PHB Determination On Incoming L-LSP 1384 This section defines how Incoming PHB determination is carried out 1385 when the considered label entry in the received label stack 1386 corresponds to an L-LSP. This requires that the `Encaps-->PHB 1387 mapping' is populated as defined in section 4.2. 1389 When considering a label entry corresponding to an incoming L-LSP 1390 for Incoming PHB Determination, the LSR first determines the 1391 `Encaps-->PHB mapping' associated with -corresponding label. 1393 4.3.1 `EXP-->PHB mapping' 1395 If the `Encaps-->PHB mapping' is of the form `EXP-->PHB mapping', 1396 then the LSR: 1397 - determines the incoming PHB by looking at the EXP field of the 1398 considered label entry and by using the EXP-->PHB mapping. 1400 4.3.2 `CLP-->PHB mapping' 1402 If the `Encaps-->PHB mapping' is of the form `CLP-->PHB mapping', 1403 then the LSR: 1404 - determines the incoming PHB by looking at the CLP field of the 1405 ATM Layer encapsulation and by using the CLP-->PHB mapping. 1407 4.3.3 `DE-->PHB mapping' 1409 If the `Encaps-->PHB mapping' is of the form `DE-->PHB mapping', 1410 then the LSR: 1411 - determines the incoming PHB by looking at the DE field of the 1412 Frame Relay encapsulation and by using the DE-->PHB mapping. 1414 4.4 Populating the `Set of PHB-->Encaps mappings' for an outgoing L-LSP 1416 This section defines how the `Set of PHB-->Encaps mappings' of the 1417 Diff-Serv Context is populated at label setup for an outgoing L-LSP 1418 in order to allow Encoding of Diff-Serv Information. 1420 4.4.1 `PHB-->EXP mapping' 1422 Le Faucheur et. al 26 1423 MPLS Support of Diff-Serv February 2001 1425 If the LSR uses an MPLS Shim Layer over this outgoing L-LSP, then 1426 one `PHB-->EXP mapping' is added to the `Set of 1427 PHB-->Encaps mappings' for this outgoing 1428 L-LSP. This `PHB-->EXP mapping' is populated in the following way: 1429 - it is a function of the PSC supported on this LSP, and must use 1430 the mapping entries relevant for this PSC from the Mandatory 1431 PHB-->EXP Mapping defined in section 4.4.1.1. 1433 For example if the outgoing label corresponds to an L-LSP supporting 1434 the AF1 PSC, then the following `PHB-->EXP mapping' is added into 1435 the `Set of PHB-->Encaps mappings': 1437 PHB EXP Field 1439 AF11 ----> 000 1440 AF12 ----> 001 1441 AF13 ----> 011 1443 4.4.1.1 Mandatory PHB-->EXP Mapping 1445 PHB EXP Field 1447 DF ----> 000 1448 CSn ----> 000 1449 AFn1 ----> 000 1450 AFn2 ----> 001 1451 AFn3 ----> 011 1452 EF ----> 000 1454 4.4.2 `PHB-->CLP mapping' 1456 If the L-LSP is egressing on an ATM interface (i.e. it is an ATM-LSR 1457 or it is a frame-based LSR sending packets on an LC-ATM interface or 1458 on an ATM interface which is not label switching controlled), then 1459 one `PHB-->CLP mapping' is added to the `Set of PHB-->Encaps 1460 mappings' for this outgoing L-LSP. 1462 If the L-LSP is egressing over an ATM interface which is not label- 1463 controlled, the `PHB-->CLP mapping' is populated as per section 1464 3.4.2. 1466 If the L-LSP is egressing over an LC-ATM interface, the `PHB-->CLP 1467 mapping' is populated in the following way: 1468 - it is a function of the PSC supported on this LSP, and should 1469 use the relevant mapping entries for this PSC from the Default 1470 PHB-->CLP Mapping defined in section 3.4.2.1. 1472 Notice that if the LSR is a frame-based LSR supporting an L-LSP 1473 egressing over an ATM interface, then the `Set of PHB-->Encaps 1474 mappings' contains both a `PHB-->EXP mapping' and a `PHB-->CLP 1476 Le Faucheur et. al 27 1477 MPLS Support of Diff-Serv February 2001 1479 mapping'. If the LSR is an ATM-LSR supporting an L-LSP, then the 1480 `Set of PHB-->Encaps mappings' only contains a `PHB-->CLP mapping'. 1482 4.4.3 `PHB-->DE mapping' 1484 If the L-LSP is egressing over a Frame Relay interface (i.e. it is 1485 an LSR sending packets on an LC-FR interface or on a Frame Relay 1486 interface which is not label switching controlled), one `PHB-->DE 1487 mapping' is added to the `Set of PHB-->Encaps mappings' for this 1488 outgoing L-LSP. 1490 If the L-LSP is egressing over a FR interface which is not label 1491 switching controlled, the `PHB-->DE mapping' is populated as per 1492 section 3.4.3. 1494 If the L-LSP is egressing over an LC-FR interface, the `PHB-->DE 1495 mapping' is populated in the following way: 1496 - it is a function of the PSC supported on this LSP, and should 1497 use the relevant mapping entries for this PSC from the Default 1498 PHB-->DE Mapping defined in section 3.4.3.1. 1500 Notice that if the LSR is an Edge-LSR supporting an L-LSP egressing 1501 over a LC-FR interface, then the `Set of PHB-->Encaps mappings' 1502 contains both a `PHB-->EXP mapping' and a `PHB-->DE mapping'. If the 1503 LSR is a FR-LSR supporting an L-LSP, then the `Set of PHB-->Encaps 1504 mappings' only contains a `PHB-->DE mapping'. 1506 4.4.4 `PHB-->802.1 mapping' 1508 If the LSP is egressing over a LAN interface on which multiple 802.1 1509 Traffic Classes are supported as defined in [IEEE_802.1], then one 1510 `PHB-->802.1 mapping' is added as per section 3.4.4. 1512 4.5 Encoding Diff-Serv Information into Encapsulation Layer on Outgoing 1513 L-LSP 1515 This section defines how to encode Diff-Serv information into the 1516 MPLS encapsulation Layer for a transmitted label entry corresponding 1517 to an outgoing L-LSP. This requires that the `Set of PHB-->Encaps 1518 mappings' is populated as defined in section 4.4. 1520 The LSR first determines the `Set of PHB-->Encaps mappings' of the 1521 Diff-Serv Context associated with the corresponding label in the 1522 NHLFE and then performs corresponding encoding as specified in 1523 sections 3.5.1, 3.5.2, 3.5.3 and 3.5.4. 1525 4.6 L-LSP Merging 1527 In an MPLS domain, two or more LSPs can be merged into one LSP at 1528 one LSR. L-LSPs are compatible with LSP Merging under the following 1529 condition: 1531 Le Faucheur et. al 28 1532 MPLS Support of Diff-Serv February 2001 1534 L-LSPs can only be merged into one L-LSP if they support the 1535 same PSC. 1537 The above merge condition MUST be enforced by LSRs through explicit 1538 checking at label setup that the same PSC is supported on the merged 1539 LSPs. 1541 Note that when L-LSPs merge, the bandwidth that is available for the 1542 PSC downstream of the merge point must be sufficient to carry the 1543 sum of the merged traffic. This is particularly important in the 1544 case of EF traffic. This can be ensured in multiple ways (for 1545 instance via provisioning, or via bandwidth signaling and explicit 1546 admission control). 1548 5. RSVP Extension for Diff-Serv Support 1550 The MPLS architecture does not assume a single label distribution 1551 protocol. [RSVP_MPLS_TE] defines the extension to RSVP for 1552 establishing label switched paths (LSPs) in MPLS networks. This 1553 section specifies the extensions to RSVP, beyond those defined in 1554 [RSVP_MPLS_TE], to establish label switched path (LSPs) supporting 1555 Differentiated Services in MPLS networks. 1557 5.1 Diff-Serv related RSVP Messages Format 1559 One new RSVP Object is defined in this document: the DIFFSERV 1560 Object. Detailed description of this Object is provided below. This 1561 new Object is applicable to Path messages. This specification only 1562 defines the use of the DIFFSERV Object in Path messages used to 1563 establish LSP Tunnels in accordance with [RSVP_MPLS_TE] and thus 1564 containing a Session Object with a C-Type equal to LSP_TUNNEL_IPv4 1565 and containing a LABEL_REQUEST object. 1567 Restrictions defined in [RSVP_MPLS_TE] for support of establishment 1568 of LSP Tunnels via RSVP are also applicable to the establishment of 1569 LSP Tunnels supporting Diff-Serv: for instance, only unicast LSPs 1570 are supported and Multicast LSPs are for further study. 1572 This new DIFFSERV object is optional with respect to RSVP so that 1573 general RSVP implementations not concerned with MPLS LSP set up do 1574 not have to support this object. 1576 The DIFFSERV Object is optional for support of LSP Tunnels as 1577 defined in [RSVP_MPLS_TE]. A Diff-Serv capable LSR supporting E-LSPs 1578 using the preconfigured EXP<-->PHB mapping in compliance with this 1579 specification MAY support the DIFFSERV Object. A Diff-Serv capable 1580 LSR supporting E-LSPs using a signaled EXP<-->PHB mapping in 1581 compliance with this specification MUST support the DIFFSERV Object. 1582 A Diff-Serv capable LSR supporting L-LSPs in compliance with this 1583 specification MUST support the DIFFSERV Object. 1585 Le Faucheur et. al 29 1586 MPLS Support of Diff-Serv February 2001 1588 5.1.1 Path Message Format 1590 The format of the Path message is as follows: 1592 ::= [ ] 1593 1594 1595 [ ] 1596 1597 [ ] 1598 [ ] 1599 [ ... ] 1600 [ ] 1602 ::= [ ] 1603 [ ] 1604 [ ] 1606 5.2 DIFFSERV Object 1608 The DIFFSERV object formats are shown below. Currently there are two 1609 possible C_Types. Type 1 is a DIFFSERV object for an E-LSP. Type 2 1610 is a DIFFSERV object for an L-LSP. 1612 5.2.1. DIFFSERV object for an E-LSP: 1614 class = TBD, C_Type = 1 (need to get an official class num from the 1615 IANA with the form 0bbbbbbb) 1617 0 1 2 3 1618 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 1619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1620 | Reserved | MAPnb | 1621 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1622 | MAP (1) | 1623 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1624 | | 1625 // ... // 1626 | | 1627 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1628 | MAP (MAPnb) | 1629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1631 Reserved : 28 bits 1632 This field is reserved. It must be set to zero on transmission 1633 and must be ignored on receipt. 1635 MAPnb : 4 bits 1636 Indicates the number of MAP entries included in the DIFFSERV 1637 Object. This can be set to any value from 0 to 8. 1639 MAP : 32 bits 1641 Le Faucheur et. al 30 1642 MPLS Support of Diff-Serv February 2001 1644 Each MAP entry defines the mapping between one EXP field value 1645 and one PHB. The MAP entry has the following format: 1647 0 1 2 3 1648 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 1649 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1650 | Reserved | EXP | PHBID | 1651 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1653 Reserved : 13 bits 1654 This field is reserved. It must be set to zero on 1655 transmission and must be ignored on receipt. 1657 EXP : 3 bits 1658 This field contains the value of the EXP field for the 1659 EXP<-->PHB mapping defined in this MAP entry. 1661 PHBID : 16 bits 1662 This field contains the PHBID of the PHB for the 1663 EXP<-->PHB mapping defined in this MAP entry. The PHBID 1664 is encoded as specified in section 2 of [PHBID]. 1666 5.2.2 DIFFSERV object for an L-LSP: 1668 class = TBD, C_Type = 2 (class num is the same as DIFFSERV object 1669 for E-LSP)) 1671 0 1 2 3 1672 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 1673 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1674 | Reserved | PSC | 1675 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1677 Reserved : 16 bits 1678 This field is reserved. It must be set to zero on transmission 1679 and must be ignored on receipt. 1681 PSC : 16 bits 1682 The PSC indicates a PHB Scheduling Class to be supported by the 1683 LSP. The PSC is encoded as specified in section 2 of [PHBID]: 1684 - Where the PSC comprises a single PHB defined by standards 1685 action, the encoding for the PSC is the encoding for this 1686 single PHB. It is the recommended DSCP value for that PHB, 1687 left-justified in the 16-bit field, with bits 6 through 15 set 1688 to zero. 1689 - Where the PSC comprises multiple PHBs defined by standards 1690 action, the PSC encoding is the encoding for this set of PHB. 1691 It is the smallest numerical value of the recommended DSCP for 1692 the various PHBs in the PSC, left-justified in the 16 bit 1693 field, with bits 6 through 13 and bit 15 set to zero and with 1694 bit 14 set to one. 1696 Le Faucheur et. al 31 1697 MPLS Support of Diff-Serv February 2001 1699 For instance, the encoding of the EF PSC is : 1700 0 1 1701 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1702 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1703 |1 0 1 1 1 0|0 0 0 0 0 0 0 0 0 0| 1704 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1706 For instance, the encoding of the AF1 PSC is : 1707 0 1 1708 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 1709 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1710 |0 0 1 0 1 0|0 0 0 0 0 0 0 0 1 0| 1711 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1713 5.3 Handling DIFFSERV Object 1715 To establish an LSP tunnel with RSVP, the sender creates a Path 1716 message with a session type of LSP_Tunnel_IPv4 and with a 1717 LABEL_REQUEST object as per [RSVP_MPLS_TE]. 1719 To establish with RSVP an E-LSP tunnel which uses the Preconfigured 1720 EXP<-->PHB mapping, the sender creates a Path message: 1721 - with a session type of LSP_Tunnel_IPv4, 1722 - with the LABEL_REQUEST object, and 1723 - without the DIFFSERV object. 1725 To establish with RSVP an E-LSP tunnel which uses the Preconfigured 1726 EXP<-->PHB mapping, the sender MAY alternatively create a Path 1727 message: 1728 - with a session type of LSP_Tunnel_IPv4, 1729 - with the LABEL_REQUEST object, and 1730 - with the DIFFSERV object for an E-LSP containing no MAP entries. 1732 To establish with RSVP an E-LSP tunnel which uses a signaled EXP<-- 1733 >PHB mapping, the sender creates a Path message : 1734 - with a session type of LSP_Tunnel_IPv4, 1735 - with the LABEL_REQUEST object, 1736 - with the DIFFSERV object for an E-LSP containing one MAP entry 1737 for each EXP value to be supported on this E-LSP. 1739 To establish with RSVP an L-LSP tunnel, the sender creates a Path 1740 message: 1741 - with a session type of LSP_Tunnel_IPv4, 1742 - with the LABEL_REQUEST object, 1743 - with the DIFFSERV object for an L-LSP containing the PHB 1744 Scheduling Class (PSC) supported on this L-LSP. 1746 If a path message contains multiple DIFFSERV objects, only the first 1747 one is meaningful; subsequent DIFFSERV object(s) must be ignored and 1748 not forwarded. 1750 Le Faucheur et. al 32 1751 MPLS Support of Diff-Serv February 2001 1753 Each LSR along the path records the DIFFSERV object, when present, 1754 in its path state block. 1756 If a DIFFSERV object is not present in the Path message, the LSR 1757 SHOULD interpret this as a request for an E-LSP using the 1758 Preconfigured EXP<-->PHB Mapping. However, for backward 1759 compatibility purposes with other non-Diff-Serv Quality of Service 1760 options allowed by [RSVP_MPLS_TE] such as Integrated Services 1761 Controlled Load or Guaranteed Services, the LSR MAY support a 1762 configurable "override option". When this "override option" is 1763 configured, the LSR interprets a path message without a Diff-Serv 1764 object as a request for an LSP with such non-Diff-Serv Quality of 1765 Service. 1767 If a DIFFSERV object for an E-LSP containing no MAP entry is present 1768 in the Path message, the LSR MUST interpret this as a request for an 1769 E-LSP using the Preconfigured EXP<-->PHB Mapping. In particular, 1770 this allows an LSR with the "override option" configured to support 1771 E-LSPs with Preconfigured EXP<-->PHB Mapping simultaneously with 1772 LSPs with non-Diff-Serv Quality of Service. 1774 If a DIFFSERV object for an E-LSP containing at least one MAP entry 1775 is present in the Path message, the LSR MUST interpret this as a 1776 request for an E-LSP with signaled EXP<-->PHB Mapping. 1778 If a DIFFSERV object for an L-LSP is present in the Path message, 1779 the LSR MUST interpret this as a request for an L-LSP. 1781 The destination LSR of an E-LSP or L-LSP responds to the Path 1782 message containing the LABEL_REQUEST object by sending a Resv 1783 message: 1784 - with the LABEL object 1785 - without a DIFFSERV object. 1787 Assuming the label request is accepted and a label is allocated, the 1788 Diff-Serv LSRs (sender, destination, intermediate nodes) must: 1789 - update the Diff-Serv Context associated with the established 1790 LSPs in their ILM/FTN as specified in previous sections 1791 (incoming and outgoing label), 1792 - install the required Diff-Serv forwarding treatment (scheduling 1793 and dropping behavior) for this NHLFE (outgoing label). 1795 An LSR that recognizes the DIFFSERV object and that receives a path 1796 message which contains the DIFFSERV object but which does not 1797 contain a LABEL_REQUEST object or which does not have a session type 1798 of LSP_Tunnel_IPv4, sends a PathErr towards the sender with the 1799 error code `Diff-Serv Error' and an error value of `Unexpected 1800 DIFFSERV object'. Those are defined below in section 5.5. 1802 An LSR receiving a Path message with the DIFFSERV object for E-LSP, 1803 which recognizes the DIFFSERV object but does not support the 1804 particular PHB encoded in one, or more, of the MAP entries, sends a 1806 Le Faucheur et. al 33 1807 MPLS Support of Diff-Serv February 2001 1809 PathErr towards the sender with the error code `Diff-Serv Error' and 1810 an error value of `Unsupported PHB'. Those are defined below in 1811 section 5.5. 1813 An LSR receiving a Path message with the DIFFSERV object for E-LSP, 1814 which recognizes the DIFFSERV object but determines that the 1815 signaled EXP<-->PHB mapping is invalid, sends a PathErr towards the 1816 sender with the error code `Diff-Serv Error' and an error value of 1817 `Invalid EXP<-->PHB mapping'. Those are defined below in section 1818 5.5. The EXP<-->PHB mapping signaled in the DIFFSERV Object for an 1819 E-LSP is invalid when: 1820 - the MAPnb field is not within the range 0 to 8 or 1821 - a given EXP value appears in more than one MAP entry, or 1822 - the PHBID encoding is invalid. 1824 An LSR receiving a Path message with the DIFFSERV object for L-LSP, 1825 which recognizes the DIFFSERV object but does not support the 1826 particular PSC encoded in the PSC field, sends a PathErr towards the 1827 sender with the error code `Diff-Serv Error' and an error value of 1828 `Unsupported PSC'. Those are defined below in section 5.5. 1830 An LSR receiving a Path message with the DIFFSERV object, which 1831 recognizes the DIFFSERV object but that is unable to allocate the 1832 required per-LSP Diff-Serv context sends a PathErr with the error 1833 code "Diff-Serv Error" and the error value "Per-LSP context 1834 allocation failure". Those are defined below in section 5.5. 1836 A Diff-Serv LSR MUST handle the situations where the label request 1837 can not be accepted for other reasons than those already discussed 1838 in this section, in accordance with [RSVP_MPLS_TE] (e.g. reservation 1839 rejected by admission control, a label can not be associated). 1841 5.4 Non-support of the DIFFSERV Object 1843 An LSR that does not recognize the DIFFSERV object Class-Num must 1844 behave in accordance with the procedures specified in [RSVP] for an 1845 unknown Class-Num whose format is 0bbbbbbb i.e. it must send a 1846 PathErr with the error code `Unknown object class' toward the 1847 sender. 1849 An LSR that recognize the DIFFSERV object Class-Num but does not 1850 recognize the DIFFSERV object C-Type, must behave in accordance with 1851 the procedures specified in [RSVP] for an unknown C-type i.e. It 1852 must send a PathErr with the error code `Unknown object C-Type' 1853 toward the sender. 1855 In both situations, this causes the path set-up to fail. The sender 1856 should notify management that a L-LSP cannot be established and 1857 possibly take action to retry LSP establishment without the DIFFSERV 1858 object (e.g. attempt to use E-LSPs with Preconfigured EXP<-->PHB 1859 mapping as a fall-back strategy). 1861 Le Faucheur et. al 34 1862 MPLS Support of Diff-Serv February 2001 1864 5.5 Error Codes For Diff-Serv 1866 In the procedures described above, certain errors must be reported 1867 as a `Diff-Serv Error'. The value of the `Diff-Serv Error' error 1868 code is TBD (number to be allocated by IANA)). 1870 The following defines error values for the Diff-Serv Error: 1872 Value Error 1874 1 Unexpected DIFFSERV object 1875 2 Unsupported PHB 1876 3 Invalid EXP<-->PHB mapping 1877 4 Unsupported PSC 1878 5 Per-LSP context allocation failure 1880 5.6 Use of COS Service with E-LSPs and L-LSPs 1882 Both E-LSPs and L-LSPs can be established with bandwidth reservation 1883 or without bandwidth reservation. 1885 To establish an E-LSP or an L-LSP with bandwidth reservation, Int- 1886 Serv's Controlled Load service (or possibly Guaranteed Service) is 1887 used and the bandwidth is signaled in the SENDER_TSPEC (respectively 1888 FLOWSPEC) of the path (respectively Resv) message. 1890 To establish an E-LSP or an L-LSP without bandwidth reservation, the 1891 Class of Service service defined in [RSVP_MPLS_TE] is used. 1893 Note that this specification defines usage of E-LSPs and L-LSPs 1894 for support of the Diff-Serv service only. Regardless of whether the 1895 signaling messages actually indicate an Int-Serv service of COS, GS 1896 or CL and regardless of whether the signaling messages contain a 1897 signaled bandwidth reservation or not, E-LSPs and L-LSPs are defined 1898 here for support of Diff-Serv services. Support of Int-Serv services 1899 over an MPLS Diff-Serv backbone is outside the scope of this 1900 specification. 1902 A Path message containing a COS SENDER_TSPEC and not containing a 1903 DIFFSERV object indicates to a Diff-Serv capable LSR that the LSP to 1904 be established is an E-LSP using the Preconfigured mapping and 1905 without any bandwidth reservation. 1907 A Path message containing a COS SENDER_TSPEC and containing a 1908 DIFFSERV object for E-LSP indicates to a Diff-Serv capable LSR that 1909 the LSP to be established is an E-LSP using a signaled mapping and 1910 without any bandwidth reservation. 1912 A Path message containing a COS SENDER_TSPEC and containing a 1913 DIFFSERV object for L-LSP indicates to a Diff-Serv capable LSR that 1914 the LSP to be established is an L-LSP without any bandwidth 1915 reservation. 1917 Le Faucheur et. al 35 1918 MPLS Support of Diff-Serv February 2001 1920 The above is summarized in the following table: 1922 Path Message LSP type 1923 Service DIFFSERV 1924 Object 1926 GS/CL No E-LSP + preconf mapping + bandw reservation 1927 GS/CL Yes/E-LSP E-LSP + signaled mapping + bandw reservation 1928 GS/CL Yes/L-LSP L-LSP + bandw reservation 1929 COS No E-LSP + preconf mapping + no bandw reservation 1930 COS Yes/E-LSP E-LSP + signaled mapping + no band reservation 1931 COS Yes/L-LSP L-LSP + no bandw reservation 1933 Where: 1934 - GS stands for Guaranteed Service 1935 - CL stands for Controlled Load 1936 - COS stands for COS service 1938 When processing a path (respectively Resv) message for an E-LSP or 1939 an L-LSP using the COS service, a Diff-Serv capable LSR must ignore 1940 the value of the COS field within a COS SENDER_TSPEC (respectively a 1941 COS FLOWSPEC). 1943 6. LDP Extensions for Diff-Serv Support 1945 The MPLS architecture does not assume a single label distribution 1946 protocol. [LDP] defines the Label Distribution Protocol and its 1947 usage for establishment of label switched paths (LSPs) in MPLS 1948 networks. This section specifies the extensions to LDP to establish 1949 label switched path (LSPs) supporting Differentiated Services in 1950 MPLS networks. 1952 One new LDP TLV is defined in this document: 1953 - the Diff-Serv TLV 1954 Detailed description of this TLV is provided below. 1956 The new Diff-Serv TLV is optional with respect to LDP. A Diff-Serv 1957 capable LSR supporting E-LSPs which uses the Preconfigured 1958 EXP<-->PHB mapping in compliance with this specification MAY support 1959 the Diff-Serv TLV. A Diff-Serv capable LSR supporting E-LSPs which 1960 uses the signaled EXP<-->PHB mapping in compliance with this 1961 specification MUST support the Diff-Serv TLV. A Diff-Serv capable 1962 LSR supporting L-LSPs in compliance with this specification MUST 1963 support the Diff-Serv TLV. 1965 6.1 Diff-Serv TLV 1967 The Diff-Serv TLV has the following formats: 1968 Diff-Serv TLV for an E-LSP: 1970 Le Faucheur et. al 36 1971 MPLS Support of Diff-Serv February 2001 1973 0 1 2 3 1974 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 1975 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1976 |U|F| Diff-Serv (0x901) | Length | 1977 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1978 |T| Reserved | MAPnb | 1979 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1980 | MAP (1) | 1981 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1982 ... 1984 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1985 | MAP (MAPnb) | 1986 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1988 T:1 bit 1989 LSP Type. This is set to 0 for an E-LSP 1991 Reserved : 27 bits 1992 This field is reserved. It must be set to zero on transmission 1993 and must be ignored on receipt. 1995 MAPnb : 4 bits 1996 Indicates the number of MAP entries included in the DIFFSERV 1997 Object. This can be set to any value from 1 to 8. 1999 MAP : 32 bits 2000 Each MAP entry defines the mapping between one EXP field value 2001 and one PHB. The MAP entry has the following format: 2003 0 1 2 3 2004 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 2005 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2006 | Reserved | EXP | PHBID | 2007 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2009 Reserved : 13 bits 2010 This field is reserved. It must be set to zero on 2011 transmission and must be ignored on receipt. 2013 EXP : 3 bits 2014 This field contains the value of the EXP field for the 2015 EXP<-->PHB mapping defined in this MAP entry. 2017 PHBID : 16 bits 2018 This field contains the PHBID of the PHB for the 2019 EXP<-->PHB mapping defined in this MAP entry. The PHBID 2020 is encoded as specified in section 2 of [PHBID]. 2022 Diff-Serv TLV for an L-LSP: 2024 Le Faucheur et. al 37 2025 MPLS Support of Diff-Serv February 2001 2027 0 1 2 3 2028 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 2029 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2030 |U|F| Type = PSC (0x901) | Length | 2031 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2032 |T| Reserved | PSC | 2033 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2035 T:1 bit 2036 LSP Type. This is set to 1 for an L-LSP 2038 Reserved : 15 bits 2039 This field is reserved. It must be set to zero on transmission 2040 and must be ignored on receipt. 2042 PSC : 16 bits 2043 The PSC indicates a PHB Scheduling Class to be supported by the 2044 LSP. The PSC is encoded as specified in section 2 of [PHBID]: 2045 - Where the PSC comprises a single PHB defined by standards 2046 action, the encoding for the PSC is the encoding for this 2047 single PHB. It is the recommended DSCP value for that PHB, 2048 left-justified in the 16-bit field, with bits 6 through 15 set 2049 to zero. 2050 - Where the PSC comprises multiple PHBs defined by standards 2051 action, the PSC encoding is the encoding for this set of PHB. 2052 It is the smallest numerical value of the recommended DSCP for 2053 the various PHBs in the PSC, left-justified in the 16 bit 2054 field, with bits 6 through 13 and bit 15 set to zero and with 2055 bit 14 set to one. 2057 For instance, the encoding of the EF PSC is : 2058 0 1 2059 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2060 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2061 |1 0 1 1 1 0|0 0 0 0 0 0 0 0 0 0| 2062 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2064 For instance, the encoding of the AF1 PSC is : 2065 0 1 2066 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2067 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2068 |0 0 1 0 1 0|0 0 0 0 0 0 0 0 1 0| 2069 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2071 6.2 Diff-Serv Status Code Values 2073 The following values are defined for the Status Code field of the 2074 Status TLV: 2076 Status Code E Status Data 2078 Unexpected Diff-Serv TLV 0 0x01000001 2080 Le Faucheur et. al 38 2081 MPLS Support of Diff-Serv February 2001 2083 Unsupported PHB 0 0x01000002 2084 Invalid EXP<-->PHB mapping 0 0x01000003 2085 Unsupported PSC 0 0x01000004 2086 Per-LSP context allocation failure 0 0x01000005 2088 6.3 Diff-Serv Related LDP Messages 2090 6.3.1 Label Request Message 2092 The format of the Label Request message is extended as follows, to 2093 optionally include the Diff-Serv TLV: 2095 0 1 2 3 2096 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 2097 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2098 |0| Label Request (0x0401) | Message Length | 2099 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2100 | Message ID | 2101 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2102 | FEC TLV | 2103 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2104 | Diff-Serv TLV (optional) | 2105 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2107 6.3.2 Label Mapping Message 2109 The format of the Label Mapping message is extended as follows, to 2110 optionally include the Diff-Serv TLV: 2112 0 1 2 3 2113 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 2114 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2115 |0| Label Mapping (0x0400) | Message Length | 2116 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2117 | Message ID | 2118 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2119 | FEC TLV | 2120 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2121 | Label TLV | 2122 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2123 | Diff-Serv TLV (optional) | 2124 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2126 6.3.3 Label Release Message 2128 The format of the Label Release message is extended as follows, to 2129 optionally include the Status TLV: 2131 0 1 2 3 2132 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 2133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2134 |0| Label Release (0x0403) | Message Length | 2136 Le Faucheur et. al 39 2137 MPLS Support of Diff-Serv February 2001 2139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2140 | Message ID | 2141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2142 | FEC TLV | 2143 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2144 | Label TLV (optional) | 2145 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2146 | Status TLV (optional) | 2147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2149 6.3.4 Notification Message 2151 The format of the Notification message is extended as follows, to 2152 optionally include the Diff-Serv TLV: 2154 0 1 2 3 2155 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 2156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2157 |0| Notification (0x0001) | Message Length | 2158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2159 | Message ID | 2160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2161 | Status TLV | 2162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2163 | Optional Parameters | 2164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2165 | Diff-Serv TLV (optional) | 2166 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2168 6.4 Handling of the Diff-Serv TLV 2170 6.4.1 Handling of the Diff-Serv TLV in Downstream Unsolicited Mode 2172 This section describes operations when the Downstream Unsolicited 2173 Mode is used. 2175 When allocating a label for an E-LSP which is to use the 2176 preconfigured EXP<-->PHB mapping, a downstream Diff-Serv LSR issues 2177 a Label Mapping message without the Diff-Serv TLV. 2179 When allocating a label for an E-LSP which is to use a signaled 2180 EXP<-->PHB mapping, a downstream Diff-Serv LSR issues a Label 2181 Mapping message with the Diff-Serv TLV for an E-LSP which contains 2182 one MAP entry for each EXP value to be supported on this E-LSP. 2184 When allocating a label for an L-LSP, a downstream Diff-Serv LSR 2185 issues a Label Mapping message with the Diff-Serv TLV for an L-LSP 2186 which contains the PHB Scheduling Class (PSC) to be supported on 2187 this L-LSP. 2189 Assuming the label set-up is successful, the downstream and upstream 2190 LSRs must: 2192 Le Faucheur et. al 40 2193 MPLS Support of Diff-Serv February 2001 2195 - update the Diff-Serv Context associated with the established 2196 LSPs in their ILM/FTN as specified in previous sections 2197 (incoming and outgoing label), 2198 - install the required Diff-Serv forwarding treatment (scheduling 2199 and dropping behavior) for this NHLFE (outgoing label). 2201 An upstream Diff-Serv LSR receiving a Label Mapping message with 2202 multiple Diff-Serv TLVs only considers the first one as meaningful. 2203 The LSR must ignore and not forward the subsequent Diff-Serv TLV(s). 2205 An upstream Diff-Serv LSR which receives a Label Mapping message 2206 with the Diff-Serv TLV for an E-LSP and does not support the 2207 particular PHB encoded in one, or more, of the MAP entries, must 2208 reject the mapping by sending a Label Release message which includes 2209 the Label TLV and the Status TLV with a Status Code of `Unsupported 2210 PHB'. 2212 An upstream Diff-Serv LSR receiving a Label Mapping message with the 2213 Diff-Serv TLV for an E-LSP and determining that the signaled 2214 EXP<-->PHB mapping is invalid, must reject the mapping by sending a 2215 Label Release message which includes the Label TLV and the Status 2216 TLV with a Status Code of `Invalid EXP<-->PHB Mapping'. The 2217 EXP<-->PHB mapping signaled in the DIFFSERV Object for an E-LSP is 2218 invalid when: 2219 - the MAPnb field is not within the range 1 to 8, or 2220 - a given EXP value appears in more than one MAP entry, or 2221 - the PHBID encoding is invalid 2223 An upstream Diff-Serv LSR receiving a Label Mapping message with the 2224 Diff-Serv TLV for an L-LSP containing a PSC value which is not 2225 supported, must reject the mapping by sending a Label Release 2226 message which includes the Label TLV and the Status TLV with a 2227 Status Code of `Unsupported PSC'. 2229 6.4.2 Handling of the Diff-Serv TLV in Downstream on Demand Mode 2231 This section describes operations when the Downstream on Demand Mode 2232 is used. 2234 When requesting a label for an E-LSP which is to use the 2235 preconfigured EXP<-->PHB mapping, an upstream Diff-Serv LSR sends a 2236 Label Request message without the Diff-Serv TLV. 2238 When requesting a label for an E-LSP which is to use a signaled 2239 EXP<-->PHB mapping, an upstream Diff-Serv LSR sends a Label Request 2240 message with the Diff-Serv TLV for an E-LSP which contains one MAP 2241 entry for each EXP value to be supported on this E-LSP. 2243 When requesting a label for an L-LSP, an upstream Diff-Serv LSR 2244 sends a Label Request message with the Diff-Serv TLV for an L-LSP 2245 which contains the PSC to be supported on this L-LSP. 2247 Le Faucheur et. al 41 2248 MPLS Support of Diff-Serv February 2001 2250 A downstream Diff-Serv LSR sending a Label Mapping message in 2251 response to a Label Request message for an E-LSP or an L-LSP must 2252 not include a Diff-Serv TLV in this Label Mapping message. 2253 Assuming the label set-up is successful, the downstream and upstream 2254 LSRs must: 2255 - update the Diff-Serv Context associated with the established 2256 LSPs in their ILM/FTN as specified in previous sections 2257 (incoming and outgoing label), 2258 - install the required Diff-Serv forwarding treatment (scheduling 2259 and dropping behavior) for this NHLFE (outgoing label). 2261 An upstream Diff-Serv LSR receiving a Label Mapping message 2262 containing a Diff-Serv TLV in response to its Label Request message, 2263 must reject the label mapping by sending a Label Release message 2264 which includes the Label TLV and the Status TLV with a Status Code 2265 of `Unexpected Diff-Serv TLV'. 2267 A downstream Diff-Serv LSR receiving a Label Request message with 2268 multiple Diff-Serv TLVs only considers the first one as meaningful. 2269 The LSR must ignore and not forward the subsequent Diff-Serv TLV(s). 2271 A downstream Diff-Serv LSR which receives a Label Request message 2272 with the Diff-Serv TLV for an E-LSP and does not support the 2273 particular PHB encoded in one (or more) of the MAP entries, must 2274 reject the request by sending a Notification message which includes 2275 the Status TLV with a Status Code of `Unsupported PHB'. 2277 A downstream Diff-Serv LSR receiving a Label Request message with 2278 the Diff-Serv TLV for an E-LSP and determining that the signaled 2279 EXP<-->PHB mapping is invalid, must reject the request by sending a 2280 Notification message which includes the Status TLV with a Status 2281 Code of `Invalid EXP<-->PHB Mapping'. The EXP<-->PHB mapping 2282 signaled in the DIFFSERV TLV for an E-LSP is invalid when: 2283 - the MAPnb field is not within the range 1 to 8, or 2284 - a given EXP value appears in more than one MAP entry, or 2285 - the PHBID encoding is invalid 2287 A downstream Diff-Serv LSR receiving a Label Request message with 2288 the Diff-Serv TLV for an L-LSP containing a PSC value which is not 2289 supported, must reject the request by sending a Notification message 2290 which includes the Status TLV with a Status Code of `Unsupported 2291 PSC'. 2293 A downstream Diff-Serv LSR that recognizes the Diff-Serv TLV Type in 2294 a Label Request message but is unable to allocate the required 2295 per-LSP context information, must reject the request sending a 2296 Notification message which includes the Status TLV with a Status 2297 Code of `Per-LSP context allocation failure'. 2299 A downstream Diff-Serv LSR that recognizes the Diff-Serv TLV Type in 2300 a Label Request message and supports the requested PSC but is not 2301 able to satisfy the label request for other reasons (e.g. no label 2303 Le Faucheur et. al 42 2304 MPLS Support of Diff-Serv February 2001 2306 available), must send a Notification message in accordance with 2307 existing LDP procedures [LDP] (e.g. with a `No Label Resource' 2308 Status Code). This Notification message must include the requested 2309 Diff-Serv TLV. 2311 6.5 Non-Handling of the Diff-Serv TLV 2313 An LSR that does not recognize the Diff-Serv TLV Type, on receipt of 2314 a Label Request message or a Label Mapping message containing the 2315 Diff-Serv TLV, must behave in accordance with the procedures 2316 specified in [LDP] for an unknown TLV whose U Bit and F Bit are set 2317 to 0 i.e. it must ignore the message, return a Notification message 2318 with `Unknown TLV' Status. 2320 6.6 Bandwidth Information 2322 Bandwidth information may also be signaled at establishment time of 2323 E-LSP and L-LSP, for instance for the purpose of Traffic 2324 Engineering, using the Traffic Parameters TLV as described in 2325 [MPLS CR LDP]. 2327 7. MPLS Support of Diff-Serv over PPP, LAN, Non-LC-ATM and Non-LC-FR 2328 Interfaces 2330 The general operations for MPLS support of Diff-Serv, including 2331 label forwarding and LSP setup operations are specified in the 2332 previous sections. This section describes the specific operations 2333 required for MPLS support of Diff-Serv over PPP interfaces, LAN 2334 interfaces, ATM Interfaces which are not label controlled and Frame 2335 Relay interfaces which are not label controlled. 2337 On these interfaces, this specification allows any of the following 2338 LSP combinations per FEC: 2340 - Zero or any number of E-LSP, and 2341 - Zero or any number of L-LSPs. 2343 A Diff-Serv capable LSR MUST support E-LSPs which use pre-configured 2344 EXP<-->PHB mapping over these interfaces. 2346 A Diff-Serv capable LSR MAY support E-LSPs which use signaled 2347 EXP<-->PHB mapping and L-LSPs over these interfaces. 2349 8. MPLS Support of Diff-Serv over LC-ATM Interfaces 2351 This section describes the specific operations required for MPLS 2352 support of Diff-Serv over label switching controlled ATM (LC-ATM) 2353 interfaces. 2355 Le Faucheur et. al 43 2356 MPLS Support of Diff-Serv February 2001 2358 This document allows any number of L-LSPs per FEC within an MPLS ATM 2359 Diff-Serv domain. E-LSPs are not supported over LC-ATM interfaces. 2361 8.1 Use of ATM Traffic Classes and Traffic Management mechanisms 2363 The use of the ATM traffic classes as specified by ITU-T and ATM- 2364 Forum or of vendor specific ATM traffic classes is outside of the 2365 scope of this specification. The only requirement for compliant 2366 implementation is that the forwarding behavior experienced by a 2367 Behavior Aggregate forwarded over an L-LSP by the ATM LSR MUST be 2368 compliant with the corresponding Diff-Serv PHB specifications. 2370 Since there is only one bit (CLP) for encoding the PHB drop 2371 precedence value over ATM links, only two different drop precedence 2372 levels are supported in ATM LSRs. Sections 4.2.2 and 4.4.2 define 2373 how the three drop precedence levels of the AFn Ordered Aggregates 2374 are mapped to these two ATM drop precedence levels. This mapping is 2375 in accordance with the requirements specified in [DIFF_AF] for the 2376 case when only two drop precedence levels are supported. 2378 To avoid discarding parts of the packets, frame discard mechanisms, 2379 such as Early Packet Discard (EPD) SHOULD be enabled in the ATM-LSRs 2380 for all PHBs described in this document. 2382 8.2 LSR Implementation With LC-ATM Interfaces 2384 A Diff-Serv capable LSR MUST support L-LSPs over LC-ATM interfaces. 2386 This specification assumes that Edge-LSRs of the ATM-LSR domain use 2387 the "shim header" encapsulation method defined in [MPLS_ATM]. 2388 Operations without the "shim header" encapsulation is outside the 2389 scope of this specification. 2391 9. MPLS Support of Diff-Serv over LC-FR Interfaces 2393 This section describes the specific operations required for MPLS 2394 support of Diff-Serv over label switching controlled Frame Relay 2395 (LC-FR) interfaces. 2397 This document allows any number of L-LSPs per FEC within an MPLS 2398 Frame Relay Diff-Serv domain. E-LSPs are not supported over LC-FR 2399 interfaces. 2401 9.1 Use of Frame Relay Traffic parameters and Traffic Management 2402 mechanisms 2404 The use of the Frame Relay traffic parameters as specified by ITU-T 2405 and Frame Relay-Forum or of vendor specific Frame Relay traffic 2406 management mechanisms is outside of the scope of this specification. 2407 The only requirement for compliant implementation is that the 2408 forwarding behavior experienced by a Behavior Aggregate forwarded 2410 Le Faucheur et. al 44 2411 MPLS Support of Diff-Serv February 2001 2413 over an L-LSP by the Frame Relay LSR MUST be compliant with the 2414 corresponding Diff-Serv PHB specifications. 2416 Since there is only one bit (DE) for encoding the PHB drop 2417 precedence value over Frame Relay links, only two different drop 2418 precedence levels are supported in Frame Relay LSRs. Sections 4.2.3 2419 and 4.4.3 define how the three drop precedence levels of the AFn 2420 Ordered Aggregates are mapped to these two Frame Relay drop 2421 precedence levels. This mapping is in accordance with the 2422 requirements specified in [DIFF_AF] for the case when only two drop 2423 precedence levels are supported. 2425 9.2 LSR Implementation With LC-FR Interfaces 2427 A Diff-Serv capable LSR MUST support L-LSPs over LC-Frame Relay 2428 interfaces. 2430 This specification assumes that Edge-LSRs of the FR-LSR domain use 2431 the "generic encapsulation" method as recommended in [MPLS_FR]. 2432 Operations without the "generic encapsulation" is outside the scope 2433 of this specification. 2435 10. IANA Considerations. 2437 This document defines a number of objects with implications for 2438 IANA. 2440 This document defines in section 5.2 a new RSVP object, the Diffserv 2441 object. This object requires a number to be assigned from the space 2442 defined in [RSVP] for those objects which, if not understood, cause 2443 the entire RSVP message to be rejected with an error code of 2444 "Unknown Object Class". Such objects are identified by a zero in the 2445 most significant bit of the class number. Within that space, this 2446 object should be assigned a number from the "IETF Consensus" space. 2448 This document defines in section 5.5 a new RSVP error code, 2449 "Diffserv Error". This error code should be assigned by IANA. This 2450 document defines values 1 through 5 of the value field to be used 2451 within the ERROR_SPEC object for this error code. Future allocations 2452 of values in this space should be handled by IANA using the First 2453 Come First Served policy defined in [IANA]. 2455 This document defines in section 6.1 a new LDP TLV, the Diffserv 2456 TLV. The number for this TLV has been assigned by working group 2457 consensus according to the policies defined in [LDP]. 2459 This document defines in section 6.2 five new LDP Status Code values 2460 for Diffserv-related error conditions. The values for the Status 2461 Code have been assigned by working group consensus according to the 2462 policies defined in [LDP]. 2464 Le Faucheur et. al 45 2465 MPLS Support of Diff-Serv February 2001 2467 11. Security Considerations 2469 This document does not introduce any new security issues beyond 2470 those inherent in Diff-Serv, MPLS and RSVP, and may use the same 2471 mechanisms proposed for those technologies. 2473 12. Acknowledgments 2475 This document has benefited from discussions with Eric Rosen, Angela 2476 Chiu and Carol Iturralde. It has also borrowed from the work done by 2477 D. Black regarding Diff-Serv and IP Tunnels interaction. 2479 APPENDIX A. Example Deployment Scenarios 2481 This section does not provide additional specification and is only 2482 here to provide examples of how this flexible approach for Diff-Serv 2483 support over MPLS may be deployed. Pros and cons of various 2484 deployment options for particular environments are beyond the scope 2485 of this document. 2487 A.1 Scenario 1: 8 (or fewer) BAs, no Traffic Engineering, no MPLS 2488 Protection 2490 A Service Provider running 8 (or fewer) BAs over MPLS, not 2491 performing Traffic engineering, not using MPLS protection and using 2492 MPLS Shim Header encapsulation in his/her network, may elect to run 2493 Diff-Serv over MPLS using a single E-LSP per FEC established via 2494 LDP. Furthermore the Service Provider may elect to use the 2495 preconfigured EXP<-->PHB mapping. 2497 Operations can be summarized as follows: 2498 - the Service Provider configures at every LSR the bi-directional 2499 mapping between each PHB and a value of the EXP field 2500 (e.g. 000<-->AF11, 001<-->AF12, 010<-->AF13) 2501 - the Service Provider configures at every LSR, and for every 2502 interface, the scheduling behavior for each PSC (eg bandwidth 2503 allocated to AF1) and the dropping behavior for each PHB (e.g. 2504 drop profile for AF11, AF12, AF13) 2505 - LSRs signal establishment of a single E-LSP per FEC using LDP in 2506 accordance with the specification above (i.e. no Diff-Serv TLV 2507 in LDP Label Request/Label Mapping messages to implicitly 2508 indicate that the LSP is an E-LSP and that it uses the 2509 preconfigured mapping) 2511 A.2 Scenario 2: More than 8 BAs, no Traffic Engineering, no MPLS 2512 Protection 2514 A Service Provider running more than 8 BAs over MPLS, not performing 2515 Traffic Engineering, not using MPLS protection and using MPLS Shim 2517 Le Faucheur et. al 46 2518 MPLS Support of Diff-Serv February 2001 2520 encapsulation in his/her network may elect to run Diff-Serv over 2521 MPLS using for each FEC: 2522 - one E-LSP established via LDP and using the preconfigured 2523 mapping to support a set of 8 (or less) BAs, AND 2524 - one L-LSP per established via LDP for support of the 2525 other BAs. 2527 Operations can be summarized as follows: 2528 - the Service Provider configures at every LSR the bi-directional 2529 mapping between each PHB and a value of the EXP field for the 2530 BAs transported over the E-LSP 2531 - the Service Provider configures at every LSR, and for every 2532 interface, the scheduling behavior for each PSC supported over 2533 the E-LSP and the dropping behavior for each corresponding PHB 2534 - the Service Provider configures at every LSR, and for every 2535 interface, the scheduling behavior for each PSC supported over 2536 the L-LSPs and the dropping behavior for each corresponding PHB 2537 - LSRs signal establishment of a single E-LSP per FEC for the set 2538 of E-LSP transported BAs using LDP as specified above (i.e. no 2539 Diff-Serv TLV in LDP Label Request/Label Mapping messages to 2540 implicitly indicate that the LSP is an E-LSP and that it uses 2541 the preconfigured mapping) 2542 - LSRs signal establishment of one L-LSP per for the 2543 other BAs using LDP as specified above (i.e. Diff-Serv TLV in 2544 LDP Label Request/Label Mapping messages to indicate the L-LSP's 2545 PSC). 2547 A.3 Scenario 3: 8 (or fewer) BAs, Aggregate Traffic Engineering, 2548 Aggregate MPLS Protection 2550 A Service Provider running 8 (or fewer) BAs over MPLS, performing 2551 aggregate Traffic Engineering (i.e. performing a single common path 2552 selection for all BAs), using aggregate MPLS protection (i.e. 2553 restoring service to all PSCs jointly) and using MPLS Shim Header 2554 encapsulation in his/her network, may elect to run Diff-Serv over 2555 MPLS using a single E-LSP per FEC established via RSVP 2556 [RSVP_MPLS_TE] or CR-LDP [CR-LDP_MPLS_TE] and using the 2557 preconfigured mapping. 2559 Operations can be summarized as follows: 2560 - the Service Provider configures at every LSR the bi-directional 2561 mapping between each PHB and a value of the EXP field 2562 (e.g. 000<-->AF11, 001<-->AF12, 010<-->AF13) 2563 - the Service Provider configures at every LSR, and for every 2564 interface, the scheduling behavior for each PSC (eg bandwidth 2565 allocated to AF1) and the dropping behavior for each PHB (eg 2566 drop profile for AF11, AF12, AF13) 2567 - LSRs signal establishment of a single E-LSP per FEC which will 2568 use the preconfigured mapping: 2569 * using the RSVP protocol as specified above (i.e. no 2570 DIFFSERV RSVP Object in the PATH message containing the 2571 LABEL_REQUEST Object), OR 2573 Le Faucheur et. al 47 2574 MPLS Support of Diff-Serv February 2001 2576 * using the CR-LDP protocol as specified above (i.e. no 2577 Diff-Serv TLV in LDP Label Request/Label Mapping messages). 2578 - protection is activated on all the E-LSPs in order to achieve 2579 MPLS protection via mechanisms outside the scope of this 2580 document. 2582 A.4 Scenario 4: per-OA Traffic Engineering/MPLS Protection 2584 A Service Provider running any number of BAs over MPLS, performing 2585 per-OA Traffic Engineering (i.e. performing a separate path 2586 selection for each OA) and performing per-OA MPLS protection (i.e. 2587 performing protection with potentially different levels of 2588 protection for the different OAs) in his/her network, may elect to 2589 run Diff-Serv over MPLS using one L-LSP per pair 2590 established via RSVP or CR-LDP. 2592 Operations can be summarized as follows: 2593 - the Service Provider configures at every LSR, and for every 2594 interface, the scheduling behavior for each PSC (eg bandwidth 2595 allocated to AF1) and the dropping behavior for each PHB (eg 2596 drop profile for AF11, AF12, AF13) 2597 - LSRs signal establishment of one L-LSP per : 2598 * using the RSVP as specified above to signal the 2599 L-LSP's PSC (i.e. DIFFSERV RSVP Object in the PATH message 2600 containing the LABEL_REQUEST), OR 2601 * using the CR-LDP protocol as specified above to 2602 signal the L-LSP PSC (i.e. Diff-Serv TLV in LDP Label 2603 Request/Label Mapping messages). 2604 - the appropriate level of protection is activated on the 2605 different L-LSPs (potentially with a different level of 2606 protection for each PSC)_via mechanisms outside the scope of 2607 this document. 2609 A.5 Scenario 5: 8 (or fewer) BAs, per-OA Traffic Engineering/MPLS 2610 Protection 2612 A Service Provider running 8 (or fewer) 8 BAs over MPLS, performing 2613 per-OA Traffic Engineering (i.e. performing a separate path 2614 selection for each OA) and performing per-OA MPLS protection (i.e. 2615 performing protection with potentially different levels of 2616 protection for the different OAs) in his/her network, may elect to 2617 run Diff-Serv over MPLS using one E-LSP per pair 2618 established via RSVP or CR-LDP. Furthermore, the Service Provider 2619 may elect to use the preconfigured mapping on all the E-LSPs. 2621 Operations can be summarized as follows: 2622 - the Service Provider configures at every LSR the bi-directional 2623 mapping between each PHB and a value of the EXP field 2624 (e.g. 000<-->AF11, 001<-->AF12, 010<-->AF13) 2625 - the Service Provider configures at every LSR, and for every 2626 interface, the scheduling behavior for each PSC (eg bandwidth 2628 Le Faucheur et. al 48 2629 MPLS Support of Diff-Serv February 2001 2631 allocated to AF1) and the dropping behavior for each PHB (eg 2632 drop profile for AF11, AF12, AF13) 2633 - LSRs signal establishment of one E-LSP per : 2634 * using the RSVP protocol as specified above to signal 2635 that the LSP is an E-LSP which uses the preconfigured mapping 2636 (i.e. no DIFFSERV RSVP Object in the PATH message containing the 2637 LABEL_REQUEST), OR 2638 * using the CR-LDP protocol as specified above to 2639 signal that the LSP is an E-LSP which uses the preconfigured 2640 mapping (i.e. no Diff-Serv TLV in LDP Label Request/Label 2641 Mapping messages) 2642 - the Service Provider configures, for each E-LSP, at the head-end 2643 of that E-LSP, a filtering/forwarding criteria so that only the 2644 packets belonging to a given OA are forwarded on the E-LSP 2645 established for the corresponding FEC and corresponding OA. 2646 - the appropriate level of protection is activated on the 2647 different E-LSPs (potentially with a different level of 2648 protection depending on the PSC actually transported over each 2649 E-LSP)_via mechanisms outside the scope of this document. 2651 A.6 Scenario 6: no Traffic Engineering/MPLS Protection on 8 BAs, per-OA 2652 Traffic Engineering/MPLS Protection on other BAs. 2654 A Service Provider not performing Traffic Engineering/MPLS 2655 Protection on 8 (or fewer) BAs, performing per-OA Traffic 2656 Engineering/MPLS Protection on the other BAs (i.e. performing a 2657 separate path selection for each OA corresponding to the other BAs 2658 and performing MPLS Protection with a potentially different policy 2659 for each of these OA) and using the MPLS Shim encapsulation in 2660 his/her network may elect to run Diff-Serv over MPLS, using for each 2661 FEC: 2662 - one E-LSP using the preconfigured mapping established via LDP to 2663 support the set of 8 (or fewer) non-traffic-engineered/non- 2664 protected BAs, AND 2665 - one L-LSP per pair established via RSVP or CR-LDP for 2666 support of the other BAs. 2668 Operations can be summarized as follows: 2669 - the Service Provider configures at every LSR the bi-directional 2670 mapping between each PHB and a value of the EXP field for the 2671 BAs supported over the E-LSP 2672 - the Service Provider configures at every LSR, and for every 2673 interface, the scheduling behavior for each PSC supported over 2674 the E-LSP and the dropping behavior for each corresponding PHB 2675 - the Service Provider configures at every LSR, and for every 2676 interface, the scheduling behavior for each PSC supported over 2677 the L-LSPs and the dropping behavior for each corresponding PHB 2678 - LSRs signal establishment of a single E-LSP per FEC for the non- 2679 traffic engineered BAs using LDP as specified above (i.e. no 2680 Diff-Serv TLV in LDP Label Request/Label Mapping messages) 2682 Le Faucheur et. al 49 2683 MPLS Support of Diff-Serv February 2001 2685 - LSRs signal establishment of one L-LSP per for the 2686 other BAs: 2687 * using the RSVP protocol as specified above to signal 2688 the L-LSP PSC (i.e. DIFFSERV RSVP Object in the PATH message 2689 containing the LABEL_REQUEST Object), OR 2690 * using the CR-LDP protocol as specified above to 2691 signal the L-LSP PSC (i.e. Diff-Serv TLV in LDP Label 2692 Request/Label Mapping messages). 2693 - protection is not activated on the E-LSPs. 2694 - the appropriate level of protection is activated on the 2695 different L-LSPs (potentially with a different level of 2696 protection depending on the L-LSP's PSC)_via mechanisms outside 2697 the scope of this document. 2699 A.7 Scenario 7: More than 8 BAs, no Traffic Engineering, no MPLS 2700 Protection 2702 A Service Provider running more than 8 BAs over MPLS, not performing 2703 Traffic engineering, not performing MPLS protection and using MPLS 2704 Shim Header encapsulation in his/her network, may elect to run Diff- 2705 Serv over MPLS using two E-LSPs per FEC established via LDP and 2706 using signaled EXP<-->PHB mapping. 2707 Operations can be summarized as follows: 2708 - the Service Provider configures at every LSR, and for every 2709 interface, the scheduling behavior for each PSC (eg bandwidth 2710 allocated to AF1) and the dropping behavior for each PHB (eg 2711 drop profile for AF11, AF12, AF13) 2712 - LSRs signal establishment of two E-LSPs per FEC using LDP in 2713 accordance with the specification above (i.e. Diff-Serv TLV in 2714 LDP Label Request/Label Mapping messages to explicitly indicate 2715 that the LSP is an E-LSP and its EXP<--> mapping). The signaled 2716 mapping will indicate the subset of 8 (or less) BAs to be 2717 transported on each E-LSP and what EXP values are mapped to each 2718 BA on each E-LSP. 2720 APPENDIX B. Example Bandwidth Reservation Scenarios 2722 B.1 Scenario 1: No Bandwidth Reservation 2724 Consider the case where a network administrator elects to: 2725 - have Diff-Serv resources entirely provisioned off-line (e.g. via 2726 Command Line Interface, via SNMP, via COPS,...) 2727 - have Shortest Path Routing used for all the Diff-Serv traffic. 2729 This is the closest model to provisioned Diff-Serv over non-MPLS IP. 2730 In that case, E-LSPs and/or L-LSPs would be established without 2731 signaled bandwidth. 2733 B.2 Scenario 2: Bandwidth Reservation for per-PSC Admission Control 2735 Consider the case where a network administrator elects to: 2737 Le Faucheur et. al 50 2738 MPLS Support of Diff-Serv February 2001 2740 - have Diff-Serv resources entirely provisioned off-line (e.g. via 2741 Command Line Interface, via SNMP, via COPS,...) 2742 - use L-LSPs 2743 - have Constraint Based Routing performed separately for each PSC, 2744 where one of the constraints is availability of bandwidth from 2745 the bandwidth allocated to the relevant PSC. 2747 In that case, L-LSPs would be established with signaled bandwidth. 2748 The bandwidth signaled at L-LSP establishment would be used by LSRs 2749 to perform admission control at every hop to ensure that the 2750 constraint on availability of bandwidth for the relevant PSC is met. 2752 B.3 Scenario 3: Bandwidth Reservation for per-PSC Admission Control and 2753 per-PSC Resource Adjustment 2755 Consider the case where a network administrator elects to: 2756 - use L-LSPs 2757 - have Constraint Based Routing performed separately for each PSC, 2758 where one of the constraints is availability of bandwidth from 2759 the bandwidth allocated to the relevant PSC. 2760 - have Diff-Serv resources dynamically adjusted 2762 In that case, L-LSPs would be established with signaled bandwidth. 2763 The bandwidth signaled at L-LSP establishment would be used by LSRs 2764 to attempt to adjust the resources allocated to the relevant PSC 2765 (e.g. scheduling weight) and then perform admission control to 2766 ensure that the constraint on availability of bandwidth for the 2767 relevant PSC is met after the adjustment. 2769 References 2771 [MPLS_ARCH] Rosen et al., "Multiprotocol label switching 2772 Architecture", RFC-3031, January 2001. 2774 [MPLS_ENCAPS] Rosen et al., "MPLS Label Stack Encoding", RFC-3032, 2775 January 2001. 2777 [MPLS_ATM] Davie et al., "MPLS using LDP and ATM VC Switching", RFC- 2778 3035, January 2001. 2780 [MPLS_FR] Conta et al., "Use of Label Switching on Frame Relay 2781 Networks Specification", RFC-3034, January 2001. 2783 [DIFF_ARCH] Blake et al., "An architecture for Differentiated 2784 Services", RFC-2475, December 1998. 2786 [DIFF_AF] Heinanen et al., "Assured Forwarding PHB Group", RFC-2597, 2787 June 1999. 2789 [DIFF_EF] Jacobson et al., "An Expedited Forwarding PHB", RFC-2598, 2790 June 1999. 2792 Le Faucheur et. al 51 2793 MPLS Support of Diff-Serv February 2001 2795 [DIFF_HEADER] Nichols et al., "Definition of the Differentiated 2796 Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC-2474, 2797 December 1998. 2799 [ECN] Ramakrishnan et al., "A Proposal to add Explicit Congestion 2800 Notification (ECN) to IP", RFC-2481, January 1999. 2802 [LDP] Andersson et al., "LDP Specification", RFC-3036, January 2001 2804 [RSVP_MPLS_TE] Awduche et al, "Extensions to RSVP for LSP Tunnels", 2805 work in progress, draft-ietf-mpls-rsvp-lsp-tunnel-07.txt, August 2806 2000 2808 [CR-LDP_MPLS_TE] Jamoussi et al., "Constraint-Based LSP Setup using 2809 LDP", work in progress, draft-ietf-mpls-cr-ldp-04.txt, July 2000 2811 [PHBID] Brim et al., "Per Hop Behavior Identification Codes" 2812 RFC-2836, May 2000 2814 [DIFF_NEW] Grossman, "New Terminology for Diffserv", work in 2815 progress, draft-ietf-diffserv-new-terms-03.txt, August 2000 2817 [IEEE_802.1] ISO/IEC 15802-3: 1998 ANSI/IEEE Std 802.1D, 1998 2818 Edition (Revision and redesignation of ISO/IEC 10038:98 2820 [ANSI/IEEE Std 802.1D, 1993 Edition], incorporating IEEE 2821 supplements P802.1p, 802.1j-1996, 802.6k-1992, 802.11c-1998, and 2822 P802.12e) 2824 [DIFF_TUNNEL] Black, "Differentiated Services and Tunnels", 2825 RFC-2983, October 2000. 2827 [MPLS_VPN] Rosen et al., "BGP/MPLS VPNs", work in progress, draft- 2828 rosen-rfc2547bis-02.txt, July 2000. 2830 [RSVP] Braden et al., "Resource ReSerVation Protocol (RSVP) - 2831 Version 1 Functional Specification", RFC-2205, September 1997. 2833 [IANA] T. Narten, H. Alvestrand, "Guidelines for Writing an IANA 2834 Considerations Section in RFCs", RFC 2434, October 1998. 2836 Authors' Address: 2838 Francois Le Faucheur 2839 Cisco Systems 2840 Village d'Entreprise Green Side - Batiment T3 2841 400, Avenue de Roumanille 2842 06410 Biot-Sophia Antipolis 2843 France 2844 Phone: +33 4 97 23 26 19 2846 Le Faucheur et. al 52 2847 MPLS Support of Diff-Serv February 2001 2849 Email: flefauch@cisco.com 2851 Liwen Wu 2852 Cisco Systems 2853 250 Apollo Drive, Chelmsford, MA 01824, 2854 USA 2855 Phone: +1 (978) 244-3087 2856 Email: liwwu@cisco.com 2858 Bruce Davie 2859 Cisco Systems 2860 250 Apollo Drive, Chelmsford, MA 01824 2861 USA 2862 Phone: +1 (978) 244-8000 2863 Email: bsd@cisco.com 2865 Shahram Davari 2866 PMC-Sierra Inc. 2867 555 Legget drive, 2868 Suit 834, Tower B, 2869 Ottawa, ON K2K 2X3 2870 Canada 2871 Phone: +1 (613) 271-4018 2872 Email: shahram_davari@pmc-sierra.com 2874 Pasi Vaananen 2875 Nokia 2876 3 Burlington Woods Drive, Suit 250 2877 Burlington, MA 01803 2878 USA 2879 Phone +1 (781) 238-4981 2880 Email: pasi.vaananen@nokia.com 2882 Ram Krishnan 2883 Lucent Technologies 2884 200 Nickerson Road, 2885 Marlboro, MA 01752 2886 USA 2887 E-mail: ram64@lucent.com 2889 Pierrick Cheval 2890 Alcatel 2891 5 rue Noel-Pons 2892 92734 Nanterre Cedex 2893 France 2894 E-mail:pierrick.cheval@alcatel.fr 2896 Juha Heinanen 2897 Telia Finland 2898 E-mail: jh@lohi.eng.telia.fi 2900 Le Faucheur et. al 53 2901 MPLS Support of Diff-Serv February 2001 2903 Full Copyright Statement 2905 Copyright (C) The Internet Society (2000). All Rights Reserved. 2907 This document and translations of it may be copied and furnished to 2908 others, and derivative works that comment on or otherwise explain it 2909 or assist in its implementation may be prepared, copied, published 2910 and distributed, in whole or in part, without restriction of any 2911 kind, provided that the above copyright notice and this paragraph 2912 are included on all such copies and derivative works. However, this 2913 document itself may not be modified in any way, such as by removing 2914 the copyright notice or references to the Internet Society or other 2915 Internet organizations, except as needed for the purpose of 2916 developing Internet standards in which case the procedures for 2917 copyrights defined in the Internet Standards process must be 2918 followed, or as required to translate it into languages other than 2919 English. 2921 The limited permissions granted above are perpetual and will not be 2922 revoked by the Internet Society or its successors or assigns. 2924 This document and the information contained herein is provided on an 2925 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 2926 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 2927 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 2928 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 2929 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." 2931 Le Faucheur et. al 54