Per-Hop Behaviors 53
Figure 2-3 illustrates the ToS byte with IP precedence and the redefined ToS byte with
DiffServ:
Figure 2-3 ToS Byte: With IP Precedence and Differentiated Services
Per-Hop Behaviors
With the introduction of the DSCP markings, there were significantly more possible
markings for packets (0–63 are the possible markings for packets). Because there were so
many more possible markings, the IETF decided to standardize what some of the
codepoints meant. In part, this is to provide backward compatibility to IP precedence and,
in part, this is to facilitate certain types of behaviors that were seen as fundamental to the
DiffServ architecture.
The following definition of a per-hop behavior is taken from Section 2.4 of RFC 2475:
A per-hop behavior (PHB) is a description of the externally observable forwarding behavior of a DS node
applied to a particular DS behavior aggregate … In general, the observable behavior of a PHB may depend
on certain constraints on the traffic characteristics of the associated behavior aggregate, or the
characteristics of other behavior aggregates.
For a definition of forwarding behavior, refer to Chapter 1.
For the purpose of backward compatibility, it is important to note that a router that under-
stands IP precedence, but is not DiffServ-aware, looks only at the 3 most significant bits
(left-most bits) in the ToS field, whereas a DiffServ-capable router looks at the 6 most
significant bits. Therefore, the marking 000000 is defined in RFC 2474 as Best Effort. This
means that a router that only understands IP precedence would read that field as 000, which
is the definition of Best Effort in an IP precedence environment. Similarly, all markings in
the format xxx000 are reserved by RFC 2474 to provide backward compatibility with IP
precedence values, as shown in Table 2-6.
Table 2-6 Backward Compatibility with IP Precedence Values
Bits Precedence
001000 Class selector 1; read as 001 by a non-DiffServ node and treated like IP precedence 1.
010000 Class selector 2; read as 010 by a non-DiffServ node and treated like IP precedence 2.
011000 Class selector 3; read as 011 by a non-DiffServ node and treated like IP precedence 3.
100000 Class selector 4; read as 100 by a non-DiffServ node and treated like IP precedence 4.
IP Precedence "ToS bits" U
DSCP ECN
IPv4 ToS
DS Field
continues