1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
|
Network Working Group S. Sivabalan, Ed.
Request for Comments: 5455 J. Parker
Category: Standards Track S. Boutros
Cisco Systems, Inc.
K. Kumaki
KDDI R&D Laboratories, Inc.
March 2009
Diffserv-Aware Class-Type Object for
the Path Computation Element Communication Protocol
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Abstract
This document specifies a CLASSTYPE object to support Diffserv-Aware
Traffic Engineering (DS-TE) where path computation is performed with
the aid of a Path Computation Element (PCE).
Sivabalan, et al. Standards Track [Page 1]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
Table of Contents
1. Introduction ....................................................2
1.1. Conventions Used in This Document ..........................3
2. Terminology .....................................................3
3. CLASSTYPE Object ................................................3
3.1. Object Definition ..........................................4
3.2. Path Computation Request Message with CLASSTYPE Object .....4
3.3. Processing CLASSTYPE Object ................................5
3.4. Determination of Traffic Engineering Class (TE-Class) ......6
3.5. Significance of Class-Type and TE-Class ....................6
3.6. Error Codes for CLASSTYPE Object ...........................6
4. Security Considerations .........................................7
5. IANA Considerations .............................................7
6. Acknowledgments .................................................7
7. References ......................................................8
7.1. Normative References .......................................8
7.2. Informative References .....................................8
1. Introduction
[RFC5440] specifies the Path Computation Element Communication
Protocol (PCEP) for communications between a Path Computation Client
(PCC) and a Path Computation Element (PCE), or between two PCEs, in
compliance with [RFC4657].
Diffserv-aware MPLS Traffic Engineering (DS-TE) addresses the
fundamental requirement to be able to enforce different bandwidth
constraints for different classes of traffic. It describes
mechanisms to achieve per-class traffic engineering, rather than on
an aggregate basis across all classes by enforcing Bandwidth
Constraints (BCs) on different classes. Requirements for DS-TE and
the associated protocol extensions are specified in [RFC3564] and
[RFC4124], respectively.
As per [RFC4657], PCEP must support traffic Class-Type as an MPLS-
TE-specific constraint. However, in the present form, PCEP [RFC5440]
does not have the capability to specify the Class-Type in the path
computation request.
In this document, we define a new PCEP object called CLASSTYPE, which
carries the Class-Type of the TE LSP in the path computation request.
During path computation, a PCE uses the Class-Type to identify the
bandwidth constraint of the TE LSP.
Sivabalan, et al. Standards Track [Page 2]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
1.1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Terminology
CT (Class-Type): A set of Traffic Trunks governed by a set of
bandwidth constraints. Used for the purpose of link bandwidth
allocation, constraint-based routing and admission control. A given
Traffic Trunk belongs to the same CT on all links.
DS-TE: Diffserv-Aware Traffic Engineering.
LSR: Label Switching Router.
LSP: Label Switched Path.
PCC (Path Computation Client): any client application requesting a
path computation to be performed by a Path Computation Element.
PCE (Path Computation Element): an entity (component, application, or
network node) that is capable of computing a network path or route
based on a network graph and applying computational constraints.
PCEP Peer: an element involved in a PCEP session (i.e., a PCC or the
PCE).
TE-Class: A pair consisting of a Class-Type and a preemption priority
allowed for that Class-Type. An LSP transporting a Traffic Trunk
from that Class-Type can use that preemption priority as the setup
priority, the holding priority, or both.
TE LSP: Traffic Engineering Label Switched Path.
Traffic Trunk: An aggregation of traffic flows of the same class
(i.e., treated equivalently from the DS-TE perspective), which is
placed inside a TE LSP.
3. CLASSTYPE Object
The CLASSTYPE object is optional and is used to specify the Class-
Type of a TE LSP. This object is meaningful only within the path
computation request, and is ignored in the path reply message. If
the TE LSP for which the path is to be computed belongs to Class 0,
the
Sivabalan, et al. Standards Track [Page 3]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
path computation request MUST NOT contain the CLASSTYPE object. This
allows backward compatibility with a PCE that does not support the
CLASSTYPE object.
3.1. Object Definition
The CLASSTYPE object contains a 32-bit word PCEP common object header
defined in [RFC5440] followed by another 32-bit word object body as
shown in Figure 1.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PCEP common header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | CT |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: CLASSTYPE object format
The fields in the common object header are processed as specified in
[RFC5440]. The values of object class and object type are 22 and 1,
respectively. If included, the CLASSTYPE object must be taken into
account by the PCE. As such, the P flag MUST be set. The I flag is
ignored.
The CLASSTYPE object body contains the following fields:
CT: 3-bit field that indicates the Class-Type. Values allowed are 1,
2, ... , 7. The value of 0 is Reserved.
Reserved: 29-bit reserved field. It MUST be set to zero on
transmission and MUST be ignored on receipt.
3.2. Path Computation Request Message with CLASSTYPE Object
[RFC5440] specifies the order in which objects must be inserted in
the PCEP messages. This document specifies that the CLASSTYPE object
be inserted after the END-POINT objects as shown below:
Sivabalan, et al. Standards Track [Page 4]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
The format of a Path Computation Request (PCReq) message is as
follows:
<PCReq Message>::= <Common Header>
[<SVEC-list>]
<request-list>
where:
<svec-list>::=<SVEC>[<svec-list>]
<request-list>::=<request>[<request-list>]
<request>::= <RP>
<END-POINTS>
[<CLASSTYPE>]
[<LSPA>]
[<BANDWIDTH>]
[<metric-list>]
[<RRO>]
[<IRO>]
[<LOAD-BALANCING>]
where:
<metric-list>::=<METRIC>[<metric-list>]
Note that an implementation MUST form the PCEP messages using the
object ordering rules specified using Backus-Naur Form. Please refer
to [OBJ-ORD] for more details.
3.3. Processing CLASSTYPE Object
If the LSP is associated with Class-Type N (1 <= N <= 7), the PCC
originating the PCReq MUST include the CLASSTYPE object in the PCReq
message with the Class-Type (CT) field set to N.
If a path computation request contains multiple CLASSTYPE objects,
only the first one is meaningful; subsequent CLASSTYPE object(s) MUST
be ignored and MUST NOT be forwarded.
If the CLASSTYPE object is not present in the path computation
request message, the LSR MUST associate the Class-Type 0 to the LSP.
A path computation reply message MUST NOT include a CLASSTYPE object.
If a PCE needs to forward a path computation request containing the
CLASSTYPE object to another PCE, it MUST store the Class-Type of the
TE LSP in order to complete the path computation when the path
computation reply arrives.
A PCE that does not recognize the CLASSTYPE object MUST reject the
entire PCEP message and MUST send a PCE error message with Error-
Type="Unknown Object" or "Not supported object", defined in
[RFC5440].
Sivabalan, et al. Standards Track [Page 5]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
A PCE that recognizes the CLASSTYPE object, but finds that the P flag
is not set in the CLASSTYPE object, MUST send PCE error message
towards the sender with the error type and error value specified in
[RFC5440].
A PCE that recognizes the CLASSTYPE object, but does not support the
particular Class-Type, MUST send a PCE error message towards the
sender with the error type "Diffserv-aware TE error" and the error
value of "Unsupported Class-Type" (Error-value 1).
A PCE that recognizes the CLASSTYPE object, but determines that the
Class-Type value is not valid (i.e., Class-Type value 0), MUST send a
PCE error towards the sender with the error type "Diffserv-aware TE
error" and an error value of "Invalid Class-Type" (Error-value 2).
3.4. Determination of Traffic Engineering Class (TE-Class)
As specified in RFC 4124, a CT and a preemption priority map to a
Traffic Engineering Class (TE-class), and there can be up to 8
TE-classes. The TE-class value is used to determine the unreserved
bandwidth on the links during path computation. In the case of a
PCE, the CT value carried in the CLASSTYPE object and the setup
priority in the LSP Attribute (LSPA) object are used to determine the
TE-class corresponding to the path computation request. If the LSPA
object is absent, the setup priority is assumed to be 0.
3.5. Significance of Class-Type and TE-Class
To ensure coherent DS-TE operation, a PCE and a PCC should have a
common understanding of a particular DS-TE Class-Type and TE-class.
If a path computation request crosses an Autonomous System (AS)
boundary, these should have global significance in all domains.
Enforcement of this global significance is outside the scope of this
document.
3.6. Error Codes for CLASSTYPE Object
This document defines the following error type and values:
Error-Type Meaning
12 Diffserv-aware TE error
Error-value=1: Unsupported Class-Type
Error-value=2: Invalid Class-Type
Error-value=3: Class-Type and setup priority do
not form a configured TE-class
Sivabalan, et al. Standards Track [Page 6]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
4. Security Considerations
This document does not introduce new security issues. The security
considerations pertaining to PCEP [RFC5440] remain relevant.
5. IANA Considerations
IANA maintains a registry of parameters for PCEP. This contains a
sub-registry for PCEP objects. IANA has made allocations from this
registry as follows:
Object-Class Name Reference
22 CLASSTYPE RFC 5455
Object-Type
1: Class-Type RFC 5455
IANA has allocated error types and values as follows:
Error-Type Meaning Reference
12 Diffserv-aware TE error RFC 5455
Error-value = 1: RFC 5455
Unsupported Class-Type
Error-value = 2: RFC 5455
Invalid Class-Type
Error-value = 3: RFC 5455
Class-Type and setup priority
do not form a configured TE-class
6. Acknowledgments
The authors would like to thank Jean Philippe Vasseur, Adrian Farrel,
and Zafar Ali for their valuable comments.
Sivabalan, et al. Standards Track [Page 7]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for Support of
Diffserv-aware MPLS Traffic Engineering", RFC 4124, June
2005.
[RFC5440] Vasseur, JP., Ed., and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440,
March 2009.
7.2. Informative References
[RFC4657] Ash, J., Ed., and J. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol Generic Requirements",
RFC 4657, September 2006.
[RFC3564] Le Faucheur, F. and W. Lai, "Requirements for Support of
Differentiated Services-aware MPLS Traffic Engineering",
RFC 3564, July 2003.
[OBJ-ORD] Farrel, A., "Reduced Backus-Naur Form (RBNF) A Syntax Used
in Various Protocol Specifications", Work in Progress,
November 2008.
Sivabalan, et al. Standards Track [Page 8]
^L
RFC 5455 DS Aware CT Object for PCEP March 2009
Authors' Addresses
Siva Sivabalan (editor)
Cisco Systems, Inc.
2000 Innovation Drive
Kanata, Ontario, K2K 3E8
Canada
EMail: msiva@cisco.com
Jon Parker
Cisco Systems, Inc.
2000 Innovation Drive
Kanata, Ontario, K2K 3E8
Canada
EMail: jdparker@cisco.com
Sami Boutros
Cisco Systems, Inc.
3750 Cisco Way
San Jose, California 95134
USA
EMail: sboutros@cisco.com
Kenji Kumaki
KDDI R&D Laboratories, Inc.
2-1-15 Ohara Fujimino
Saitama 356-8502, JAPAN
EMail: ke-kumaki@kddi.com
Sivabalan, et al. Standards Track [Page 9]
^L
|