| < draft-li-ippm-otwamp-on-lag-01.txt | draft-li-ippm-otwamp-on-lag-02.txt > | |||
|---|---|---|---|---|
| Network Working Group Z. Li | Network Working Group Z. Li | |||
| Internet-Draft China Mobile | Internet-Draft China Mobile | |||
| Intended status: Standards Track M. Chen | Intended status: Standards Track T. Zhou | |||
| Expires: February 12, 2022 Huawei | Expires: 28 July 2022 Huawei | |||
| G. Mirsky | J. Guo | |||
| ZTE Corp. | ZTE Corp. | |||
| August 11, 2021 | G. Mirsky | |||
| Ericsson | ||||
| R. Gandhi | ||||
| Cisco | ||||
| 24 January 2022 | ||||
| One-way/Two-way Active Measurement Protocol Extensions for Performance | One-way/Two-way Active Measurement Protocol Extensions for Performance | |||
| Measurement on LAG | Measurement on LAG | |||
| draft-li-ippm-otwamp-on-lag-01 | draft-li-ippm-otwamp-on-lag-02 | |||
| Abstract | Abstract | |||
| This document defines extensions to One-way Active Measurement | This document defines extensions to One-way Active Measurement | |||
| Protocol (OWAMP), and Two-way Active Measurement Protocol (TWAMP) to | Protocol (OWAMP), and Two-way Active Measurement Protocol (TWAMP) to | |||
| implement performance measurement on every member link of a Link | 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 a performance metric-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 | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| [RFC2119] [RFC8174] when, and only when, they appear in all capitals, | [RFC2119] [RFC8174] when, and only when, they appear in all capitals, | |||
| as shown here. | as shown here. | |||
| skipping to change at page 1, line 46 ¶ | skipping to change at page 2, line 4 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 28 July 2022. | ||||
| This Internet-Draft will expire on February 12, 2022. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 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 | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Revised BSD License text as | |||
| include Simplified BSD License text as described in Section 4.e of | described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Revised BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Micro Session on LAG . . . . . . . . . . . . . . . . . . . . 3 | 2. Micro Session on LAG . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Mirco OWAMP Session . . . . . . . . . . . . . . . . . . . . . 4 | 3. Mirco OWAMP Session . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. Micro OWAMP-Control . . . . . . . . . . . . . . . . . . . 4 | 3.1. Micro OWAMP-Control . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.2. Micro OWAMP-Test . . . . . . . . . . . . . . . . . . . . 4 | 3.2. Micro OWAMP-Test . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Mirco TWAMP Session . . . . . . . . . . . . . . . . . . . . . 5 | 4. Mirco TWAMP Session . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.1. Micro TWAMP-Control . . . . . . . . . . . . . . . . . . . 5 | 4.1. Micro TWAMP-Control . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.2. Micro TWAMP-Test . . . . . . . . . . . . . . . . . . . . 5 | 4.2. Micro TWAMP-Test . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4.2.1. Sender Behavior . . . . . . . . . . . . . . . . . . . 5 | 4.2.1. Sender Packet Format and Content . . . . . . . . . . 5 | |||
| 4.2.2. Reflector Behavior . . . . . . . . . . . . . . . . . 8 | 4.2.2. Sender Behavior . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 4.2.3. Reflector Packet Format and Content . . . . . . . . . 8 | |||
| 5.1. Mico OWAMP-Control Command . . . . . . . . . . . . . . . 12 | 4.2.4. Reflector Behavior . . . . . . . . . . . . . . . . . 11 | |||
| 5.2. Mico TWAMP-Control Command . . . . . . . . . . . . . . . 12 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1. Mico OWAMP-Control Command . . . . . . . . . . . . . . . 11 | ||||
| 5.2. Mico TWAMP-Control Command . . . . . . . . . . . . . . . 11 | ||||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References . . . . . . . . . . . . . . . . . 12 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 1. Problem Statement | 1. Introduction | |||
| Link Aggregation Group (LAG), as defined in [IEEE802.1AX], provides | 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 a LAG, a hash-based or similar | Usually, when forwarding traffic over LAG, the hash-based mechanism | |||
| mechanism is used to load balance the traffic across the LAG member | is used to load balance the traffic across the LAG member links. | |||
| links. In some cases, the link delays of the member links are | Link delay of each member link varies because of different transport | |||
| different because they are over different transport paths. To | paths. To provide low latency service for time sensitive traffic, we | |||
| provide low delay service to time sensitive traffic, we have to know | need to explicitly steer the traffic across the LAG member links | |||
| the link delay of each member link of a LAG and then steer traffic | based on the link delay, loss and so on. That requires a solution to | |||
| accordingly. That requires a solution that could measure the | measure the performance metrics of every member link of a LAG. | |||
| performance metrics of each member link of a LAG. | ||||
| However, when using One-way Active Measurement Protocol (OWAMP) | ||||
| [RFC4656], or Two-way Active Measurement Protocol (TWAMP) [RFC5357] | ||||
| to measure the performance of a LAG, the LAG is treated as a single | ||||
| logical link/path. The measured metrics reflect the performance of | ||||
| one member link or an average of some/all member links of the LAG. | ||||
| In addition, for LAG, using passive or hybrid methods (like | OWAMP [RFC4656] and TWAMP [RFC5357] are two active measurement | |||
| alternative marking[RFC8321] or iOAM [I-D.ietf-ippm-ioam-data]) can | methods according to the classification given in RFC7799 [RFC7799]. | |||
| only monitor the link crossed by traffic. It means that the measured | With both methods, running a single test session over the aggregation | |||
| metrics reflect the performance of some member links or an average of | without the knowledge of each member link would make it impossible to | |||
| some/all member links of the LAG. Therefore, in order to measure | measure the performance of a given physical member link. The | |||
| every link of a LAG, using active methods would be more appropriate. | measured metrics can only reflect the performance of one member link | |||
| or an average of some/all member links of the LAG. | ||||
| This document defines extensions to OWAMP [RFC4656], and TWAMP | This document extends OWAMP and TWAMP to implement performance | |||
| [RFC5357] to implement performance measurement on every member link | measurement on every member link of a LAG. The proposed method could | |||
| of a LAG. | also potentially apply to layer 3 ECMP (Equal Cost Multi-Path), e.g., | |||
| with SR-Policy [I-D.ietf-spring-segment-routing-policy]. | ||||
| 2. Micro Session on LAG | 2. Micro Session on LAG | |||
| This document intends to address the scenario (e.g., Figure 1) where | This document intends to address the scenario (e.g., Figure 1) where | |||
| a LAG (e.g., the LAG includes three member links) directly connects | a LAG (e.g., the LAG includes three member links) directly connects | |||
| two nodes (A and B) . The goal is to measure the performance of each | two nodes (A and B) . The goal is to measure the performance of each | |||
| link of the LAG. | link of the LAG. | |||
| +---+ +---+ | +---+ +---+ | |||
| | |-----------------------| | | | |-----------------------| | | |||
| | A |-----------------------| B | | | A |-----------------------| B | | |||
| | |-----------------------| | | | |-----------------------| | | |||
| +---+ +---+ | +---+ +---+ | |||
| Figure 1: PM for LAG | Figure 1: PM for LAG | |||
| To measure 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 hosts that are connected by the LAG. | established between the two end points that are connected by the LAG. | |||
| These sessions are called micro sessions for the remainder of this | These sessions are called micro sessions in the remainder of this | |||
| document. | document. | |||
| All micro sessions of a LAG share the same Sender Address, Receiver | The micro sessions need to correlate with the corresponding member | |||
| Address. As for the Sender Port and Receiver Port, the micro | links. For example, when the Server/Reflector/Receiver receives a | |||
| sessions may share the same Sender Port and Receiver Port pair, or | Control or Test packet, it needs to know from which member link the | |||
| each micro session is configured with a different Sender Port and | packet is received, and correlate it with a micro session. | |||
| Receiver Port pair. But from simplifying operation point of view, | ||||
| the former is recommended. | ||||
| In addition, with micro sessions, there needs a way to correlate a | All micro sessions of a LAG share the same Sender IP Address and | |||
| session with a member link. For example, when the Server/Reflector/ | Receiver IP Address. As for the UDP Port, the micro sessions may | |||
| Receiver receives a Control or Test packet, it needs to know from | share the same Sender Port and Receiver Port pair, or each micro | |||
| which member link the packet is received, and correlate it with a | session is configured with a different Sender Port and Receiver Port | |||
| micro session. This is different from the existing OWAMP [RFC4656], | pair. But from the operational point of view, the former is simpler | |||
| or TWAMP [RFC5357] | and is recommended. | |||
| This document defines new command types to indicate that a session is | This document defines new command types to indicate that a session is | |||
| a micro session. The details are described in Sections 3 and 4 of | a micro session. The details are described in Sections 3 and 4 of | |||
| this document. Upon receiving a Control/Test packet, the receiver | this document. Upon receiving a Control/Test packet, the receiver | |||
| uses the receiving link's identifier to correlate the packet to a | uses the receiving link's identifier to correlate the packet to a | |||
| particular micro session. In addition, Test packets may need to | particular micro session. In addition, Test packets may need to | |||
| carry the member link information for validation checking. For | carry the member link information for validation checking. For | |||
| example, when a Session-Sender receives a Test packet, it may need to | example, when a Session-Sender receives a Test packet, it may need to | |||
| check whether the Test packet is from the expected member link. | check whether the Test packet is from the expected member link. | |||
| 3. Mirco OWAMP Session | 3. Mirco OWAMP Session | |||
| This document assumes that the OWAMP Server and the OWAMP Receiver of | This document assumes that the OWAMP Server and the OWAMP Receiver of | |||
| an OWAMP micro session are at the same host. | an OWAMP micro session are at the same end point. | |||
| 3.1. Micro OWAMP-Control | 3.1. Micro OWAMP-Control | |||
| To support the micro OWAMP session, a new command, referred to as | To support the micro OWAMP session, a new command, Request-OW-Micro- | |||
| Request-OW-Micro-Session (TBD1), is defined in this document. The | Session (TBD1), is defined in this document. The Request-OW-Micro- | |||
| Request-OW-Micro-Session command is based on the OWAMP Request- | Session command is based on the OWAMP Request-Session command, and | |||
| Session command, and uses the message format as described in | uses the message format as described in Section 3.5 of OWAMP | |||
| Section 3.5 of OWAMP [RFC4656]. Test session creation of micro OWAMP | [RFC4656]. Test session creation of micro OWAMP session follows the | |||
| session follows the same procedure as defined in Section 3.5 of OWAMP | same procedure as defined in Section 3.5 of OWAMP [RFC4656] with the | |||
| [RFC4656] with the following additions: | following additions: | |||
| When a OWAMP Server receives a Request-OW-Micro-Session command, if | When a OWAMP Server receives a Request-OW-Micro-Session command, if | |||
| the Session is accepted, the OWAMP Server MUST build an association | the Session is accepted, the OWAMP Server MUST build an association | |||
| between the session and the member link from which the Request- | between the session and the member link from which the Request- | |||
| Session message is received. | Session 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 OWAMP [RFC4656] with the following | |||
| skipping to change at page 5, line 12 ¶ | skipping to change at page 5, line 8 ¶ | |||
| The micro OWAMP Sender MUST send the micro OWAMP-Test packets over | The micro OWAMP Sender MUST send the micro OWAMP-Test packets over | |||
| the member link with which the session is associated. When receives | the member link with which the session is associated. When receives | |||
| a Test packet, the micro OWAMP receiver MUST use the member link from | a Test packet, the micro OWAMP receiver MUST use the member link from | |||
| which the Test packet is received to correlate the micro OWAMP | which the Test packet is received to correlate the micro OWAMP | |||
| session. If there is no such a session, the Test packet MUST be | session. If there is no such a session, the Test packet MUST be | |||
| discarded. | discarded. | |||
| 4. Mirco TWAMP Session | 4. Mirco TWAMP Session | |||
| As above, this document assumes that the TWAMP Server and the TWAMP | As above, this document assumes that the TWAMP Server and the TWAMP | |||
| Session-Reflector of a micro OWAMP session are at the same host. | Session-Reflector of a micro OWAMP session are at the same end point. | |||
| 4.1. Micro TWAMP-Control | 4.1. Micro TWAMP-Control | |||
| To support the micro TWAMP session, a new command, referred to as | To support the micro TWAMP session, a new command, Request-TW-Micro- | |||
| Request-TW-Micro-Session (TBD2), is defined in this document. The | Session (TBD2), is defined in this document. The Request-TW-Micro- | |||
| Request-TW-Micro-Session command is based on the TWAMP Request- | Session command is based on the TWAMP Request-Session command, and | |||
| Session command, and uses the message format as described in | uses the message format as described in Section 3.5 of TWAMP | |||
| Section 3.5 of TWAMP [RFC5357]. Test session creation of micro TWAMP | [RFC5357]. Test session creation of micro TWAMP session follows the | |||
| session follows the same procedure as defined in Section 3.5 of TWAMP | same procedure as defined in Section 3.5 of TWAMP [RFC5357] with the | |||
| [RFC5357] with the following additions: | following additions: | |||
| When a micro TWAMP Server receives a Request-TW-Micro-Session | When a micro TWAMP Server receives a Request-TW-Micro-Session | |||
| command, if the micro TWAMP Session is accepted, the micro TWAMP | command, if the micro TWAMP Session is accepted, the micro TWAMP | |||
| Server MUST build an association between the session and the member | Server MUST build an association between the session and the member | |||
| link from which the Request-Session message is received. | link from which the Request-Session 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 following extensions. | |||
| 4.2.1. Sender Behavior | 4.2.1. Sender Packet Format and Content | |||
| In addition to inheriting the TWAMP sender behavior as defined | ||||
| Section 4.1 of [RFC5357], the micro TWAMP Session-Sender MUST send | ||||
| the micro TWAMP-Test packets over the member link with which the | ||||
| session is associated. | ||||
| When sending the Test packet, the micro TWAMP Session-Sender MUST put | ||||
| the Sender member link identifier that is associated with the micro | ||||
| TWAMP session in the Sender Member Link ID. If the Session-Sender | ||||
| knows the Reflector member link identifier, it MUST put it in the | ||||
| Reflector Member Link ID fields (see Figure 2 and Figure 3). | ||||
| Otherwise, the Reflector Member Link ID field MUST be set to zero. | ||||
| The Session-Sender uses the Sender member link identifier to check | ||||
| whether a reflected Test packet is received from the member link | ||||
| associated with the correct micro TWAMP session. Therefore, it is | ||||
| carried in the Sender Member Link ID field of a Test packet and sent | ||||
| to the Session-Reflector. Then it will be sent back by the Session- | ||||
| Reflector with the reflected Test packet. | ||||
| The Reflector member link identifier carried in the Reflector Member | ||||
| Link ID field is used by the Session-Receiver to check whether a Test | ||||
| packet is received from the member link associated with the correct | ||||
| micro TWAMP session. It means that the Session-Sender has to learn | ||||
| the Reflector member link identifier. Once the Session-Sender knows | ||||
| the Reflector member link identifier, it MUST put the identifier in | ||||
| the Reflector Member Link ID field (see Figure 2 or Figure 3) of the | ||||
| Test packets that will be sent to the Session-Reflector. The | ||||
| Reflector member link identifier can be obtained from pre- | ||||
| configuration or learned through the control plane or data plane | ||||
| (e.g., learned from a reflected Test packet). How to obtain/learn | ||||
| the Reflector member link identifier is out of the scope of this | ||||
| document. | ||||
| When receives a reflected Test packet, the micro TWAMP Session-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, the | ||||
| reflected Test packet MUST be discarded. If a matched session | ||||
| exists, the Session-Sender MUST use the identifier carried in the | ||||
| Sender Member Link ID field to validate whether the reflected Test | ||||
| packet is correctly transmitted over the expected member link. If | ||||
| the validation failed, the Test packet MUST be discarded. | ||||
| 4.2.1.1. 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 Member Link ID and Reflector | [RFC5357]. Two new fields (Sender Member Link ID and Reflector | |||
| Member Link ID) are added to carry the LAG member link identifiers. | Member Link ID) are added to carry the LAG member link identifiers. | |||
| The formats are as below: | ||||
| For unauthenticated mode: | 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 | | |||
| skipping to change at page 7, line 25 ¶ | skipping to change at page 6, line 25 ¶ | |||
| | Sender Member Link ID | Reflector Member Link ID | | | Sender Member Link ID | Reflector Member Link ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: Session-Sender Packet format in Unauthenticated Mode | Figure 2: Session-Sender Packet format in Unauthenticated Mode | |||
| For authenticated mode: | For authenticated 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 8, line 31 ¶ | skipping to change at page 7, line 4 ¶ | |||
| | | | | | | |||
| | HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: Session-Sender Packet Format in Authenticated Mode | Figure 3: Session-Sender Packet Format in Authenticated Mode | |||
| Except for the Sender/Reflector Member Link ID field, all the other | Except for the Sender/Reflector Member Link ID field, all the other | |||
| fields are the same as defined in Section 4.1.2 of TWAMP [RFC5357], | fields are the same as defined in Section 4.1.2 of TWAMP [RFC5357], | |||
| which is defined in Section 4.1.2 of OWAMP [RFC4656]. Therefore, it | which is defined in Section 4.1.2 of OWAMP [RFC4656]. Therefore, it | |||
| follows the same procedure and guidelines as defined in Section 4.1.2 | follows the same procedure and guidelines as defined in Section 4.1.2 | |||
| of TWAMP [RFC5357]. | of TWAMP [RFC5357]. | |||
| Sender Member Link ID (2-octets in length): it is defined to carry | * Sender Member Link ID (2-octets in length): it is defined to carry | |||
| the LAG member link identifier of the Sender side. The value of the | the LAG member link identifier of the Sender side. The value of | |||
| Sender Member Link ID MUST be unique at the Session-Sender. | the Sender Member Link ID MUST be unique at the Session-Sender. | |||
| Reflector Member Link ID (2-octets in length): it is defined to carry | * Reflector Member Link ID (2-octets in length): it is defined to | |||
| the LAG member link identifier of the Reflector side. The value of | carry the LAG member link identifier of the Reflector side. The | |||
| the Reflector Member ID MUST be unique at the Session-Reflector. | value of the Reflector Member ID MUST be unique at the Session- | |||
| Reflector. | ||||
| 4.2.2. Reflector Behavior | 4.2.2. Sender Behavior | |||
| The micro TWAMP Session-Reflector inherits the behaviors of a TWAMP | The micro TWAMP Session-Sender inherits the behaviors of the TWAMP | |||
| Session-Reflector as defined in Section 4.2 of [RFC5357]. | Session-Reflector as defined in Section 4.1 of [RFC5357]. In | |||
| addition, the micro TWAMP Session-Sender MUST send the micro TWAMP- | ||||
| Test packets over the member link with which the session is | ||||
| associated. | ||||
| In addition, when receives a Test packet, the micro TWAMP Session- | When sending the Test packet, the micro TWAMP Session-Sender MUST put | |||
| Reflector MUST use the receiving member link to correlate the Test | the Sender member link identifier that is associated with the micro | |||
| packet to a micro TWAMP session. If there is no such a session, the | TWAMP session in the Sender Member Link ID. If the Session-Sender | |||
| Test packet MUST be discarded. If Reflector Member Link ID is not | knows the Reflector member link identifier, it MUST put it in the | |||
| zero, the Reflector MUST use the Reflector member link identifier to | Reflector Member Link ID fields (see Figure 2 and Figure 3). | |||
| check whether it associates with the receiving member link. If it | Otherwise, the Reflector Member Link ID field MUST be set to zero. | |||
| does not, the Test packet MUST be discarded. | ||||
| When sends a response to the received Test packet, the micro TWAMP | A Test packet with Sender member link identifier is sent to the | |||
| Session-Sender MUST copy the Sender member link identifier from the | Session-Reflector, and then is reflected with the same Sender member | |||
| received Test packet and put it in the Sender Member Link ID field of | link identifier. So the Session-Sender can use the Sender member | |||
| the reflected Test packet (see Figure 4 and Figure 5). In addition, | link identifier to check whether a reflected Test packet is received | |||
| the micro TWAMP Session-Reflector MUST fill the Reflector Member Link | from the member link associated with the correct micro TWAMP session. | |||
| ID field (see Figure 2 or Figure 3) of the reflected Test packet with | ||||
| the member link identifier that is associated with the micro TWAMP | ||||
| session. | ||||
| 4.2.2.1. Packet Format and Content | The Reflector member link identifier carried in the Reflector Member | |||
| Link ID field is used by the Session-Receiver to check whether a Test | ||||
| packet is received from the member link associated with the correct | ||||
| micro TWAMP session. It means that the Session-Sender has to learn | ||||
| the Reflector member link identifier. Once the Session-Sender knows | ||||
| the Reflector member link identifier, it MUST put the identifier in | ||||
| the Reflector Member Link ID field (see Figure 2 or Figure 3) of the | ||||
| Test packets that will be sent to the Session-Reflector. The | ||||
| Reflector member link identifier can be obtained from pre- | ||||
| configuration or learned through the control plane or data plane | ||||
| (e.g., learned from a reflected Test packet). How to obtain/learn | ||||
| the Reflector member link identifier is out of the scope of this | ||||
| document. | ||||
| When receives a reflected Test packet, the micro TWAMP Session-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, the | ||||
| reflected Test packet MUST be discarded. If a matched session | ||||
| exists, the Session-Sender MUST use the Sender Member Link ID to | ||||
| validate whether the reflected Test packet is correctly transmitted | ||||
| over the expected member link. If the validation fails, the Test | ||||
| packet MUST be discarded. The Session-Sender MUST use the Reflector | ||||
| Member Link ID to validate the Reflector's behavior.If the validation | ||||
| fails, the Test packet MUST be discarded. | ||||
| 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 Member Link ID) are | [RFC5357]. Two new fields (Sender and Reflector Member Link ID) are | |||
| added to carry the LAG member link identifiers. The formats are as | added to carry the LAG member link identifiers. | |||
| below: | ||||
| For unauthenticated mode: | 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 | | |||
| skipping to change at page 10, line 36 ¶ | skipping to change at page 9, line 36 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| . . | . . | |||
| . Packet Padding . | . Packet Padding . | |||
| . . | . . | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: Session-Reflector Packet Format in Unauthenticated Mode | Figure 4: Session-Reflector Packet Format in Unauthenticated Mode | |||
| For authenticated and encrypted modes: | For authenticated 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 11, line 48 ¶ | skipping to change at page 10, line 48 ¶ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: Session-Reflector Packet Format in Authenticated Mode | Figure 5: Session-Reflector Packet Format in Authenticated Mode | |||
| Except for the Sender/Reflector Member Link ID field, all the other | Except for the Sender/Reflector Member Link ID field, all the other | |||
| fields are the same as defined in Section 4.2.1 of TWAMP [RFC5357]. | fields are the same as defined in Section 4.2.1 of TWAMP [RFC5357]. | |||
| Therefore, it follows the same procedure and guidelines as defined in | Therefore, it follows the same procedure and guidelines as defined in | |||
| Section 4.2.1 of TWAMP [RFC5357]. | Section 4.2.1 of TWAMP [RFC5357]. | |||
| Sender Member Link ID (2-octets in length): it is defined to carry | * Sender Member Link ID (2-octets in length): it is defined to carry | |||
| the LAG member link identifier of the Sender side. The value of the | the LAG member link identifier of the Sender side. The value of | |||
| Sender Member Link ID MUST be unique at the Session-Sender. | the Sender Member Link ID MUST be unique at the Session-Sender. | |||
| Reflector Member Link ID (2-octets in length): it is defined to carry | * Reflector Member Link ID (2-octets in length): it is defined to | |||
| the LAG member link identifier of the Reflector side. The value of | carry the LAG member link identifier of the Reflector side. The | |||
| the Reflector Member ID MUST be unique at the Session-Reflector. | value of the Reflector Member ID MUST be unique at the Session- | |||
| Reflector. | ||||
| 4.2.4. Reflector Behavior | ||||
| The micro TWAMP Session-Reflector inherits the behaviors of a TWAMP | ||||
| Session-Reflector as defined in Section 4.2 of [RFC5357]. | ||||
| In addition, when receiving a Test packet, the micro TWAMP Session- | ||||
| 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 | ||||
| Test packet MUST be discarded. If the Reflector Member Link ID is | ||||
| not zero, the Reflector MUST use the Reflector Member Link ID to | ||||
| validate whether it associates with the receiving member link. If | ||||
| the validation fails, the Test packet MUST be discarded. | ||||
| When sending a response to the received Test packet, the micro TWAMP | ||||
| Session-Sender MUST copy the Sender member link identifier from the | ||||
| received Test packet and put it in the Sender Member Link ID field of | ||||
| the reflected Test packet (see Figure 4 and Figure 5). In addition, | ||||
| the micro TWAMP Session-Reflector MUST fill the Reflector Member Link | ||||
| ID field (see Figure 2 and Figure 3) of the reflected Test packet | ||||
| with the member link identifier that is associated with the micro | ||||
| TWAMP session. | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| 5.1. Mico OWAMP-Control Command | 5.1. Mico OWAMP-Control Command | |||
| This document requires the IANA to allocate the following command | This document requires the IANA to allocate the following command | |||
| type from OWAMP-Control Command Number Registry. | type from OWAMP-Control Command Number Registry. | |||
| Value Description Semantics Definition | Value Description Semantics Definition | |||
| TBD1 Request-OW-Micro-Session This document, Section 3.1 | TBD1 Request-OW-Micro-Session This document, Section 3.1 | |||
| skipping to change at page 13, line 10 ¶ | skipping to change at page 12, line 34 ¶ | |||
| [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>. | |||
| [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. | [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. | |||
| Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", | Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", | |||
| RFC 5357, DOI 10.17487/RFC5357, October 2008, | RFC 5357, DOI 10.17487/RFC5357, October 2008, | |||
| <https://www.rfc-editor.org/info/rfc5357>. | <https://www.rfc-editor.org/info/rfc5357>. | |||
| [RFC7130] Bhatia, M., Ed., Chen, M., Ed., Boutros, S., Ed., | ||||
| Binderberger, M., Ed., and J. Haas, Ed., "Bidirectional | ||||
| Forwarding Detection (BFD) on Link Aggregation Group (LAG) | ||||
| Interfaces", RFC 7130, DOI 10.17487/RFC7130, February | ||||
| 2014, <https://www.rfc-editor.org/info/rfc7130>. | ||||
| [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with | ||||
| Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, | ||||
| May 2016, <https://www.rfc-editor.org/info/rfc7799>. | ||||
| [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>. | |||
| 8.2. Informative References | 8.2. Informative References | |||
| [I-D.ietf-ippm-ioam-data] | [I-D.ietf-spring-segment-routing-policy] | |||
| Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields | Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | |||
| for In-situ OAM", draft-ietf-ippm-ioam-data-14 (work in | P. Mattes, "Segment Routing Policy Architecture", Work in | |||
| progress), June 2021. | Progress, Internet-Draft, draft-ietf-spring-segment- | |||
| routing-policy-14, 25 October 2021, | ||||
| <https://www.ietf.org/archive/id/draft-ietf-spring- | ||||
| segment-routing-policy-14.txt>. | ||||
| [IEEE802.1AX] | [IEEE802.1AX] | |||
| IEEE Std. 802.1AX, "IEEE Standard for Local and | IEEE Std. 802.1AX, "IEEE Standard for Local and | |||
| metropolitan area networks - Link Aggregation", November | metropolitan area networks - Link Aggregation", November | |||
| 2008. | 2008. | |||
| [RFC8321] Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli, | ||||
| L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, | ||||
| "Alternate-Marking Method for Passive and Hybrid | ||||
| Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, | ||||
| January 2018, <https://www.rfc-editor.org/info/rfc8321>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Zhenqiang Li | Zhenqiang Li | |||
| China Mobile | China Mobile | |||
| China | ||||
| Email: li_zhenqiang@hotmail.com | Email: li_zhenqiang@hotmail.com | |||
| Mach(Guoyi) Chen | Tianran Zhou | |||
| Huawei | Huawei | |||
| China | ||||
| Email: mach.chen@huawei.com | Email: zhoutianran@huawei.com | |||
| Greg Mirsky | Jun Guo | |||
| ZTE Corp. | ZTE Corp. | |||
| China | ||||
| Email: guo.jun2@zte.com.cn | ||||
| Greg Mirsky | ||||
| Ericsson | ||||
| United States of America | ||||
| Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com | |||
| Rakesh Gandhi | ||||
| Cisco | ||||
| Canada | ||||
| Email: rgandhi@cisco.com | ||||
| End of changes. 50 change blocks. | ||||
| 177 lines changed or deleted | 191 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||