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. |