Per Hop Behavior Identification Codes
obsoletes
- rfc-2836 — Per Hop Behavior Identification Codes
Extracted elements (15)
Sets of PHBs that do not constitute a PHB Scheduling Class can still be identified, but must use more than one PHBID rather than a single set-encoding, because the single-PHBID set encoding carries the semantic guarantee of no reordering.
There are only 64 possible DSCP values but no limit on the number of PHBs, and network operators may choose local DSCP-to-PHB mappings that differ from standardized recommendations. A dedicated 16-bit identifier space is therefore needed to unambiguously name PHBs in cross-domain signaling messages (e.g., bandwidth broker communication, MPLS diffserv support).
This document replaces RFC 2836 because RFC 2836 omitted consideration of the Class Selector Codepoints; section 3 of RFC 3140 fills that gap, and a clarification was added for PHB Scheduling Classes.
Case 1 PHBIDs constructed from Class Selector Codepoints enable consistent operation with networks using IP Precedence (RFC 1812), since Class Selector Codepoints correspond to IP Precedence values; different networks will map these differently so recipients must apply their own local policy.
Any specified use of PHBIDs SHOULD allow the use of the eight Case 1 PHBIDs constructed from the Class Selector Codepoints.
For Case 1 encoding, the recommended DSCP value MUST be used even if the network has chosen a different local DSCP-to-PHB mapping.
This binary encoding MUST be used when identification of PHBs or sets of PHBs is required in protocol messages.
When a single PHBID identifies a set of PHBs (bit 14 set to 1), that set MUST constitute a PHB Scheduling Class, meaning use of PHBs from the set MUST NOT cause intra-microflow traffic reordering when different PHBs from the set are applied to traffic in the same microflow.
A PHB Scheduling Class is a set of PHBs that may share a single PHBID (bit 14=1) because using any combination of them on the same microflow will not cause reordering. The AF1x PHBs (AF11, AF12, AF13) are the canonical example.
The eight Class Selector Codepoints of the form 'xxx000' (RFC 2474) can be encoded as Case 1 PHBIDs; codepoint 000000 signals the Default PHB, while the remaining seven may be used to signal PHBs according to the recipient network's local mapping, including IP Precedence mappings in non-diffserv domains.
IANA is requested to create a new assignment registry for 'Per-Hop Behavior Identification Codes' with values 0–4095 decimal. Assignments require: assignee identity, a brief distinguishing description of the PHB or PHB set, and a reference to a stable document.
Merely signalling a PHBID SHOULD NOT be sufficient to grant the sender access to a PHB it could not otherwise use. Receivers SHOULD treat received PHBIDs as requests for service and apply local policy to grant or deny them.
The encoding itself raises no security issues, but modifying a PHB identification code may constitute theft or denial of service; protocols using this encoding must be adequately protected.
Case 2 (experimental or local-use PHBs): an arbitrary 12-bit PHB identification code assigned by IANA is placed left-justified in bits 0–11; bit 15 is set to 1, bit 14 is 0 for a single PHB or 1 for a set, and bits 12–13 are reserved (zero).
PHBs and sets of PHBs are encoded in an unsigned 16-bit binary field. Case 1 (standards-defined PHBs): the recommended DSCP value is placed left-justified in bits 0–5, bits 6–13 and 15 set to zero, bit 14 set to 1 if encoding a set of PHBs.