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
|
Network Working Group S. Brim
Request for Comments: 2836 B. Carpenter
Category: Standards Track F. Le Faucheur
May 2000
Per Hop Behavior Identification Codes
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) The Internet Society (2000). All Rights Reserved.
Table of Contents:
1. Introduction................................................. 1
1.1. Usage Scenarios............................................ 2
2. Encoding..................................................... 3
3. IANA Considerations.......................................... 4
4. Security considerations...................................... 4
References...................................................... 4
Authors' Addresses.............................................. 5
Intellectual Property........................................... 6
Full Copyright Statement........................................ 7
1. Introduction
Differentiated Services [RFC 2474, RFC 2475] introduces the notion of
Per Hop Behaviors (PHBs) that define how traffic belonging to a
particular behavior aggregate is treated at an individual network
node. In IP packet headers, PHBs are not indicated as such; instead
Differentiated Services Codepoint (DSCP) values are used. There are
only 64 possible DSCP values, but there is no such limit on the
number of PHBs. In a given network domain, there is a locally defined
mapping between DSCP values and PHBs. Standardized PHBs recommend a
DSCP mapping, but network operators may choose alternative mappings.
Brim, et al. Standards Track [Page 1]
^L
RFC 2836 Per Hop Behavior Identification Codes May 2000
In some cases it is necessary or desirable to identify a particular
PHB in a protocol message, such as a message negotiating bandwidth
management or path selection, especially when such messages pass
between management domains. Examples where work is in progress
include communication between bandwidth brokers, and MPLS support of
diffserv.
In certain cases, what needs to be identified is not an individual
PHB, but a set of PHBs. One example is a set of PHBs that must follow
the same physical path to prevent re-ordering. An instance of this
is the set of three PHBs belonging to a single Assured Forwarding
class, such as the PHBs AF11, AF12 and AF13 [RFC 2597].
This document defines a binary encoding to uniquely identify PHBs
and/or sets of PHBs in protocol messages. This encoding MUST be used
when such identification is required.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
1.1. Usage Scenarios
Diffserv services are expected to be supported over various
underlying technologies which we broadly refer to as "link layers"
for the purpose of this discussion. For the transport of IP packets,
some of these link layers make use of connections or logical
connections where the forwarding behavior supported by each link
layer device is a property of the connection. In particular, within
the link layer domain, each link layer node will schedule traffic
depending on which connection the traffic is transported in. Examples
of such "link layers" include ATM and MPLS.
For efficient support of diffserv over these link layers, one model
is for different Behavior Aggregates (BAs) (or sets of Behavior
Aggregates) to be transported over different connections so that they
are granted different (and appropriate) forwarding behaviors inside
the link layer cloud. When those connections are dynamically
established for the transport of diffserv traffic, it is very useful
to communicate at connection establishment time what forwarding
behavior(s) is(are) to be granted to each connection by the link
layer device so that the BAs transported experience consistent
forwarding behavior inside the link layer cloud. This can be achieved
by including in the connection establishment signaling messages the
encoding of the corresponding PHB, or set of PHBs, as defined in this
document. Details on proposed usage of PHB encodings by some MPLS
label distribution protocols (RSVP and LDP) for support of Diff-Serv
over MPLS, can be found in [MPLS-DS].
Brim, et al. Standards Track [Page 2]
^L
RFC 2836 Per Hop Behavior Identification Codes May 2000
In another approach, the ATM Forum has a requirement to indicate
desired IP QOS treatments in ATM signaling, so that ATM switches can
be just as supportive of the desired service as are IP forwarders.
To do so the Forum is defining a new VC call setup information
element is which will carry PHB identification codes (although will
be generalized to do more if needed).
2. Encoding
PHBs and sets of PHBs are encoded in an unsigned 16 bit binary field.
The 16 bit field is arranged as follows:
Case 1: PHBs defined by standards action, as per [RFC 2474].
The encoding for a single PHB is the recommended DSCP value for that
PHB, left-justified in the 16 bit field, with bits 6 through 15 set
to zero. Note that the recommended DSCP value MUST be used, even if
the network in question has chosen a different mapping.
The encoding for a set of PHBs is the numerically smallest of the set
of encodings for the various PHBs in the set, with bit 14 set to 1.
(Thus for the AF1x PHBs, the encoding is that of the AF11 PHB, with
bit 14 set to 1.)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| DSCP | 0 0 0 0 0 0 0 0 X 0 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Case 2: PHBs not defined by standards action, i.e. experimental or
local use PHBs as allowed by [RFC 2474]. In this case an arbitrary 12
bit PHB identification code, assigned by the IANA, is placed left-
justified in the 16 bit field. Bit 15 is set to 1, and bit 14 is zero
for a single PHB or 1 for a set of PHBs. Bits 12 and 13 are zero.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| PHB id code | 0 0 X 1 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Bits 12 and 13 are reserved either for expansion of the PHB
identification code, or for other use, at some point in the future.
Brim, et al. Standards Track [Page 3]
^L
RFC 2836 Per Hop Behavior Identification Codes May 2000
3. IANA Considerations
IANA is requested to create a new assignment registry for "Per-Hop
Behavior Identification Codes", initially allowing values in the
range 0 to 4095 decimal.
Assignment of values in this field require:
-the identity of the assignee
-a brief description of the new PHB, with enough detail to
distinguish it from existing standardized and non-standardized
PHBs. In the case of a set of PHBs, this description should cover
all PHBs in the set.
-a reference to a stable document describing the PHB in detail.
During the first year of existence of this registry, IANA is
requested to refer all requests to the IETF diffserv WG for review.
Subsequently, requests should be reviewed by the IETF Transport Area
Directors or by an expert that they designate.
If the number of assignments begins to approach 4096, the Transport
Area Directors should be alerted.
4. Security Considerations
This encoding in itself raises no security issues. However, users of
this encoding should consider that modifying a PHB identification
code may constitute theft or denial of service, so protocols using
this encoding must be adequately protected.
References
[RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC 2474] Nichols, K., Blake, S., Baker, F. and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, December
1998.
[RFC 2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.
and W. Weiss, "An Architecture for Differentiated
Services", RFC 2475, December 1998.
[RFC 2597] Heinanen, J., Baker, F., Weiss, W. and J. Wroclawski,
"Assured Forwarding PHB Group", RFC 2597, June 1999.
Brim, et al. Standards Track [Page 4]
^L
RFC 2836 Per Hop Behavior Identification Codes May 2000
[MPLS-DS] MPLS Support of Differentiated Services, Francois Le
Faucheur, Liwen Wu, Bruce Davie, Shahram Davari, Pasi
Vaananen, Ram Krishnan, Pierrick Cheval, Juha Heinanen,
Work in Progress.
Authors' Addresses
Scott W. Brim
146 Honness Lane
Ithaca, NY 14850
USA
EMail: sbrim@cisco.com
Brian E. Carpenter
IBM
c/o iCAIR
Suite 150
1890 Maple Avenue
Evanston, IL 60201
USA
EMail: brian@icair.org
Francois Le Faucheur
Cisco Systems
Petra B - Les Lucioles
291, rue Albert Caquot
06560 Valbonne
France
EMail: flefauch@cisco.com
Brim, et al. Standards Track [Page 5]
^L
RFC 2836 Per Hop Behavior Identification Codes May 2000
Intellectual Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Brim, et al. Standards Track [Page 6]
^L
RFC 2836 Per Hop Behavior Identification Codes May 2000
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Brim, et al. Standards Track [Page 7]
^L
|