| rfc9533.original | rfc9533.txt | |||
|---|---|---|---|---|
| IPPM Z. Li | Internet Engineering Task Force (IETF) Z. Li | |||
| Internet-Draft China Mobile | Request for Comments: 9533 China Mobile | |||
| Intended status: Standards Track T. Zhou | Category: Standards Track T. Zhou | |||
| Expires: 13 June 2024 Huawei | ISSN: 2070-1721 Huawei | |||
| J. Guo | J. Guo | |||
| ZTE Corp. | ZTE Corp. | |||
| G. Mirsky | G. Mirsky | |||
| Ericsson | Ericsson | |||
| R. Gandhi | R. Gandhi | |||
| Cisco | Cisco Systems, Inc. | |||
| 11 December 2023 | January 2024 | |||
| One-way/Two-way Active Measurement Protocol Extensions for Performance | One-Way and Two-Way Active Measurement Protocol Extensions for | |||
| Measurement on LAG | Performance Measurement on a Link Aggregation Group | |||
| draft-ietf-ippm-otwamp-on-lag-08 | ||||
| Abstract | Abstract | |||
| This document defines extensions to One-way Active Measurement | This document defines extensions to the One-Way Active Measurement | |||
| Protocol (OWAMP), and Two-way Active Measurement Protocol (TWAMP) to | Protocol (OWAMP) and the Two-Way Active Measurement Protocol (TWAMP) | |||
| implement performance measurement on every member link of a Link | to implement performance measurement on every member link of a Link | |||
| Aggregation Group (LAG). Knowing the measured metrics of each member | Aggregation Group (LAG). Knowing the measured metrics of each member | |||
| link of a LAG enables operators to enforce the performance based | link of a LAG enables operators to enforce the performance-based | |||
| traffic steering policy across the member links. | traffic steering policy across the member links. | |||
| 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. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | This document is a product of the Internet Engineering Task Force | |||
| Task Force (IETF). Note that other groups may also distribute | (IETF). It represents the consensus of the IETF community. It has | |||
| working documents as Internet-Drafts. The list of current Internet- | received public review and has been approved for publication by the | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | Information about the current status of this document, any errata, | |||
| and may be updated, replaced, or obsoleted by other documents at any | and how to provide feedback on it may be obtained at | |||
| time. It is inappropriate to use Internet-Drafts as reference | https://www.rfc-editor.org/info/rfc9533. | |||
| material or to cite them other than as "work in progress." | ||||
| This Internet-Draft will expire on 13 June 2024. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2024 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 2. Micro Session on LAG . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language | |||
| 3. Micro OWAMP Session . . . . . . . . . . . . . . . . . . . . . 4 | 2. Micro Sessions on a LAG | |||
| 3.1. Micro OWAMP-Control . . . . . . . . . . . . . . . . . . . 4 | 3. Micro OWAMP Session | |||
| 3.2. Micro OWAMP-Test . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Micro OWAMP-Control | |||
| 4. Micro TWAMP Session . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Micro OWAMP-Test | |||
| 4.1. Micro TWAMP-Control . . . . . . . . . . . . . . . . . . . 5 | 4. Micro TWAMP Session | |||
| 4.2. Micro TWAMP-Test . . . . . . . . . . . . . . . . . . . . 5 | 4.1. Micro TWAMP-Control | |||
| 4.2.1. Sender Packet Format and Content . . . . . . . . . . 5 | 4.2. Micro TWAMP-Test | |||
| 4.2.2. Sender Behavior . . . . . . . . . . . . . . . . . . . 7 | 4.2.1. Sender Packet Format and Content | |||
| 4.2.3. Reflector Packet Format and Content . . . . . . . . . 8 | 4.2.2. Sender Behavior | |||
| 4.2.4. Reflector Behavior . . . . . . . . . . . . . . . . . 11 | 4.2.3. Reflector Packet Format and Content | |||
| 5. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4.2.4. Reflector Behavior | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 5. Applicability | |||
| 6.1. Micro OWAMP-Control Command . . . . . . . . . . . . . . . 12 | 6. IANA Considerations | |||
| 6.2. Micro TWAMP-Control Command . . . . . . . . . . . . . . . 12 | 6.1. Micro OWAMP-Control Command | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 6.2. Micro TWAMP-Control Command | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Security Considerations | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8. References | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Acknowledgements | |||
| Authors' Addresses | ||||
| 1. Introduction | 1. Introduction | |||
| Link Aggregation Group (LAG), as defined in [IEEE802.1AX], provides | A Link Aggregation Group (LAG), as defined in [IEEE802.1AX], provides | |||
| mechanisms to combine multiple physical links into a single logical | mechanisms to combine multiple physical links into a single logical | |||
| link. This logical link offers higher bandwidth and better | link. This logical link offers higher bandwidth and better | |||
| resiliency, because if one of the physical member links fails, the | resiliency because, if one of the physical member links fails, the | |||
| aggregate logical link can continue to forward traffic over the | aggregate logical link can continue to forward traffic over the | |||
| remaining operational physical member links. | remaining operational physical member links. | |||
| Usually, when forwarding traffic over LAG, a hash-based mechanism is | Usually, when forwarding traffic over a LAG, a hash-based mechanism | |||
| used to load balance the traffic across the LAG member links. The | is used to load balance the traffic across the LAG member links. The | |||
| link delay might vary between member links because of different | link delay might vary between member links because of different | |||
| transport paths, especially when LAG is used in wide area network. | transport paths, especially when a LAG is used in a wide area | |||
| To provide low latency service for time sensitive traffic, we need to | network. To provide low-latency service for time-sensitive traffic, | |||
| explicitly steer the traffic across the LAG member links based on the | we need to explicitly steer the traffic across the LAG member links | |||
| link delay, loss and so on. That requires a solution to measure the | based on the link delay, loss, and so on. That requires a solution | |||
| performance metrics of every member link of a LAG. Hence, the | to measure the performance metrics of every member link of a LAG. | |||
| measured performance metrics can work together with layer 2 bundle | Hence, the measured performance metrics can work together with Layer | |||
| member link attributes advertisement [RFC8668] for traffic steering. | 2 bundle member link attributes advertisement [RFC8668] for traffic | |||
| steering. | ||||
| According to the classifications in [RFC7799], OWAMP [RFC4656] and | According to the classifications in [RFC7799], OWAMP [RFC4656] and | |||
| TWAMP [RFC5357] are active measurement methods, and they can | TWAMP [RFC5357] are active measurement methods, and they can | |||
| complement passive and hybrid methods. With either method, one test | complement passive and hybrid methods. With either method, one test | |||
| session over the LAG can measure the performance of a member link | session over the LAG can be used to measure the performance of a | |||
| with fixed five tuples. Or it can measure an average of some/all | member link using a specially constructed 5-tuple. The session can | |||
| member links of the LAG by varying the five tuples. However, without | be used to measure an average of some or all member links of the LAG | |||
| by varying one or more elements of that 5-tuple. However, without | ||||
| the knowledge of each member link, a test session cannot measure the | the knowledge of each member link, a test session cannot measure the | |||
| performance of every physical member link. | performance of every physical member link. | |||
| This document extends OWAMP and TWAMP to implement performance | This document extends OWAMP and TWAMP to implement performance | |||
| measurement on every member link of a LAG. It can provide the same | measurement on every member link of a LAG. It can provide the same | |||
| metrics as OWAMP and TWAMP can measure, such as delay, jitter and | metrics as OWAMP and TWAMP can measure, such as delay, jitter, and | |||
| packet loss. | packet loss. | |||
| 2. Micro Session on LAG | 1.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. Micro Sessions on a LAG | ||||
| This document addresses the scenario where a LAG directly connects | This document addresses the scenario where a LAG directly connects | |||
| two nodes. An example of this is in Figure 1, where the LAG | two nodes. An example of this is in Figure 1, where the LAG | |||
| consisting of four links connects nodes A and B. The goal is to | consisting of four links connects nodes A and B. The goal is to | |||
| measure the performance of each link of the LAG. | measure the performance of each link of the LAG. | |||
| +---+ +---+ | +---+ +---+ | |||
| | |-----------------------| | | | |-----------------------| | | |||
| | A |-----------------------| B | | | A |-----------------------| B | | |||
| | |-----------------------| | | | |-----------------------| | | |||
| | |-----------------------| | | | |-----------------------| | | |||
| +---+ +---+ | +---+ +---+ | |||
| Figure 1: Performance Measurement on LAG | Figure 1: Performance Measurement on a LAG | |||
| To measure the performance metrics of every member link of a LAG, | To measure the performance metrics of every member link of a LAG, | |||
| multiple sessions (one session for each member link) need to be | multiple sessions (one session for each member link) need to be | |||
| established between the two end points that are connected by the LAG. | established between the two endpoints that are connected by the LAG. | |||
| These sessions are called micro sessions in the remainder of this | These sessions are called "micro sessions" in the remainder of this | |||
| document. Although micro sessions are in fact OWAMP or TWAMP | document. Although micro sessions are in fact OWAMP or TWAMP | |||
| sessions established on member links of a LAG, test packets of micro | sessions established on member links of a LAG, test packets of micro | |||
| TWAMP sessions MUST carry member link information for validation. | TWAMP sessions MUST carry member link information for validation. | |||
| All micro sessions of a LAG share the same Sender IP Address and | All micro sessions of a LAG share the same Sender IP Address and | |||
| Receiver IP Address of the LAG. As for the UDP layer, the micro | Receiver IP Address. As for the UDP port, the micro sessions may | |||
| sessions may share the same Sender Port and Receiver Port pair, or | share the same Sender Port and Receiver Port pair or each micro | |||
| each micro session is configured with a different Sender Port and | session may be configured with a different Sender Port and Receiver | |||
| Receiver Port pair. But from the operational point of view, the | Port pair. From the operational point of view, the former is simpler | |||
| former is simpler and is RECOMMENDED. | and is RECOMMENDED. | |||
| Test packets of a micro session MUST carry the member link | Test packets of a micro session MUST carry the member link | |||
| information for validation check. For example, when a micro TWAMP | information for validation checks. For example, when a micro TWAMP | |||
| Session-Sender receives a reflected test packet, it checks whether | Session-Sender receives a reflected test packet, it checks whether | |||
| the test packet is from the expected member link. | the test packet is from the expected member link. | |||
| 3. Micro OWAMP Session | 3. Micro OWAMP Session | |||
| 3.1. Micro OWAMP-Control | 3.1. Micro OWAMP-Control | |||
| To support the micro OWAMP session, a new command, Request-OW-Micro- | To support the micro OWAMP session, a new command, Request-OW-Micro- | |||
| Sessions (TBD1), is defined in this document. The Request-OW-Micro- | Sessions (5), is defined in this document. The Request-OW-Micro- | |||
| Sessions command is based on the OWAMP Request-Session command, and | Sessions command is based on the OWAMP Request-Session command and | |||
| uses the message format as described in Section 3.5 of OWAMP | uses the message format as described in Section 3.5 of [RFC4656]. | |||
| [RFC4656]. Test session creation of micro OWAMP session follows the | Test session creation of micro OWAMP sessions follows the same | |||
| same procedure as defined in Section 3.5 of OWAMP [RFC4656] with the | procedure as defined in Section 3.5 of [RFC4656] with the following | |||
| following additions: | additions: | |||
| When an OWAMP Server receives a Request-OW-Micro-Sessions command, if | When an OWAMP Server receives a Request-OW-Micro-Sessions command, if | |||
| the request is accepted, the OWAMP Server MUST build a set of micro | the request is accepted, the OWAMP Server MUST build a set of micro | |||
| sessions for all the member links of the LAG from which the Request- | sessions for all the member links of the LAG from which the Request- | |||
| OW-Micro-Sessions message is received. | OW-Micro-Sessions message is received. | |||
| 3.2. Micro OWAMP-Test | 3.2. Micro OWAMP-Test | |||
| Micro OWAMP-Test reuses the OWAMP-Test packet format and procedures | Micro OWAMP-Test reuses the OWAMP-Test packet format and procedures | |||
| as defined in Section 4 of OWAMP [RFC4656] with the following | as defined in Section 4 of [RFC4656] with the following additions: | |||
| additions: | ||||
| The micro OWAMP Session-Sender MUST send the micro OWAMP-Test packets | The micro OWAMP Session-Sender MUST send the micro OWAMP-Test packets | |||
| over the member link with which the session is associated. When it | over the member link with which the session is associated. When it | |||
| receives a test packet, the micro OWAMP Session-Receiver MUST use the | receives a test packet, the micro OWAMP Session-Receiver MUST use the | |||
| member link from which the test packet is received to correlate the | member link from which the test packet is received to correlate the | |||
| micro OWAMP session. If there is no such a session, the Test packet | micro OWAMP session. If there is no such session, the test packet | |||
| MUST be discarded. | MUST be discarded. | |||
| 4. Micro TWAMP Session | 4. Micro TWAMP Session | |||
| 4.1. Micro TWAMP-Control | 4.1. Micro TWAMP-Control | |||
| To support the micro TWAMP session, a new command, Request-TW-Micro- | To support the micro TWAMP session, a new command, Request-TW-Micro- | |||
| Sessions (TBD2), is defined in this document. The Request-TW-Micro- | Sessions (11), is defined in this document. The Request-TW-Micro- | |||
| Sessions command is based on the TWAMP Request-Session command, and | Sessions command is based on the TWAMP Request-Session command and | |||
| uses the message format as described in Section 3.5 of TWAMP | uses the message format as described in Section 3.5 of [RFC5357]. | |||
| [RFC5357]. Test session creation of micro TWAMP session follows the | Test session creation of micro TWAMP sessions follows the same | |||
| same procedure as defined in Section 3.5 of TWAMP [RFC5357] with the | procedure as defined in Section 3.5 of [RFC5357] with the following | |||
| following additions: | additions: | |||
| When a TWAMP Server receives a Request-TW-Micro-Sessions command, if | When a TWAMP Server receives a Request-TW-Micro-Sessions command, if | |||
| the request is accepted, the TWAMP Server MUST build a set of micro | the request is accepted, the TWAMP Server MUST build a set of micro | |||
| sessions for all the member links of the LAG from which the Request- | sessions for all the member links of the LAG from which the Request- | |||
| TW-Micro-Sessions message is received. | TW-Micro-Sessions message is received. | |||
| 4.2. Micro TWAMP-Test | 4.2. Micro TWAMP-Test | |||
| The micro TWAMP-Test protocol is based on the TWAMP-Test protocol | The micro TWAMP-Test protocol is based on the TWAMP-Test protocol | |||
| [RFC5357] with the following extensions. | [RFC5357] with the extensions described in the following subsections. | |||
| 4.2.1. Sender Packet Format and Content | 4.2.1. Sender Packet Format and Content | |||
| The micro TWAMP Session-Sender packet format is based on the TWAMP | The micro TWAMP Session-Sender packet format is based on the TWAMP | |||
| Session-Sender packet format as defined in Section 4.1.2 of | Session-Sender packet format as defined in Section 4.1.2 of | |||
| [RFC5357]. Two new fields (Sender Micro-session ID and Reflector | [RFC5357]. Two new fields (Sender Micro-session ID and Reflector | |||
| Micro-session ID) are added to carry the LAG member link identifiers. | Micro-session ID) are added to carry the LAG member link identifiers. | |||
| For unauthenticated mode, the format is as below: | For unauthenticated mode, the format is as below: | |||
| skipping to change at page 6, line 25 ¶ | skipping to change at line 241 ¶ | |||
| | Sender Micro-session ID | Reflector Micro-session ID | | | Sender Micro-session ID | Reflector Micro-session ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: Micro Session-Sender Packet Format in Unauthenticated Mode | Figure 2: Micro Session-Sender Packet Format in Unauthenticated Mode | |||
| For authenticated mode, the format is as below: | For authenticated and encrypted mode, the format is as below: | |||
| 0 1 2 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sequence Number | | | Sequence Number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| | MBZ (12 octets) | | | MBZ (12 octets) | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 7, line 7 ¶ | skipping to change at line 272 ¶ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: Micro Session-Sender Packet Format in Authenticated Mode | Figure 3: Micro Session-Sender Packet Format in Authenticated Mode | |||
| Except for the Sender/Reflector Micro-session ID field, all the other | Except for the Sender Micro-session ID field and the Reflector Micro- | |||
| fields are the same as defined in Section 4.1.2 of TWAMP [RFC5357], | session ID field, all the other fields are the same as defined in | |||
| which is defined in Section 4.1.2 of OWAMP [RFC4656]. Therefore, it | Section 4.1.2 of [RFC5357] and follow the procedure and guidelines | |||
| follows the same procedure and guidelines as defined in Section 4.1.2 | defined therein. | |||
| of TWAMP [RFC5357]. | ||||
| * Sender Micro-session ID (2-octets in length): It is now defined to | Sender Micro-session ID (2 octets in length): This field is defined | |||
| carry the LAG member link identifier of the Sender side. In the | to carry the LAG member link identifier of the Sender side. In | |||
| future, it may be used generically to cover use-cases beyond LAG. | the future, it may be used generically to cover use cases beyond | |||
| The value of this field MUST be unique within a TWAMP session at | LAGs. The value of this field MUST be unique within a TWAMP | |||
| the Session-Sender. | session at the Session-Sender. | |||
| * Reflector Micro-session ID (2-octets in length): It is now defined | Reflector Micro-session ID (2 octets in length): This field is | |||
| to carry the LAG member link identifier of the Reflector side. In | defined to carry the LAG member link identifier of the Reflector | |||
| the future, it may be used generically to cover use-cases beyond | side. In the future, it may be used generically to cover use | |||
| LAG. The value of this field MUST be unique within a TWAMP | cases beyond LAGs. The value of this field MUST be unique within | |||
| session at the Session-Reflector. | a TWAMP session at the Session-Reflector. | |||
| 4.2.2. Sender Behavior | 4.2.2. Sender Behavior | |||
| The micro TWAMP Session-Sender inherits the behaviors of the TWAMP | The micro TWAMP Session-Sender inherits the behaviors of the TWAMP | |||
| Session-Sender as defined in Section 4.1 of [RFC5357]. In addition, | Session-Sender as defined in Section 4.1 of [RFC5357]. In addition, | |||
| the micro TWAMP Session-Sender MUST send the micro Session-Sender | the micro TWAMP Session-Sender MUST send the micro Session-Sender | |||
| test packets over the member link with which the session is | test packets over the member link with which the session is | |||
| associated. | associated. | |||
| When sending the test packet, the micro TWAMP Session-Sender MUST put | When sending the test packet, the micro TWAMP Session-Sender MUST put | |||
| the Sender member link identifier that is associated with the micro | the Sender member link identifier that is associated with the micro | |||
| TWAMP session in the Sender Micro-session ID. If the Session-Sender | TWAMP session in the Sender Micro-session ID. If the Session-Sender | |||
| knows the Reflector member link identifier, the Reflector Micro- | knows the Reflector member link identifier, the Reflector Micro- | |||
| session ID field (see Figure 2 and Figure 3) MUST be set. Otherwise, | session ID field (see Figures 2 and 3) MUST be set. Otherwise, the | |||
| the Reflector Micro-session ID field MUST be zero. | Reflector Micro-session ID field MUST be zero. | |||
| A test packet with Sender member link identifier is sent to the | A test packet with a Sender member link identifier is sent to the | |||
| Session-Reflector, and then is reflected with the same Sender member | Session-Reflector and then is reflected with the same Sender member | |||
| link identifier. So the Session-Sender can use the Sender member | link identifier. So the Session-Sender can use the Sender member | |||
| link identifier to check whether a reflected test packet is received | link identifier to check whether a reflected test packet is received | |||
| from the member link associated with the correct micro TWAMP session. | from the member link associated with the correct micro TWAMP session. | |||
| The Reflector member link identifier carried in the Reflector Micro- | The Reflector member link identifier carried in the Reflector Micro- | |||
| session ID field is used by the Session-Reflector to check whether a | session ID field is used by the Session-Reflector to check whether a | |||
| test packet is received from the member link associated with the | test packet is received from the member link associated with the | |||
| correct micro TWAMP session. It means that the Session-Sender has to | correct micro TWAMP session. It means that the Session-Sender has to | |||
| learn the Reflector member link identifier. Once the Session-Sender | learn the Reflector member link identifier. Once the Session-Sender | |||
| knows the Reflector member link identifier, it MUST put the | knows the Reflector member link identifier, it MUST put the | |||
| identifier in the Reflector Micro-session ID field (see Figure 2 or | identifier in the Reflector Micro-session ID field (see Figures 2 or | |||
| Figure 3) of the test packets that will be sent to the Session- | 3) of the test packets that will be sent to the Session-Reflector. | |||
| Reflector. The Reflector member link identifier can be obtained from | The Reflector member link identifier can be obtained from | |||
| pre-configuration or learned from the data plane (e.g., the reflected | preconfiguration or learned from the data plane (e.g., the reflected | |||
| test packet). This document does not specify the way to obtain the | test packet). This document does not specify the way to obtain the | |||
| Reflector member link identifier. | Reflector member link identifier. | |||
| When receiving a reflected test packet, the micro TWAMP Session- | When receiving a reflected test packet, the micro TWAMP Session- | |||
| Sender MUST use the receiving member link to correlate the reflected | Sender MUST use the receiving member link to correlate the reflected | |||
| test packet to a micro TWAMP session. If there is no such a session, | test packet to a micro TWAMP session. If there is no such session, | |||
| the reflected test packet MUST be discarded. If a matched session | the reflected test packet MUST be discarded. If a matched session | |||
| exists, the micro Session-Sender MUST use the Sender Micro-session ID | exists, the micro Session-Sender MUST use the Sender Micro-session ID | |||
| to validate whether the reflected test packet is correctly received | to validate whether the reflected test packet is correctly received | |||
| from the expected member link. If the validation fails, the test | from the expected member link. If the validation fails, the test | |||
| packet MUST be discarded. The micro Session-Sender MUST use the | packet MUST be discarded. The micro Session-Sender MUST use the | |||
| Reflector Micro-session ID to validate the Reflector's behavior. If | Reflector Micro-session ID to validate the Reflector's behavior. If | |||
| the validation fails, the test packet MUST be discarded. | the validation fails, the test packet MUST be discarded. | |||
| 4.2.3. Reflector Packet Format and Content | 4.2.3. Reflector Packet Format and Content | |||
| The micro TWAMP Session-Reflector packet format is based on the TWAMP | The micro TWAMP Session-Reflector packet format is based on the TWAMP | |||
| Session-Reflector packet format as defined in Section 4.2.1 of | Session-Reflector packet format as defined in Section 4.2.1 of | |||
| [RFC5357]. Two new fields (Sender and Reflector Micro-session ID) | [RFC5357]. Two new fields (Sender and Reflector Micro-session ID) | |||
| are added to carry the LAG member link identifiers. | are added to carry the LAG member link identifiers. | |||
| For unauthenticated mode, the format is as below: | For unauthenticated mode, the format is as below: | |||
| 0 1 2 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sequence Number | | | Sequence Number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Timestamp | | | Timestamp | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Error Estimate | MBZ | | | Error Estimate | MBZ | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Receive Timestamp | | | Receive Timestamp | | |||
| | | | | | | |||
| skipping to change at page 9, line 37 ¶ | skipping to change at line 375 ¶ | |||
| | | | | | | |||
| . . | . . | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: Micro Session-Reflector Packet Format in | Figure 4: Micro Session-Reflector Packet Format in | |||
| Unauthenticated Mode | Unauthenticated Mode | |||
| For authenticated mode, the format is as below: | For authenticated and encrypted mode, the format is as below: | |||
| 0 1 2 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sequence Number | | | Sequence Number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MBZ (12 octets) | | | MBZ (12 octets) | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Timestamp | | | Timestamp | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 10, line 44 ¶ | skipping to change at line 431 ¶ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: Micro Session-Reflector Packet Format in Authenticated Mode | Figure 5: Micro Session-Reflector Packet Format in Authenticated Mode | |||
| Except for the Sender/Reflector Micro-session ID field, all the other | Except for the Sender Micro-session ID field and the Reflector Micro- | |||
| fields are the same as defined in Section 4.2.1 of TWAMP [RFC5357]. | session ID field, all the other fields are the same as defined in | |||
| Therefore, it follows the same procedure and guidelines as defined in | Section 4.2.1 of [RFC5357] and follow the same procedure and | |||
| Section 4.2.1 of TWAMP [RFC5357]. | guidelines defined therein. | |||
| * Sender Micro-session ID (2-octets in length): It is now defined to | Sender Micro-session ID (2 octets in length): This field is defined | |||
| carry the LAG member link identifier of the Sender side. In the | to carry the LAG member link identifier of the Sender side. In | |||
| future, it may be used generically to cover use-cases beyond LAG. | the future, it may be used generically to cover use cases beyond | |||
| The value of this field MUST be unique within a TWAMP session at | LAGs. The value of this field MUST be unique within a TWAMP | |||
| the Session-Sender. | session at the Session-Sender. | |||
| * Reflector Micro-session ID (2-octets in length): It is now defined | Reflector Micro-session ID (2 octets in length): This field is | |||
| to carry the LAG member link identifier of the Reflector side. In | defined to carry the LAG member link identifier of the Reflector | |||
| the future, it may be used generically to cover use-cases beyond | side. In the future, it may be used generically to cover use | |||
| LAG. The value of this field MUST be unique within a TWAMP | cases beyond LAGs. The value of this field MUST be unique within | |||
| session at the Session-Reflector. | a TWAMP session at the Session-Reflector. | |||
| 4.2.4. Reflector Behavior | 4.2.4. Reflector Behavior | |||
| The micro TWAMP Session-Reflector inherits the behaviors of a TWAMP | The micro TWAMP Session-Reflector inherits the behaviors of a TWAMP | |||
| Session-Reflector as defined in Section 4.2 of [RFC5357]. | Session-Reflector as defined in Section 4.2 of [RFC5357]. | |||
| In addition, when receiving a test packet, the micro TWAMP Session- | In addition, when receiving a test packet, the micro TWAMP Session- | |||
| Reflector MUST use the receiving member link to correlate the test | Reflector MUST use the receiving member link to correlate the test | |||
| packet to a micro TWAMP session. If there is no such a session, the | packet to a micro TWAMP session. If there is no such a session, the | |||
| test packet MUST be discarded. If the Reflector Micro-session ID is | test packet MUST be discarded. If the Reflector Micro-session ID is | |||
| not zero, the Reflector MUST use the Reflector Micro-session ID to | not zero, the Reflector MUST use the Reflector Micro-session ID to | |||
| validate whether it associates with the receiving member link. If | validate whether it associates with the receiving member link. If | |||
| the Reflector Micro-session ID is zero, it will not be verified. If | the Reflector Micro-session ID is zero, it will not be verified. If | |||
| the validation fails, the test packet MUST be discarded. | the validation fails, the test packet MUST be discarded. | |||
| When sending a response to the received test packet, the micro TWAMP | When sending a response to the received test packet, the micro TWAMP | |||
| Session-Reflector MUST copy the Sender member link identifier from | Session-Reflector MUST copy the Sender member link identifier from | |||
| the received test packet and put it in the Sender Micro-session ID | the received test packet and put it in the Sender Micro-session ID | |||
| field of the reflected test packet (see Figure 4 and Figure 5). In | field of the reflected test packet (see Figures 4 and 5). In | |||
| addition, the micro TWAMP Session-Reflector MUST fill the Reflector | addition, the micro TWAMP Session-Reflector MUST fill the Reflector | |||
| Micro-session ID field (see Figure 4 and Figure 5) of the reflected | Micro-session ID field (see Figures 4 and 5) of the reflected test | |||
| test packet with the member link identifier that is associated with | packet with the member link identifier that is associated with the | |||
| the micro TWAMP session. | micro TWAMP session. | |||
| 5. Applicability | 5. Applicability | |||
| To set up the micro OWAMP sessions, the Control-Client firstly sends | To set up the micro OWAMP sessions, the Control-Client sends the | |||
| the Request-OW-Micro-Sessions command to the OWAMP Server. The OWAMP | Request-OW-Micro-Sessions command to the OWAMP Server. The OWAMP | |||
| Server accepts the request, and builds a set of micro sessions for | Server accepts the request and builds a set of micro sessions for all | |||
| all the member links of the LAG. | the member links of the LAG. | |||
| For micro TWAMP sessions, the similar set up procedure as micro OWAMP | For micro TWAMP sessions, a similar set up procedure is used. Then, | |||
| sessions is used. Then the micro TWAMP Session-Sender sends micro | the micro TWAMP Session-Sender sends micro Session-Sender packets | |||
| Session-Sender packets with the Sender Micro-session ID and the | with the Sender Micro-session ID and the Reflector Micro-session ID. | |||
| Reflector Micro-session ID. The micro Session-Reflector checks | If the Reflector Micro-session ID field is set, the micro Session- | |||
| whether a test packet is received from the member link associated | Reflector checks whether a test packet is received from the member | |||
| with the correct micro TWAMP session, if the Reflector Micro-session | link associated with the correct micro TWAMP session. When | |||
| ID field is set. When reflecting, the micro TWAMP Session-Reflector | reflecting, the micro TWAMP Session-Reflector copies the Sender | |||
| copies the Sender Micro-session ID from the received micro Session- | Micro-session ID from the received micro Session-Sender packet to the | |||
| Sender packet to the micro Session-Reflector packet, and sets the | micro Session-Reflector packet; then, it sets the Reflector Micro- | |||
| Reflector Micro-session ID field with the member link identifier that | session ID field with the member link identifier that is associated | |||
| is associated with the micro TWAMP session. When receiving the micro | with the micro TWAMP session. When receiving the micro TWAMP | |||
| TWAMP Session-Reflector packet, the micro Session-Sender uses the | Session-Reflector packet, the micro Session-Sender uses the Sender | |||
| Sender Micro-session ID to check whether the packet is received from | Micro-session ID to check whether the packet is received from the | |||
| the member link associated with the correct micro TWAMP session. The | member link associated with the correct micro TWAMP session. The | |||
| micro Session-Sender also uses the Reflector Micro-session ID to | micro Session-Sender also uses the Reflector Micro-session ID to | |||
| validate the Reflector's behavior. | validate the Reflector's behavior. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| 6.1. Micro OWAMP-Control Command | 6.1. Micro OWAMP-Control Command | |||
| This document requires the IANA to allocate the following command | IANA has allocated the following command type from the "OWAMP-Control | |||
| type from OWAMP-Control Command Number Registry. | Command Numbers" registry. | |||
| Value Description Semantics Definition | +=======+===========================+===============+ | |||
| TBD1 Request-OW-Micro-Sessions This document, Section 3.1 | | Value | Description | Reference | | |||
| +=======+===========================+===============+ | ||||
| | 5 | Request-OW-Micro-Sessions | This document | | ||||
| +-------+---------------------------+---------------+ | ||||
| Table 1: Request-OW-Micro-Sessions Command Number | ||||
| 6.2. Micro TWAMP-Control Command | 6.2. Micro TWAMP-Control Command | |||
| This document requires the IANA to allocate the following command | IANA has allocated the following command type from the "TWAMP-Control | |||
| type from TWAMP-Control Command Number Registry. | Command Numbers" registry. | |||
| Value Description Semantics Definition | +=======+===========================+===============+ | |||
| TBD2 Request-TW-Micro-Sessions This document, Section 4.1 | | Value | Description | Reference | | |||
| +=======+===========================+===============+ | ||||
| | 11 | Request-TW-Micro-Sessions | This document | | ||||
| +-------+---------------------------+---------------+ | ||||
| Table 2: Request-TW-Micro-Sessions Command Number | ||||
| 7. Security Considerations | 7. Security Considerations | |||
| This document does not introduce additional security requirements and | This document does not introduce additional security requirements and | |||
| mechanisms other than those described in [RFC4656], and [RFC5357]. | mechanisms other than those described in [RFC4656] and [RFC5357]. | |||
| 8. Acknowledgements | ||||
| The authors would like to thank Fang Xin, Henrik Nydell, Mach Chen, | ||||
| Min Xiao, Jeff Tantsura, Marcus Ihlar, Richard Foote for the valuable | ||||
| comments to this work. | ||||
| 9. References | 8. References | |||
| 9.1. Normative References | 8.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M. | [RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M. | |||
| Zekauskas, "A One-way Active Measurement Protocol | Zekauskas, "A One-way Active Measurement Protocol | |||
| (OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006, | (OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006, | |||
| <https://www.rfc-editor.org/info/rfc4656>. | <https://www.rfc-editor.org/info/rfc4656>. | |||
| skipping to change at page 13, line 24 ¶ | skipping to change at line 556 ¶ | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, | [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, | |||
| M., and E. Aries, "Advertising Layer 2 Bundle Member Link | M., and E. Aries, "Advertising Layer 2 Bundle Member Link | |||
| Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, | Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, | |||
| December 2019, <https://www.rfc-editor.org/info/rfc8668>. | December 2019, <https://www.rfc-editor.org/info/rfc8668>. | |||
| 9.2. Informative References | 8.2. Informative References | |||
| [IEEE802.1AX] | [IEEE802.1AX] | |||
| IEEE Std. 802.1AX, "IEEE Standard for Local and | IEEE, "IEEE Standard for Local and Metropolitan Area | |||
| metropolitan area networks - Link Aggregation", November | Networks -- Link Aggregation", IEEE Std 802.1AX-2020, | |||
| 2008. | DOI 10.1109/IEEESTD.2020.9105034, May 2020, | |||
| <https://ieeexplore.ieee.org/document/9105034>. | ||||
| [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with | [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with | |||
| Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, | Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, | |||
| May 2016, <https://www.rfc-editor.org/info/rfc7799>. | May 2016, <https://www.rfc-editor.org/info/rfc7799>. | |||
| [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, | Acknowledgements | |||
| A., and P. Mattes, "Segment Routing Policy Architecture", | ||||
| RFC 9256, DOI 10.17487/RFC9256, July 2022, | The authors would like to thank Fang Xin, Henrik Nydell, Mach Chen, | |||
| <https://www.rfc-editor.org/info/rfc9256>. | Min Xiao, Jeff Tantsura, Marcus Ihlar, and Richard Foote for the | |||
| valuable comments to this work. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Zhenqiang Li | Zhenqiang Li | |||
| China Mobile | China Mobile | |||
| No. 29 Finance Avenue, Xicheng District | No. 29 Finance Avenue | |||
| Xicheng District | ||||
| Beijing | Beijing | |||
| China | China | |||
| Email: li_zhenqiang@hotmail.com | Email: li_zhenqiang@hotmail.com | |||
| Tianran Zhou | Tianran Zhou | |||
| Huawei | Huawei | |||
| China | China | |||
| Email: zhoutianran@huawei.com | Email: zhoutianran@huawei.com | |||
| Jun Guo | Jun Guo | |||
| ZTE Corp. | ZTE Corp. | |||
| China | China | |||
| Email: guo.jun2@zte.com.cn | Email: guo.jun2@zte.com.cn | |||
| Greg Mirsky | Greg Mirsky | |||
| Ericsson | Ericsson | |||
| United States of America | United States of America | |||
| Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com | |||
| Rakesh Gandhi | Rakesh Gandhi | |||
| Cisco | Cisco Systems, Inc. | |||
| Canada | Canada | |||
| Email: rgandhi@cisco.com | Email: rgandhi@cisco.com | |||
| End of changes. 58 change blocks. | ||||
| 196 lines changed or deleted | 202 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||