ietf-corpus

rfc-2474

Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers

K. Nichols, S. Blake, F. Baker, D. Black
date1998-12 streamIETF areatsv wgdiffserv statusPROPOSED STANDARD pages20 canonicalhttps://www.rfc-editor.org/rfc/rfc2474 doi10.17487/RFC2474 errataview
This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]

obsoletes

updated by

updates

Extracted elements (22)

design-rationale §1

Service construction policies are deliberately left outside the scope of the document because experience with differentiated services was limited in 1998 and because service details are often covered by legal agreements between business entities—both of which make premature standardization inadvisable.

diffserv, qos, process

design-rationale §5

Standardized PHBs specify behavioral characteristics, not specific algorithms or mechanisms (e.g., Class Selector PHBs may be implemented by strict priority queuing, WFQ, WRR, CBQ, etc.). This separation mirrors the Internet's original forwarding/routing split and allows mechanisms to evolve independently of behaviors.

diffserv, qos

design-rationale §3

The DSCP field is defined as an unstructured 6-bit field (rather than a structured field with subfields like old IP Precedence) to facilitate the definition of future per-hop behaviors and avoid premature constraints on the codepoint space.

diffserv, qos

design-rationale §5

The Pool 1 codepoint space ('xxxxx0') is intentionally sparse: the 8 currently assigned Class Selector Codepoints ('xxx000') leave room for future standards-track PHB allocations without exhausting the pool or constraining future evolution.

diffserv, qos, registry

interoperability-note §3

The DS field structure is incompatible with the IPv4 TOS octet definition in RFC 791. DS domains are expected to protect themselves with re-marking boundary nodes; domains not isolated by suitably configured boundary nodes may deliver unpredictable service.

diffserv, ip, qos

interoperability-note §4.2.2.3

To preserve backward compatibility with deployed IP Precedence usage, codepoints 'xxx000' are reserved as Class Selector Codepoints. Operators may configure nodes to map codepoints irrespective of bits 3–5 of the DSCP field, making the network compatible with historical IP Precedence use (e.g., codepoint '011010' maps to the same PHB as '011000').

diffserv, ip, qos

normative-requirement §4.1 MUST

Codepoint '000000' MUST map to a PHB meeting the Default PHB specification (best-effort, common forwarding). Unrecognized codepoints SHOULD also be mapped to this PHB.

diffserv, qos

normative-requirement §3 MUST

DS-compliant nodes MUST select PHBs by matching against the entire 6-bit DSCP field, treating it as a table index. The value of the CU field MUST be ignored by PHB selection.

diffserv, qos

normative-requirement §5 MUST

Each standardized PHB MUST have an associated RECOMMENDED codepoint allocated from Pool 1 (32 codepoints, pattern 'xxxxx0'). Only PHBs that have been implemented, deployed, and shown to be useful SHOULD be standardized.

diffserv, qos, registry

normative-requirement §3 SHOULD

Packets received with an unrecognized codepoint SHOULD be forwarded as if marked for the Default PHB, with their codepoints unchanged. Such packets MUST NOT cause the network node to malfunction.

diffserv, qos

normative-requirement §5 MUST

PHB group specifications MUST identify any possible packet re-ordering implications for each individual PHB and when packets within a microflow are marked for different PHBs within the group. It is RECOMMENDED that PHB implementations not introduce re-ordering within a microflow.

diffserv, qos

normative-requirement §4.2.2.2 MUST

PHBs mapped to by the eight Class Selector Codepoints MUST yield at least two independently forwarded traffic classes. PHBs selected by higher-order Class Selector Codepoints SHOULD give packets a probability of timely forwarding not lower than those of lower-order codepoints.

diffserv, qos

normative-requirement §4.2.2.2 MUST

PHBs selected by codepoints '11x000' MUST give packets preferential forwarding treatment compared to the Default PHB ('000000'), preserving the common usage of IP Precedence values '110' and '111' for routing traffic.

diffserv, qos, routing

normative-requirement §3 MUST

The mapping of codepoints to PHBs MUST be configurable via a logical equivalent of a configurable mapping table. PHB specifications MUST include a recommended default codepoint, which MUST be unique within the standard codepoint space.

diffserv, qos

normative-requirement §7.2 MUST

When an IPsec tunnel egresses into a DS domain and the inner IP header has not been processed by a DS boundary node, the tunnel egress node MUST act as a DS boundary node and ensure the resulting traffic carries appropriate DS codepoints.

diffserv, security, ipsec, vpn

protocol-element §4.2.2.1

The Class Selector Codepoints are the eight DSCP values of the form 'xxx000' (where x is 0 or 1). PHBs mapped to by these codepoints must satisfy Class Selector PHB Requirements in addition to the Default PHB requirement for codepoint '000000'.

diffserv, qos

protocol-element §4.1

The Default PHB represents best-effort forwarding behavior. It MUST be available in every DS-compliant node and maps to codepoint '000000', which MUST be non-configurable and always satisfy the Default PHB specification.

diffserv, qos

protocol-element §3

The DS field supersedes the IPv4 TOS octet (RFC 791) and the IPv6 Traffic Class octet (RFC 2460). It is interpreted identically in both IP versions, carrying a 6-bit DSCP that maps to a per-hop behavior at each DS-compliant node.

diffserv, ip, qos

registry §6

The 64-codepoint DSCP space is divided into three pools: Pool 1 ('xxxxx0', 32 codepoints) assigned by Standards Action; Pool 2 ('xxxx11', 16 codepoints) reserved for EXP/LU; Pool 3 ('xxxx01', 16 codepoints) initially EXP/LU but available for future Standards Action if Pool 1 is exhausted.

diffserv, registry, qos

security-consideration §7.1 MUST

Adversaries may obtain better service or launch denial-of-service attacks by modifying DS codepoints in packets or injecting packets with elevated codepoints. DS domain boundary nodes MUST ensure all entering traffic is marked with appropriate codepoint values, remarking if necessary, as the primary defense against codepoint-based theft- and DoS attacks.

diffserv, security, qos

security-consideration §7.2

IPsec (AH and ESP) does not include the DS field in its cryptographic calculations, so IPsec provides no integrity protection for the DS field and does not prevent man-in-the-middle modification of codepoints. IPsec tunnel mode protects the inner header's DS field but the outer header remains modifiable by intermediate nodes.

diffserv, security, ipsec, vpn

wire-format §3

The DS field is an 8-bit octet: bits 0–5 form the 6-bit DSCP (Differentiated Services Codepoint) subfield, and bits 6–7 form the 2-bit CU (currently unused) subfield. The DSCP selects the per-hop behavior; the CU bits are reserved and ignored by PHB selection.

diffserv, ip, qos