rfc-9533

One-Way and Two-Way Active Measurement Protocol Extensions for Performance Measurement on a Link Aggregation Group

Z. Li, T. Zhou, J. Guo, G. Mirsky, R. Gandhi
date2024-01 streamIETF areaops wgippm statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc9533 doi10.17487/RFC9533
This document defines extensions to the One-Way Active Measurement Protocol (OWAMP) and the Two-Way Active Measurement Protocol (TWAMP) to implement performance measurement on every member link of a Link Aggregation Group (LAG). Knowing the measured metrics of each member link of a LAG enables operators to enforce the performance-based traffic steering policy across the member links.

Extracted elements (24)

design-rationale §1

A LAG uses hash-based load balancing across member links, but link delay may vary between members due to different transport paths. To support low-latency service for time-sensitive traffic, per-link performance measurement is needed to enable explicit traffic steering based on delay and loss metrics.

measurement

design-rationale §4.2.2

The Reflector Micro-session ID in sender packets allows the Session-Reflector to validate that test packets arrive on the correct member link. The Session-Sender must learn this identifier via preconfiguration or from data plane observation (e.g., reflected test packets); the document intentionally does not specify the discovery mechanism.

measurement

design-rationale §4.2.1

The Sender Micro-session ID and Reflector Micro-session ID fields are defined to carry LAG member link identifiers but are explicitly noted as potentially reusable 'generically to cover use cases beyond LAGs' in the future, providing forward extensibility without over-specifying the mechanism.

measurement

interoperability-note §3.2

Micro OWAMP-Test reuses the OWAMP-Test packet format and procedures from RFC 4656 Section 4 without modification to existing fields; micro TWAMP-Test similarly reuses RFC 5357 formats, adding only the two new micro-session ID fields while keeping all other fields identical to the base protocol.

measurement

normative-requirement §2 MUST

Test packets of micro TWAMP sessions MUST carry member link information for validation. The sharing of the same Sender Port and Receiver Port pair across micro sessions is RECOMMENDED as the simpler operational choice.

measurement

normative-requirement §3.2 MUST

The micro OWAMP Session-Sender MUST send micro OWAMP-Test packets over the member link with which the session is associated. When the micro OWAMP Session-Receiver receives a test packet, it MUST use the receiving member link to correlate the micro OWAMP session; if no session matches, the packet MUST be discarded.

measurement

normative-requirement §4.2.2 MUST

The micro TWAMP Session-Sender MUST send micro Session-Sender test packets over the member link associated with the session. When sending, the Sender Micro-session ID MUST carry the sender member link identifier; if the reflector link identifier is known, the Reflector Micro-session ID MUST be set, otherwise it MUST be zero.

measurement

normative-requirement §4.1 MUST

When a TWAMP Server receives a Request-TW-Micro-Sessions command and accepts it, the TWAMP Server MUST build a set of micro sessions for all the member links of the LAG from which the command was received.

measurement

normative-requirement §3.1 MUST

When an OWAMP Server receives a Request-OW-Micro-Sessions command and accepts the request, it MUST build a set of micro sessions for all the member links of the LAG from which the command was received.

measurement

normative-requirement §4.2.4 MUST

When receiving a test packet, the micro TWAMP Session-Reflector MUST use the receiving member link to correlate the packet to a micro TWAMP session and MUST discard it if no session is found. If Reflector Micro-session ID is non-zero, the Reflector MUST validate it against the receiving member link and MUST discard the packet if validation fails.

measurement

normative-requirement §4.2.4 MUST

When sending a reflected test packet, the micro TWAMP Session-Reflector MUST copy the Sender Micro-session ID from the received packet into the reflected packet's Sender Micro-session ID field, and MUST fill the Reflector Micro-session ID field with the member link identifier associated with the micro TWAMP session.

measurement

normative-requirement §4.2.2 MUST

When the micro TWAMP Session-Sender receives a reflected test packet, it MUST use the receiving member link to correlate to a micro TWAMP session (discard if none found), MUST validate the Sender Micro-session ID (discard on failure), and MUST validate the Reflector Micro-session ID (discard on failure).

measurement

protocol-element §3.1

A new OWAMP control command, Request-OW-Micro-Sessions (command value 5), is defined to request creation of micro sessions. It is based on the OWAMP Request-Session command format defined in RFC 4656 Section 3.5.

measurement, registry

protocol-element §4.1

A new TWAMP control command, Request-TW-Micro-Sessions (command value 11), is defined to request creation of micro TWAMP sessions. It is based on the TWAMP Request-Session command format defined in RFC 5357 Section 3.5.

measurement, registry

protocol-element §2

Micro sessions are OWAMP or TWAMP sessions established one per member link of a LAG, allowing measurement of performance metrics on every physical member link. All micro sessions of a LAG share the same Sender IP Address and Receiver IP Address.

measurement

protocol-element §4.2.1

Reflector Micro-session ID is a 2-octet field carrying the LAG member link identifier of the Reflector side. Its value MUST be unique within a TWAMP session at the Session-Reflector. It may be used generically beyond LAGs in the future.

measurement

protocol-element §4.2.1

Sender Micro-session ID is a 2-octet field carrying the LAG member link identifier of the Sender side. Its value MUST be unique within a TWAMP session at the Session-Sender. It may be used generically beyond LAGs in the future.

measurement

registry §6.2

IANA has allocated command value 11 (Request-TW-Micro-Sessions) in the 'TWAMP-Control Command Numbers' registry, defined by this document to initiate micro TWAMP session creation on a LAG.

registry, measurement

registry §6.1

IANA has allocated command value 5 (Request-OW-Micro-Sessions) in the 'OWAMP-Control Command Numbers' registry, defined by this document to initiate micro OWAMP session creation on a LAG.

registry, measurement

security-consideration §7

This document does not introduce additional security requirements or mechanisms beyond those already described in OWAMP (RFC 4656) and TWAMP (RFC 5357). Existing security provisions of those protocols apply to micro sessions.

security, measurement

wire-format §4.2.3

The micro TWAMP Session-Reflector packet (authenticated/encrypted mode) places Sender Micro-session ID (2 octets) and Reflector Micro-session ID (2 octets) together in a dedicated row after the Error Estimate and MBZ fields, before the Receive Timestamp and subsequent HMAC (16 octets).

measurement

wire-format §4.2.3

The micro TWAMP Session-Reflector packet (unauthenticated mode) inserts Sender Micro-session ID (2 octets) in place of part of the Sender Error Estimate row and Reflector Micro-session ID (2 octets) after Sender TTL and MBZ, replacing what was previously a contiguous MBZ field.

measurement

wire-format §4.2.1

The micro TWAMP Session-Sender packet (authenticated/encrypted mode) adds Sender Micro-session ID (2 octets) and Reflector Micro-session ID (2 octets) after the Error Estimate and MBZ fields, before the HMAC (16 octets) and Packet Padding.

measurement

wire-format §4.2.1

The micro TWAMP Session-Sender packet (unauthenticated mode) extends the standard TWAMP sender format with two new 2-octet fields: Sender Micro-session ID and Reflector Micro-session ID, placed after the Error Estimate and MBZ fields and before Packet Padding.

measurement