IPPM Working Group R. Gandhi, Ed. Internet-Draft Cisco Systems, Inc. Intended status: Standards Track P. Schoenmaker Expires: 18 October 2025 Meta Platforms, Inc. 16 April 2025 Simple Two-Way Active Measurement Protocol (STAMP) Extensions for Bit Error Detection and Bit Error Rate Measurement draft-gandhi-ippm-stamp-ber-00 Abstract The Simple Two-Way Active Measurement Protocol (STAMP), as defined in RFC 8762, along with its optional extensions specified in RFC 8972, can be utilized for active measurement. This document further augments the STAMP extensions specified in RFC 8972 to enable the detection of bit errors and the measurement of the bit error rate (BER) within the "Extra Padding Data" of STAMP packets. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 18 October 2025. Copyright Notice Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved. Gandhi & Schoenmaker Expires 18 October 2025 [Page 1] Internet-Draft STAMP for Bit Error Rate April 2025 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 2.3. STAMP Reference Topology . . . . . . . . . . . . . . . . 4 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. STAMP Procedure . . . . . . . . . . . . . . . . . . . . . . . 5 4.1. STAMP Session-Sender . . . . . . . . . . . . . . . . . . 6 4.2. STAMP Session-Reflector . . . . . . . . . . . . . . . . . 6 4.3. Considerations for Link Aggregation Group . . . . . . . . 7 5. STAMP Extensions . . . . . . . . . . . . . . . . . . . . . . 7 5.1. Bit Pattern in Padding Data STAMP TLV . . . . . . . . . . 7 5.2. Bit Error Count in Padding Data STAMP TLV . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 8.2. Informative References . . . . . . . . . . . . . . . . . 9 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 1. Introduction The Simple Two-Way Active Measurement Protocol (STAMP) is designed to measure various performance metrics in IP networks without relying on a control channel to pre-signal session parameters, as specified in [RFC8762]. STAMP test packets are sent between a Session-Sender and a Session-Reflector to measure delay and packet loss along the path. [RFC8972] introduces optional extensions for STAMP in the form of Type-Length-Value (TLV) objects, including the capability to transmit "Extra Padding Data" within STAMP test packets. Networks may experience transmission bit errors due to various factors, such as poor fiber quality. The bit error can be a single bit error or a burst of bit errors at a time. It is beneficial to detect bit errors and measure the bit error rate (BER) using active Gandhi & Schoenmaker Expires 18 October 2025 [Page 2] Internet-Draft STAMP for Bit Error Rate April 2025 measurement packets between two nodes. For accurate bit error detection, transmitting large-sized active measurement packets is preferable, especially on links with low bit error rates. Furthermore, there is a need to transmit test packets at a high rate to detect bit errors on high-capacity links. The STAMP test packets use a UDP header with a checksum field that may be used for checking the integrity of the header and data. The UDP checksum is optional for the IPv4 header and may be set to 0 for the IPv6 header for the STAMP destination UDP port. However, the checksum field does not provide an accurate measurement of bit errors. Authenticated mode provides data integrity protection for the STAMP test packets by adding a Hashed Message Authentication Code (HMAC), such as HMAC-SHA-256 [RFC8762]. However, the authenticated mode does not provide an accurate measurement of bit errors. In addition, the HMAC TLV defined in [RFC8972] for authenticating STAMP TLVs does not include checking the "Extra Padding Data" TLV. This document further augments the STAMP extensions defined in [RFC8972] to enable the detection of bit errors and the measurement of BER within the "Extra Padding Data" of STAMP packets. 2. Conventions Used in This Document 2.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2.2. Abbreviations BER: Bit Error Rate MTU: Maximum Transmission Unit STAMP: Simple Two-way Active Measurement Protocol TLV: Type-Length-Value Gandhi & Schoenmaker Expires 18 October 2025 [Page 3] Internet-Draft STAMP for Bit Error Rate April 2025 2.3. STAMP Reference Topology In the "STAMP Reference Topology" shown in Figure 1, the STAMP Session-Sender S1 initiates Session-Sender test packets, and the STAMP Session-Reflector R1 transmits reply Session-Reflector test packets. T1 is a transmit timestamp, and T4 is a receive timestamp added by node S1. T2 is a receive timestamp, and T3 is a transmit timestamp added by node R1. T1 T2 / \ +-------+ Test Packet +-------+ | | - - - - - - - - - - - - - - - ->| | | S1 |==================================| R1 | | |<- - - - - - - - - - - - - - - - | | +-------+ Reply Test Packet +-------+ \ / T4 T3 STAMP Session-Sender STAMP Session-Reflector Figure 1: STAMP Reference Topology 3. Overview The optional extensions for STAMP test packets [RFC8762] are defined in [RFC8762] in the form of TLVs. The Session-Sender transmits optional STAMP TLVs, and the Session-Reflector reflects all received STAMP TLVs from the Session-Sender test packets. [RFC8972] defines an optional TLV extension specifically for transmitting "Extra Padding Data" (Type=1) in the STAMP test packets. The "Extra Padding Data" can be filled using either a predefined fixed pattern or a random pattern of bits [RFC8972]. This document defines a procedure to detect bit errors within the "Extra Padding Data" TLV. The process involves the Session-Sender transmitting the extra padding data filled with a predefined bit pattern. The Session-Reflector then checks for bit errors by comparing the received data against the predefined bit pattern. This allows for the detection of a single bit error or a burst of bit errors and the accurate measurement of the bit error rate. The Session-Reflector does not discard the STAMP test packet with bit errors but instead reflects it back to the Session-Sender after correcting the errors. The Session-Reflector also returns the bit error count to the Session-Sender. Gandhi & Schoenmaker Expires 18 October 2025 [Page 4] Internet-Draft STAMP for Bit Error Rate April 2025 Bit errors can be detected in both the forward and reverse directions between the Session-Sender and the Session-Reflector using the procedure and extensions defined in this document. The bit error rate is computed as the ratio of the number of bit errors detected to the number of bits transmitted in the extra padding data. As specified in [RFC8972], the Session-Sender and Session-Reflector test packets are symmetric in size. The Session-Sender and Session- Reflector MUST ensure that the resulting test packets do not exceed the path MTU after adding the STAMP TLVs. Note that the procedure and extensions defined in this document does not detect bit errors in the base STAMP packets, packet headers, and STAMP TLVs other than the "Extra Padding Data" TLV. 4. STAMP Procedure This document defines two TLV options for STAMP: "Bit Pattern in Padding Data" STAMP TLV (Type=TBA1) and "Bit Error Count in Padding Data" STAMP TLV (Type=TBA2). An example of STAMP test packet used for detecting bit errors is shown in Figure 2 using "Extra Padding Data" TLV, "Bit Pattern in Padding Data" STAMP TLV, and "Bit Error Count in Padding Data" STAMP TLV. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STAMP Packet RFC 8972 | . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |STAMP TLV Flags| Type=1 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Extra Padding ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |STAMP TLV Flags| Type=TBA1 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Bit Pattern in Padding Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |STAMP TLV Flags| Type=TBA2 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bit Error Count in Padding Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Example STAMP Packet to Detect Bit Errors Gandhi & Schoenmaker Expires 18 October 2025 [Page 5] Internet-Draft STAMP for Bit Error Rate April 2025 4.1. STAMP Session-Sender When a STAMP Session-Sender is set up to detect bit errors and measure bit error rate, it adds the STAMP TLVs for "Extra Padding Data" (Type=1), "Bit Error Count in Padding Data" (Type=TBA2), and optionally, "Bit Pattern in Padding Data" (Type=TBA1) in Session- Sender test packets. The Session-Sender MUST add the "Extra Padding Data" STAMP TLV [RFC8972] when it adds the "Bit Pattern in Padding Data" STAMP TLV to the Session-Sender test packets. The variable-length data in the "Bit Pattern in Padding Data" STAMP TLV MUST contain the bit pattern employed in the "Extra Padding Data" STAMP TLV. It is RECOMMENDED to have the length of the extra padding data as an integer multiple of the length of the Bit Pattern to ease implementation. The Session-Sender MUST also add the "Extra Padding Data" STAMP TLV [RFC8972] when it adds the "Bit Error Count in Padding Data" STAMP TLV in the Session-Sender test packets. The data in the Bit Error Count STAMP TLV MUST be set to 0. The bit pattern employed in the extra padding data can be locally configured on the Session-Reflector. In that case, the "Bit Pattern in Padding Data" STAMP TLV need not be transmitted in the STAMP test packets. However, the "Bit Error Count in Padding Data" STAMP TLV MUST be transmitted to reflect the detected bit error counts. 4.2. STAMP Session-Reflector When the Session-Reflector receives a STAMP test packet with a "Bit Pattern in Padding Data" STAMP TLV, the Session-Reflector that supports this TLV MUST check the extra padding data against the bit pattern to detect any bits that do not match the bit pattern and count them as bit errors. When the Session-Reflector receives a STAMP test packet with a "Bit Error Count in Padding Data" STAMP TLV, the Session-Reflector that supports this STAMP TLV MUST check the "Extra Padding Data" against the expected bit pattern, either in the received test packet or the local configuration, to detect if there are any bits not matching the bit pattern and count them as bit errors. The Session-Reflector updates the count of bit errors in the received "Bit Error Count in Padding Data" TLV and reflects the TLV back to the Session-Sender. If no bit errors are detected, the bit error count remains as 0 in the reflected "Bit Error Count in Padding Data" TLV. Gandhi & Schoenmaker Expires 18 October 2025 [Page 6] Internet-Draft STAMP for Bit Error Rate April 2025 The Session-Reflector corrects the bit errors in the "Extra Padding Data" STAMP TLV by matching the bit pattern and reflects the corrected "Extra Padding Data" TLV to the Session-Sender. The corrected "Extra Padding Data" is used to detect bit errors in the reverse direction. If the Session-Reflector receives a STAMP test packet with a "Bit Pattern in Padding Data" TLV or a "Bit Error Count in Padding Data" TLV without the "Extra Padding Data" TLV, it MUST set the U flag (Unrecognized) in the STAMP TLV Flags in the reflected STAMP packet for those STAMP TLVs. Editor's Note: We could define a new TLV Flag "Non-consistent message" for handling this condition. 4.3. Considerations for Link Aggregation Group Networks may experience transmission bit errors differently for different link members in a Link Aggregation Group (LAG). The STAMP extensions for LAG are defined in [RFC9534]. The procedure and extensions defined in this document are equally applicable for detecting bit errors in each individual LAG member link by creating a separate micro-session for each link, as defined in [RFC9534]. 5. STAMP Extensions 5.1. Bit Pattern in Padding Data STAMP TLV The "Bit Pattern in Padding Data" STAMP TLV is optional and is carried by Session-Sender and Session-Reflector test packets. The format of the TLV is shown in Figure 3. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |STAMP TLV Flags| Type=TBA1 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ~ Bit Pattern in Padding Data ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Bit Pattern in Padding Data STAMP TLV The TLV fields are defined as follows: Type: Type (value TBA1) STAMP TLV Flags: The STAMP TLV Flags follow the procedures described in [RFC8972]. Gandhi & Schoenmaker Expires 18 October 2025 [Page 7] Internet-Draft STAMP for Bit Error Rate April 2025 Length: A two-octet field equal to the length of the Data in octets. 5.2. Bit Error Count in Padding Data STAMP TLV The "Bit Error Count in Padding Data" STAMP TLV is optional and is carried by Session-Sender and Session-Reflector test packets. The format of the TLV is shown in Figure 4. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |STAMP TLV Flags| Type=TBA2 | Length=4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bit Error Count in Padding Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 4: Bit Error Count in Padding Data STAMP TLV The TLV fields are defined as follows: Type: Type (value TBA2) STAMP TLV Flags: The STAMP TLV Flags follow the procedures described in [RFC8972]. Length: A two-octet field set to 4 for the Data. 6. Security Considerations The security considerations specified in [RFC8762], [RFC8972], [RFC9534] apply to the procedure and extensions defined in this document. 7. IANA Considerations IANA has created the "STAMP TLV Types" registry for [RFC8972]. IANA is requested to allocate a value for the "Bit Pattern in Padding Data" TLV Type and a value for the "Bit Error Count in Padding Data" TLV Type from the IETF Review TLV range of the same registry. Gandhi & Schoenmaker Expires 18 October 2025 [Page 8] Internet-Draft STAMP for Bit Error Rate April 2025 +=======+=================================+===============+ | Value | Description | Reference | +=======+=================================+===============+ | TBA1 | Bit Pattern in Padding Data | This document | +-------+---------------------------------+---------------+ | TBA2 | Bit Error Count in Padding Data | This document | +-------+---------------------------------+---------------+ Table 1: STAMP TLV Types 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8762] Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple Two-Way Active Measurement Protocol", RFC 8762, DOI 10.17487/RFC8762, March 2020, . [RFC8972] Mirsky, G., Min, X., Nydell, H., Foote, R., Masputra, A., and E. Ruffini, "Simple Two-Way Active Measurement Protocol Optional Extensions", RFC 8972, DOI 10.17487/RFC8972, January 2021, . 8.2. Informative References [RFC9534] Li, Z., Zhou, T., Guo, J., Mirsky, G., and R. Gandhi, "Simple Two-Way Active Measurement Protocol Extensions for Performance Measurement on a Link Aggregation Group", RFC 9534, DOI 10.17487/RFC9534, January 2024, . Acknowledgments The authors would like to thank Ianik Semco and Miloslav Kopka for the discussions on the bit error rate measurements. Gandhi & Schoenmaker Expires 18 October 2025 [Page 9] Internet-Draft STAMP for Bit Error Rate April 2025 Authors' Addresses Rakesh Gandhi (editor) Cisco Systems, Inc. Canada Email: rgandhi@cisco.com Peter Schoenmaker Meta Platforms, Inc. United Kingdom Email: psch@meta.com Gandhi & Schoenmaker Expires 18 October 2025 [Page 10]