rfc-3181

Signaled Preemption Priority Policy Element

S. Herzog
date2001-10 streamIETF areaops wgrap statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc3181 doi10.17487/RFC3181
This document describes a preemption priority policy element for use by signaled policy based admission protocols (such as the Resource ReSerVation Protocol (RSVP) and Common Open Policy Service (COPS). [STANDARDS-TRACK]

obsoletes

Extracted elements (25)

design-rationale §4

A wide gap between preemption priority and defending priority provides stability: moderate preemption priority makes it harder for a flow to preempt others, while a higher defending priority makes it easier to resist future preemption, balancing order-dependency against priority.

qos

design-rationale §5.2

Compression of forwarded PREEMPTION_PRI elements is permitted: per merging strategy, only the element with the highest QoS among participants is forwarded, reducing the number of elements to at most the number of distinct merging strategies regardless of receiver count.

qos

design-rationale §5

Priority merging with heterogeneous QoS flows creates the 'free-rider' problem (a low-QoS flow acquires high priority undeservedly) and 'denial of service' (a high-priority flow is rejected after merging with a lower-priority one), motivating the three distinct merge strategies.

qos, security

design-rationale §5.1.3

The 'Force error on heterogeneous merge' strategy (merge strategy 3) is recommended only when reservation homogeneity is coordinated for the entire multicast tree; it is easier to implement than strategy 1 but vulnerable to denial of service from a single receiver specifying an incompatible QoS.

qos, multicast

design-rationale §2

The PREEMPTION_PRI element is designed to be stateless, simple, and lightweight so it can be implemented internally within a node's Local Decision Point (LDP) without requiring a controlling PDP.

qos

design-rationale §5.1.2

The 'Take highest priority' strategy (merge strategy 2) is not recommended because it disassociates priority from QoS level, making it highly susceptible to free-riders and denial of service, though it is simpler to implement.

qos

design-rationale §5.1.1

The 'Take priority of highest QoS' strategy (merge strategy 1) is recommended because the highest-QoS flow dominates the merged reservation and its priority should dominate as well, preventing free-rider and denial-of-service priority distortions.

qos

interoperability-note §2

PREEMPTION_PRI elements are created by PDPs, can be processed (interpreted, forwarded, or merged) by LDPs, and are enforced by PEPs interacting with the node's traffic control and capacity admission control modules.

qos

interoperability-note §1

RFC 3181 obsoletes RFC 2751 and corrects an RSVP POLICY_DATA P-Type codepoint assignment error present in that earlier document.

qos

normative-requirement §4 MUST

For any specific flow, its preemption priority MUST always be less than or equal to its defending priority.

qos

normative-requirement §5.1 MUST

In merging, preemption priority and defending priority are merged and computed separately, irrespective of each other; the highest priority among participating elements is then selected.

qos

normative-requirement §2 MUST

LDPs must follow the merging strategy that was encoded by PDPs in the PREEMPTION_PRI objects when processing or forwarding these elements.

qos

normative-requirement §5.2 MUST

Merging of PREEMPTION_PRI elements must be performed per merging strategy separately; there is no algorithm to merge elements of different strategies without losing information affecting other nodes.

qos

normative-requirement §3 MUST

When carried in COPS messages for outsourced policy decisions, PREEMPTION_PRI objects MUST be included as COPS Stateless Policy Data Decision objects.

qos

normative-requirement §5.2 MUST NOT

When POLICY_DATA objects are protected by integrity, LDPs should not attempt to modify them and must forward them as-is; modification would invalidate the security envelope.

security, qos

protocol-element §6

On preemption, a copy of the preempting flow's PREEMPTION_PRI element is sent back toward the PDP that originated the preempted element, allowing the PDP to construct a higher-priority element to reinstate the flow.

qos

protocol-element §4

The Defending Priority field (16-bit unsigned) is used once a flow is admitted; it is compared against the preemption priority of new flows seeking to displace the admitted flow.

qos

protocol-element §4

The Error Code field (8 bits) encodes: 0 (NO_ERROR), 1 (PREEMPTION — flow was preempted), or 2 (HETEROGENEOUS — element encountered a heterogeneous merge).

qos

protocol-element §4

The Merge Strategy field (8 bits) encodes one of three strategies: 1 (Take priority of highest QoS, recommended), 2 (Take highest priority, aggressive), or 3 (Force error on heterogeneous merge).

qos

protocol-element §4

The Preemption Priority field (16-bit unsigned) expresses the priority of a new flow relative to the defending priorities of previously admitted flows; higher values indicate higher priority.

qos

protocol-element §6

When a flow using the heterogeneous-error merge strategy encounters heterogeneity, its PREEMPTION_PRI element is returned toward receivers with the HETEROGENEOUS error code set.

qos

registry §7

IANA assigns Standard RSVP Policy Element P-Type values by IETF Consensus as described in RFC 2750; P-Type PREEMPTION_PRI is assigned the value 1.

registry, qos

security-consideration §8

Preemption priority is intended to provide simple, quick guidance to routers operating within a trusted zone or a single policy domain; it is not designed to cross zone boundaries and additional security mechanisms are not warranted in that context.

security, qos

security-consideration §8

The integrity of PREEMPTION_PRI elements is guaranteed by encapsulation within a Policy Data object as defined in RFC 2750 (RSVP Extensions for Policy Control); no additional security mechanisms are defined.

security, qos

wire-format §4

The PREEMPTION_PRI policy element is 12 bytes total, with fields: Length (16 bits, always 12), P-Type (16 bits, value 1), Flags (8 bits, reserved), Merge Strategy (8 bits), Error Code (8 bits), Reserved (8 bits), Preemption Priority (16 bits unsigned), and Defending Priority (16 bits unsigned).

qos, security