rfc-3246

An Expedited Forwarding PHB (Per-Hop Behavior)

B. Davie, A. Charny, J.C.R. Bennet, K. Benson, J.Y. Le Boudec, W. Courtney, S. Davari, V. Firoiu, D. Stiliadis
date2002-03 streamIETF areatsv wgdiffserv statusPROPOSED STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc3246 doi10.17487/RFC3246
This document defines a PHB (per-hop behavior) called Expedited Forwarding (EF). The PHB is a basic building block in the Differentiated Services architecture. EF is intended to provide a building block for low delay, low jitter and low loss services by ensuring that the EF aggregate is served at a certain configured rate. This document obsoletes RFC 2598. [STANDARDS-TRACK]

obsoletes

Extracted elements (25)

design-rationale §2.4

E_p can optionally be decomposed into E_fixed (minimum fixed delay through the node) plus E_variable to enable tighter jitter bounds; without decomposition, the delay bound D = B/R + E_p also serves as the jitter bound since minimum delay >= 0.

diffserv, qos, realtime

design-rationale §2.2

E_p may be specified as 'undefined' for schedulers performing non-FIFO intra-aggregate scheduling (e.g., per-microflow scheduling within EF). For such implementations, providing a meaningful worst-case bound on individual packet delay that holds for any traffic pattern may not be feasible.

diffserv, qos

design-rationale §2.5

Loss conformance is handled by an off-line test: lost packets are notionally removed from the input stream, and the equations are verified against the packets that successfully traversed the node. This avoids the impossibility of requiring conformance for packets that never departed.

diffserv, qos

design-rationale §1.1

RFC 3246 replaces RFC 2598 primarily by adding mathematical formalism to give a more rigorous definition. The original EF definition lacked equations that could be used to bound the delay of an individual EF packet; the new equations address this deficiency. Full rationale is in RFC 3247.

diffserv, qos

design-rationale §2.2

The formal definition uses two sets of equations: 'aggregate behavior' (eq_1/eq_2), which are packet-identity-unaware and describe service to the EF aggregate, and 'packet-identity-aware' (eq_3/eq_4), which enable bounding the delay of an individual EF packet. Both characterize a single device's behavior, not two modes.

diffserv, qos

design-rationale §2.2

The 'last bit' of a packet is defined to include the layer-2 trailer (if present) for both arrival time a_j/A_j and departure time d_j/D_j, because a packet cannot generally be considered available for forwarding until such a trailer has been received.

diffserv, qos, ip

interoperability-note §Appendix

A Differentiated Services domain may provide multiple instances of EF simultaneously. Each instance must independently satisfy the Section 2.2 equations. E_a and E_p values per instance depend heavily on the scheduler implementation: multi-level priority schedulers may yield large error terms for lower-priority EF instances, while WFQ-like schedulers preserve smaller error terms.

diffserv, qos

interoperability-note §Appendix

A weighted round-robin scheduler implementing EF will typically not support R values as high as link speed, because the maximum EF service rate in the presence of competing traffic is bounded by the number of other queues and their weights. Its E_a is also typically higher than a strict priority queue implementation.

diffserv, qos

normative-requirement §2.2 MUST

A node supporting EF MUST also satisfy the packet-identity-aware equations: D_j <= F_j + E_p (eq_3), where F_j = max(A_j, min(D_{j-1}, F_{j-1})) + L_j/R (eq_4). Unlike eq_1/eq_2, these track individual packet departure times rather than aggregate ordering.

diffserv, qos

normative-requirement §2.2 MUST

A node supporting EF on interface I at configured rate R MUST satisfy the aggregate behavior equations: d_j <= f_j + E_a (eq_1), where f_j = max(a_j, min(d_{j-1}, f_{j-1})) + l_j/R (eq_2). These equations bound actual departure times against ideal departure times.

diffserv, qos

normative-requirement §2.2 MUST

An EF-compliant node MUST be able to be characterized by the range of possible R values it can support on each interface while conforming to the aggregate equations, and the value of E_a that can be met. E_a MAY be specified as a worst-case value for all R or as a function of R.

diffserv, qos

normative-requirement §2.2 SHOULD

An EF-compliant node SHOULD be able to be characterized by the range of R values and the value of E_p that can be met on each interface. E_p MAY be specified as worst-case, as a function of R, or as 'undefined' for schedulers where a meaningful bound cannot be provided.

diffserv, qos

normative-requirement §2.7 RECOMMENDED

DSCP codepoint 101110 is RECOMMENDED for the EF PHB.

diffserv, qos, ip

normative-requirement §2.10 MUST

If the EF PHB is implemented by a mechanism allowing unlimited preemption of other traffic (e.g., a strict priority queue), the implementation MUST include some means to limit the damage EF traffic could inflict on other traffic (e.g., a token bucket rate limiter). Traffic exceeding this limit MUST be discarded, and the maximum EF rate and burst size MUST be settable by a network administrator.

diffserv, qos, security

normative-requirement §2.5 MUST

In the event that packet loss occurs, those packets not lost MUST conform to the equations of Section 2.2. Conformance is tested off-line by removing lost packets from the input stream and verifying the remaining arrival/departure sequences satisfy eq_1 through eq_4.

diffserv, qos

normative-requirement §2.6 SHOULD NOT

Packets belonging to a single microflow within the EF aggregate passing through a device SHOULD NOT experience re-ordering in normal operation.

diffserv, qos

normative-requirement §2.8 SHOULD NOT

Packets marked for EF PHB MAY be remarked at a DS domain boundary only to other codepoints that satisfy the EF PHB. Packets marked for EF SHOULD NOT be demoted or promoted to another PHB by a DS domain.

diffserv, qos

normative-requirement §2.10 MUST

The EF aggregate service equations of Section 2.2 MUST hold for a node independent of the amount of non-EF traffic offered to it.

diffserv, qos

normative-requirement §1 MUST

When a DS-compliant node claims to implement the EF PHB, the implementation MUST conform to the specification given in this document. However, the EF PHB is NOT REQUIRED to be implemented in order for a node to be considered DS-compliant.

diffserv, qos

normative-requirement §2.9 SHOULD

When EF packets are tunneled, the tunneling packets SHOULD be marked as EF.

diffserv, qos, ip

protocol-element §2.4

The delay bound for EF traffic leaving a node interface is D = B/R + E_p (eq_5), where R is the configured EF service rate and B is the token bucket depth bounding the offered EF load at rate r <= R. Since minimum delay >= 0, D also bounds jitter.

diffserv, qos, realtime

protocol-element §2.2

The EF PHB is characterized by two error terms: E_a (aggregate error term, worst-case deviation between actual and ideal departure time for the EF aggregate) and E_p (per-packet error term, worst-case deviation for an individually tracked EF packet). E_p >= E_a typically.

diffserv, qos

registry §4

This document allocates DSCP codepoint 101110 in Pool 1 of the code space defined by RFC 2474 for the EF PHB.

registry, diffserv, ip

security-consideration §3 SHOULD

To protect against denial-of-service attacks, the edge of a DS domain SHOULD strictly police all EF-marked packets to a negotiated rate, dropping excess packets. If two adjacent domains have not negotiated an EF rate, the downstream domain SHOULD use 0 as the rate (i.e., drop all EF-marked packets).

diffserv, security, qos

security-consideration §3 MUST

Traffic conditioning at the ingress of a DS domain MUST ensure that only packets whose DSCPs correspond to EF when entering the domain are marked with an EF DSCP inside the domain. This protects against theft-of-service and DoS attacks exploiting unmarked or miscoded DSCPs.

diffserv, security, qos