rfc-5670

Metering and Marking Behaviour of PCN-Nodes

P. Eardley (Editor)
date2009-11 streamIETF areatsv wgpcn statusPROPOSED STANDARD pages20 canonicalhttps://www.rfc-editor.org/rfc/rfc5670 doi10.17487/RFC5670 errataview
The objective of Pre-Congestion Notification (PCN) is to protect the quality of service (QoS) of inelastic flows within a Diffserv domain in a simple, scalable, and robust fashion. This document defines the two metering and marking behaviours of PCN-nodes. Threshold-metering and -marking marks all PCN-packets if the rate of PCN-traffic is greater than a configured rate ("PCN-threshold-rate"). Excess- traffic-metering and -marking marks a proportion of PCN-packets, such that the amount marked equals the rate of PCN-traffic in excess of a configured rate ("PCN-excess-rate"). The level of marking allows PCN-boundary-nodes to make decisions about whether to admit or terminate PCN-flows. [STANDARDS-TRACK]

Extracted elements (22)

design-rationale §B.2

Both threshold-meter and excess-traffic-meter MUST be implemented even when only two encoding states are available, to ensure equipment compatibility, remove a configuration option, and allow future deployment of full three-state encoding without hardware replacement.

qos

design-rationale §B.4

Dropping packets (not shaping or downgrading to a lower-priority BA) is the only permitted action for overloaded PCN links because shaping is unsuitable for real-time inelastic traffic and downgrading causes packet mis-ordering.

qos, realtime

design-rationale §B.1

Having competing-non-PCN-traffic in a PCN-domain is not advised because its unpredictable volume reduces the accuracy of PCN mechanisms and their ability to protect QoS. Where it exists, PCN-nodes should either include it in the meters or reduce the PCN reference rates to provide headroom.

qos, diffserv

design-rationale §B.6

Packet-size-independent marking is specified as SHOULD rather than MUST because it may be harder for some equipment to implement, and its absence has only moderate impact: flows with large packets become disproportionately likely to be terminated with the 'classic' token-bucket behaviour.

qos, congestion

design-rationale §B.4

Preferential dropping of excess-traffic-marked PCN-packets is a SHOULD rather than a MUST because other dropping behaviours may be preferable in specific circumstances (e.g., preferential dropping of unmarked packets with the 'marked flow' termination edge behaviour, or tail-dropping for implementation simplicity).

qos, congestion

design-rationale §B.6

The excess-traffic-meter SHOULD NOT re-meter already excess-traffic-marked packets in order to avoid over-termination at multiple bottlenecks in the PCN-domain; the behaviour is SHOULD NOT (rather than MUST NOT) because checking prior mark state may be harder to implement.

qos, congestion

design-rationale §B.5

The threshold-meter meters all PCN-packets including already-marked ones, unlike the excess-traffic-meter, because all packets must contribute to the admission-control decision about whether there is headroom for a new flow.

qos, congestion

interoperability-note §B.2

When only the baseline encoding of RFC 5696 is used (two states: PCN-marked and not-marked), a deployment must make a consistent domain-wide choice of whether PCN-marked is interpreted as excess-traffic-marked or threshold-marked.

qos, diffserv, ecn

normative-requirement §2.1 MUST NOT

A PCN-node MUST classify a packet as a competing-non-PCN-packet if it is not a PCN-packet and competes with PCN-packets for forwarding bandwidth on a link. Competing-non-PCN-packets MUST NOT be PCN-marked.

diffserv, ecn, qos

normative-requirement §2.3 MUST

A PCN-node MUST implement a threshold-meter equivalent to a token bucket with configured rate PCN-threshold-rate and bucket size BS_tm. If the token fill F_tm falls below a configured threshold depth, the meter signals that the packet is to be threshold-marked.

qos, congestion

normative-requirement §2.4 MUST

A PCN-node MUST implement an excess-traffic-meter. A PCN-packet SHOULD NOT be metered by it if already excess-traffic-marked on arrival or if the PCN-node drops the packet; otherwise the PCN-packet MUST be metered.

qos, congestion

normative-requirement §2.5 MUST NOT

A PCN-node MUST NOT PCN-mark a packet that is not a PCN-packet, change a non-PCN-packet into a PCN-packet, or change a PCN-packet into a non-PCN-packet.

qos, diffserv, ecn

normative-requirement §2.5 MUST

A PCN-packet MUST be marked by setting its encoding state as specified by the encoding scheme applicable to the PCN-domain. A consistent choice of encoding scheme MUST be made throughout a PCN-domain.

qos, diffserv, ecn

normative-requirement §1.1 MUST

A PCN-packet MUST be treated as a metered-packet by the threshold-meter and excess-traffic-meter functions. A competing-non-PCN-packet MAY also be treated as a metered-packet.

qos, congestion

normative-requirement §2.2 SHOULD

On all links in a PCN-domain, the dropping function MAY meter all metered-packets and drop them if the rate exceeds the allowed rate. If PCN-packets are dropped, excess-traffic-marked PCN-packets SHOULD be preferentially dropped.

qos, congestion

normative-requirement §2.4 SHOULD

The excess-traffic-meter SHOULD use packet-size-independent marking; if not implemented, it MUST use the 'classic' token-bucket metering behaviour where a packet is marked when the token bucket is empty (F_etm = 0).

qos, congestion

normative-requirement §2.2 SHOULD NOT

The PCN-node's excess-traffic-meter SHOULD NOT meter the PCN-packets that it drops, in order to avoid over-termination.

qos, congestion

protocol-element §1

A PCN-interior-node comprises four functional blocks: (1) a behaviour-aggregate (BA) classifier that identifies PCN-packets, (2) an optional dropper, (3) a threshold-meter, and (4) an excess-traffic-meter, whose results feed a marker that sets the encoding state of outgoing PCN-packets.

qos, diffserv, congestion

protocol-element §2.4

The excess-traffic-meter is a token bucket with configured rate PCN-excess-rate (bits/s) and maximum fill BS_etm (bits). For 'classic' mode, marking occurs when F_etm = 0; for 'packet-size-independent' mode, marking occurs when F_etm < 0 and no tokens are removed from a negative bucket.

qos, congestion

protocol-element §2.3

The threshold-meter is a token bucket with configured rate PCN-threshold-rate (bits/s), maximum fill BS_tm (bits), and an intermediate depth threshold (bits). F_tm is decremented by each metered-packet's size and refilled at PCN-threshold-rate; all PCN-packets, including already-marked ones, are metered.

qos, congestion

security-consideration §3

All PCN-nodes are assumed to be trusted for truthful PCN-metering and -marking. A rogue PCN-interior-node could mark all packets (blocking all admissions) or mark no packets (allowing pre-congestion to go unreported), undermining the entire QoS protection mechanism.

security, qos

security-consideration §3

PCN-interior-nodes are not flow-aware, which prevents security attacks targeting specific flows in the data plane such as denial-of-service or eavesdropping.

security, qos