rfc-9343

IPv6 Application of the Alternate-Marking Method

G. Fioccola, T. Zhou, M. Cociglio, F. Qin, R. Pang
date2022-12 streamIETF areaint wg6man statusPROPOSED STANDARD pages20 canonicalhttps://www.rfc-editor.org/rfc/rfc9343 doi10.17487/RFC9343
This document describes how the Alternate-Marking Method can be used as a passive performance measurement tool in an IPv6 domain. It defines an Extension Header Option to encode Alternate-Marking information in both the Hop-by-Hop Options Header and Destination Options Header.

Extracted elements (28)

design-rationale §2

A dedicated Hop-by-Hop or Destination Option was chosen over reusing an existing Extension Header, the IPv6 destination address, or the Flow Label. Reusing existing headers is non-optimized; using the destination address is expensive; using the Flow Label conflicts with load-distribution use (RFC 6438).

ip, measurement

design-rationale §5.3

FlowMonID is defined as 20 bits as a good compromise: it provides a low collision rate acceptable for most deployments and can be disambiguated by combining it with source and destination addresses. Reusing the IPv6 Flow Label was rejected because it may change en route and alters application forwarding intent.

ip, measurement

design-rationale §4

The three high-order bits of the AltMark Option Type are set to 000 (skip if unrecognized, data does not change en route) to minimize throughput impact on nodes that do not support the Option, ensuring measurement-unaware nodes simply ignore it without disrupting packet flow.

ip, measurement

interoperability-note §4

Hop-by-Hop Options are not strongly recommended by RFC 7045 and RFC 8200 in general; however, their use is justified here for OAM purposes. In practice, packets with Hop-by-Hop Options may be processed in the slow path or dropped by some implementations, a known deployment risk noted by the authors.

ip, measurement

interoperability-note §4

The AltMark Option can be used with Segment Routing over IPv6 (SRv6). When a Routing Header is present, Destination Options placed before the Routing Header are processed by each waypoint in the route list, enabling per-segment measurement.

ip, measurement

normative-requirement §5.3 MUST

A consistent approach MUST be used in the Alternate-Marking deployment to avoid mixing different identification methods; all nodes along the path SHOULD use the same mode for identification.

ip, measurement

normative-requirement §6 MUST

AltMark Option configuration MUST be secured in a way that authenticates authorized users and verifies the integrity of configuration procedures, and channels used to report flow statistics MUST be secured.

ip, measurement, security

normative-requirement §5.2 MAY

Delay metrics MAY be calculated using either the single-marking methodology (L bit only) or the double-marking methodology (L bit for loss, D bit for delay).

ip, measurement

normative-requirement §5.1 MUST

For packet loss measurement, clocks in different nodes MUST be synchronized to the same clock reference with an accuracy of +/- B/2 time units (where B is the fixed batch duration), and batch lengths MUST be chosen large enough to avoid clock-skew and network-delay artifacts.

ip, measurement, ntp

normative-requirement §2 MUST

Intermediate nodes and destination node MUST only read the marking values of the AltMark Option without modifying the Options Header; the source node is the only one that writes the Options Header.

ip, measurement

normative-requirement §5.3 RECOMMENDED

It is RECOMMENDED to use FlowMonID for identification in combination with source and destination addresses. This allows monitoring of 145 concurrent flows per host pair with 1% collision probability (pseudo-random) or 1,048,576 flows with a centralized controller.

ip, measurement

normative-requirement §1 MUST

The Alternate-Marking Method MUST be applied to IPv6 only in a controlled domain, as defined in Section 2.1.

ip, measurement

normative-requirement §3.1 MUST

The FlowMonID MUST be set pseudo-randomly by the source node or by a centralized controller.

ip, measurement

normative-requirement §5.3 MUST

The FlowMonID MUST only be used as a monitored flow identifier to determine a monitored flow within the measurement domain.

ip, measurement

normative-requirement §2.1 MUST

The IPv6 application of the Alternate-Marking Method MUST be deployed in a controlled domain, and an implementation MUST filter packets that carry Alternate-Marking data entering or leaving the controlled domain.

ip, measurement, security

normative-requirement §3.1 MUST

The three high-order bits of the AltMark Option Type MUST be set to 000, meaning nodes skip this Option if unrecognized and Option Data does not change en route.

ip, measurement

normative-requirement §2.1 RECOMMENDED

When multiple administrative domains are traversed, it is RECOMMENDED that they create a whole controlled domain by employing IPsec authentication and encryption or other VPN technology providing full packet confidentiality and integrity protection.

ip, measurement, vpn, ipsec, security

normative-requirement §5.2 MUST

When using the single-marking methodology for delay measurement, the D flag MUST be set to zero on transmit and ignored by monitoring points.

ip, measurement

protocol-element §4

The AltMark Option can be carried as either a Hop-by-Hop Options Header (readable by any configured node along the path) or a Destination Options Header (processed only by the destination, or by routing-header waypoints if placed before the Routing Header).

ip, measurement

protocol-element §3.1

The AltMark TLV is a 32-bit IPv6 Extension Header Option (Hop-by-Hop or Destination) carrying a 20-bit FlowMonID, a 1-bit Loss flag (L), a 1-bit Delay flag (D), and reserved bits. The Option Type is 0x12 (binary 000 10010).

ip, measurement

protocol-element §5.3

The Flow Monitoring Identification (FlowMonID) is a 20-bit field that identifies the monitored flow. It is distinct from the IPv6 Flow Label and is used solely for measurement correlation within the Alternate-Marking domain.

ip, measurement

protocol-element §5.2

Two delay measurement methodologies are defined: single-marking (uses only the L bit for both loss and delay via batch-boundary timestamps) and double-marking (L bit for loss batches, D bit marks specific packets for per-packet delay measurement).

ip, measurement

registry §7

IANA allocated Option Type 0x12 (binary act=00, chg=0, rest=10010) for 'AltMark' in the 'Destination Options and Hop-by-Hop Options' subregistry of the 'Internet Protocol Version 6 (IPv6) Parameters' registry.

ip, measurement, registry

security-consideration §6

An on-path attacker can modify the L/D flags or FlowMonID, insert or delete the AltMark Option, causing false loss/delay appearances or invalidating measurements. Mitigation requires deployment strictly within a controlled domain with boundary filtering of external packets carrying the AltMark Option.

ip, measurement, security

security-consideration §6

The Alternate-Marking method depends on time synchronization; attacking the time protocol (or GPS clock source) can compromise measurement integrity. RFC 7384 discusses time-protocol threats, and RFC 8915 Network Time Security is recommended as a mitigation.

ip, measurement, security, ntp

security-consideration §6

The AltMark Option fields could theoretically serve as a covert channel for an on-path observer. Deployment in a controlled domain reduces this risk by limiting the set of nodes with access to the marked traffic.

ip, measurement, security

security-consideration §6

The FlowMonID field can enable flow-tracking attacks, allowing an attacker to collect information about network paths. The marking bits alone are insufficient for single-point reconnaissance, but multi-point passive eavesdropping could yield performance data. Controlled-domain deployment mitigates these risks.

ip, measurement, security, privacy

wire-format §3.1

The AltMark Option data fields are 4 bytes (Opt Data Len = 4): bits 0–19 are the FlowMonID (20-bit unsigned integer), bit 20 is the L (Loss) flag, bit 21 is the D (Delay) flag, and bits 22–31 are Reserved (MUST be set to zero on transmission, ignored on receipt).

ip, measurement