| rfc9534xml2.original.xml | rfc9534.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='UTF-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
| <?rfc toc="yes"?> | <!DOCTYPE rfc [ | |||
| <?rfc tocompact="yes"?> | <!ENTITY nbsp " "> | |||
| <?rfc tocdepth="3"?> | <!ENTITY zwsp "​"> | |||
| <?rfc tocindent="yes"?> | <!ENTITY nbhy "‑"> | |||
| <?rfc symrefs="yes"?> | <!ENTITY wj "⁠"> | |||
| <?rfc sortrefs="yes"?> | ]> | |||
| <?rfc comments="yes"?> | ||||
| <?rfc inline="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" | |||
| <?rfc compact="yes"?> | category="std" | |||
| <?rfc subcompact="no"?> | consensus="true" | |||
| <rfc category="std" consensus="true" docName="draft-ietf-ippm-stamp-on-lag-06" | number="9534" | |||
| ipr="trust200902" sortRefs="true" submissionType="IETF" tocInclude="true"> | docName="draft-ietf-ippm-stamp-on-lag-06" | |||
| ipr="trust200902" | ||||
| sortRefs="true" | ||||
| submissionType="IETF" | ||||
| tocInclude="true" | ||||
| obsoletes="" | ||||
| updates="" | ||||
| xml:lang="en" | ||||
| tocDepth="3" | ||||
| symRefs="true" | ||||
| version="3"> | ||||
| <front> | <front> | |||
| <title abbrev="STAMP PM on LAG">Simple Two-Way Active Measurement Protocol | <title abbrev="STAMP PM on LAG">Simple Two-Way Active Measurement Protocol | |||
| Extensions for Performance Measurement on LAG</title> | Extensions for Performance Measurement on a Link Aggregation Group</title> | |||
| <seriesInfo name="RFC" value="9534"/> | ||||
| <author fullname="Zhenqiang Li" initials="Z." surname="Li"> | <author fullname="Zhenqiang Li" initials="Z." surname="Li"> | |||
| <organization>China Mobile</organization> | <organization>China Mobile</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>No. 29 Finance Avenue, Xicheng District</street> | <street>No. 29 Finance Avenue</street> | |||
| <cityarea>Xicheng District</cityarea> | ||||
| <city>Beijing</city> | <city>Beijing</city> | |||
| <code/> | <code/> | |||
| <country>China</country> | <country>China</country> | |||
| </postal> | </postal> | |||
| <email>li_zhenqiang@hotmail.com</email> | <email>li_zhenqiang@hotmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Tianran Zhou" initials="T." surname="Zhou"> | <author fullname="Tianran Zhou" initials="T." surname="Zhou"> | |||
| <organization>Huawei</organization> | <organization>Huawei</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | ||||
| <country>China</country> | <country>China</country> | |||
| </postal> | </postal> | |||
| <email>zhoutianran@huawei.com</email> | <email>zhoutianran@huawei.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Jun Guo" initials="J." surname="Guo"> | <author fullname="Jun Guo" initials="J." surname="Guo"> | |||
| <organization>ZTE Corp.</organization> | <organization>ZTE Corp.</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | ||||
| <city/> | ||||
| <region/> | ||||
| <code/> | ||||
| <country>China</country> | <country>China</country> | |||
| </postal> | </postal> | |||
| <phone/> | ||||
| <facsimile/> | ||||
| <email>guo.jun2@zte.com.cn</email> | <email>guo.jun2@zte.com.cn</email> | |||
| <uri/> | <uri/> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Greg Mirsky" initials="G." surname="Mirsky"> | <author fullname="Greg Mirsky" initials="G." surname="Mirsky"> | |||
| <organization>Ericsson</organization> | <organization>Ericsson</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | ||||
| <country>United States of America</country> | <country>United States of America</country> | |||
| </postal> | </postal> | |||
| <email>gregimirsky@gmail.com</email> | <email>gregimirsky@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi"> | <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi"> | |||
| <organization>Cisco</organization> | <organization>Cisco Systems, Inc.</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | ||||
| <city/> | ||||
| <region/> | ||||
| <code/> | ||||
| <country>Canada</country> | <country>Canada</country> | |||
| </postal> | </postal> | |||
| <phone/> | ||||
| <facsimile/> | ||||
| <email>rgandhi@cisco.com</email> | <email>rgandhi@cisco.com</email> | |||
| <uri/> | <uri/> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date day="11" month="December" year="2023"/> | <date month="January" year="2024"/> | |||
| <area>Operation and Management Area</area> | ||||
| <area>Transport Area</area> | ||||
| <workgroup>IPPM</workgroup> | <workgroup>IPPM</workgroup> | |||
| <keyword>STAMP</keyword> | ||||
| <keyword>Performance Measurement</keyword> | ||||
| <keyword>LAG</keyword> | ||||
| <keyword>Micro Session</keyword> | ||||
| <abstract> | <abstract> | |||
| <t>This document extends Simple Two-Way Active Measurement Protocol | <t>This document extends Simple Two-way Active Measurement Protocol | |||
| (STAMP) to implement performance measurement on every member link of a | (STAMP) to implement performance measurement on every member link of a | |||
| Link Aggregation Group (LAG). Knowing the measured metrics of each | Link Aggregation Group (LAG). Knowing the measured metrics of each | |||
| member link of a LAG enables operators to enforce a performance based | member link of a LAG enables operators to enforce a performance-based | |||
| traffic steering policy across the member links.</t> | traffic steering policy across the member links.</t> | |||
| </abstract> | </abstract> | |||
| <note title="Requirements Language"> | ||||
| <t>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 | ||||
| <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, | ||||
| they appear in all capitals, as shown here.</t> | ||||
| </note> | ||||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section title="Introduction"> | <section numbered="true" toc="default"> | |||
| <t>Link Aggregation Group (LAG), as defined in <xref | <name>Introduction</name> | |||
| target="IEEE802.1AX"/>, provides mechanisms to combine multiple physical | <t>A Link Aggregation Group (LAG), as defined in <xref target="IEEE802.1AX | |||
| " format="default"/>, provides mechanisms to combine multiple physical | ||||
| links into a single logical link. This logical link offers higher | links into a single logical link. This logical link offers higher | |||
| bandwidth and better resiliency, because if one of the physical member | bandwidth and better resiliency because, if one of the physical member | |||
| links fails, the aggregate logical link can continue to forward traffic | links fails, the aggregate logical link can continue to forward traffic | |||
| over the remaining operational physical member links.</t> | over the remaining operational physical member links.</t> | |||
| <t>Usually, when forwarding traffic over a LAG, a hash-based mechanism is | ||||
| <t>Usually, when forwarding traffic over LAG, a hash-based mechanism is | ||||
| used to load balance the traffic across the LAG member links. The link | used to load balance the traffic across the LAG member links. The link | |||
| delay might vary between member links because of different transport | delay might vary between member links because of different transport | |||
| paths, especially when LAG is used in wide area network. To provide low | paths, especially when a LAG is used in a wide area network. To provide | |||
| latency service for time sensitive traffic, we need to explicitly steer | low-latency service for time-sensitive traffic, we need to explicitly stee | |||
| the traffic across the LAG member links based on the link delay, loss | r | |||
| the traffic across the LAG member links based on the link delay, loss, | ||||
| and so on. That requires a solution to measure the performance metrics | and so on. That requires a solution to measure the performance metrics | |||
| of each member link of a LAG. Hence, the measured performance metrics | of each member link of a LAG. Hence, the measured performance metrics | |||
| can work together with <xref target="RFC8668">layer 2 bundle member link | can work together with <xref target="RFC8668" format="default">Layer 2 bun dle member link | |||
| attributes advertisement</xref> for traffic steering.</t> | attributes advertisement</xref> for traffic steering.</t> | |||
| <t>According to the classifications in <xref target="RFC7799" format="defa | ||||
| <t>According to the classifications in <xref target="RFC7799"/>, <xref | ult"/>, <xref target="RFC8762" format="default">Simple Two-way Active Measuremen | |||
| target="RFC8762">Simple Two-Way Active Measurement Protocol | t Protocol | |||
| (STAMP)</xref> is an active measurement method, and it can complement | (STAMP)</xref> is an active measurement method, and it can complement | |||
| passive and hybrid methods. It provides a mechanism to measure both | passive and hybrid methods. It provides a mechanism to measure both | |||
| one-way and round-trip performance metrics, like delay, delay variation, | one-way and round-trip performance metrics, like delay, delay variation, | |||
| and packet loss. One STAMP test session over the LAG can measure the | and packet loss. A STAMP test session over the LAG can be used to measure | |||
| performance of a member link with fixed five tuples. Or it can measure | the | |||
| an average of some/all member links of the LAG by varying the five | performance of a member link using a specially constructed 5-tuple. The se | |||
| tuples. However, without the knowledge of each member link, a STAMP test | ssion can be used to measure | |||
| an average of some or all member links of the LAG by varying one or more e | ||||
| lements of that | ||||
| 5-tuple. However, without the knowledge of each member link, a STAMP test | ||||
| session cannot measure the performance of every physical member | session cannot measure the performance of every physical member | |||
| link.</t> | link.</t> | |||
| <t>This document extends STAMP to implement performance measurement on | <t>This document extends STAMP to implement performance measurement on | |||
| every member link of a LAG. It can provide the same metrics as <xref | every member link of a LAG. It can provide the same metrics as <xref targe | |||
| target="RFC4656">OWAMP</xref> and <xref target="RFC5357">TWAMP</xref> | t="RFC4656" format="default">One-Way Active Measurement Protocol (OWAMP)</xref> | |||
| and <xref target="RFC5357" format="default">Two-Way Active Measurement Protocol | ||||
| (TWAMP)</xref> | ||||
| can measure, such as delay, jitter, and packet loss.</t> | can measure, such as delay, jitter, and packet loss.</t> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Requirements Language</name> | ||||
| <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | ||||
| "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | ||||
| ", | ||||
| "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | ||||
| "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| be | ||||
| interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | ||||
| target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
| shown here.</t> | ||||
| </section> | </section> | |||
| </section> | ||||
| <section title="Micro Session on LAG"> | <section numbered="true" toc="default"> | |||
| <name>Micro Sessions on a LAG</name> | ||||
| <t>This document addresses the scenario where a LAG directly connects | <t>This document addresses the scenario where a LAG directly connects | |||
| two nodes. An example of this is in Figure 1, where the LAG consisting | two nodes. An example of this is in <xref target="PMonLAG"/>, where the LA G consisting | |||
| of four links connects nodes A and B. The goal is to measure the | of four links connects nodes A and B. The goal is to measure the | |||
| performance of each link of the LAG.</t> | performance of each link of the LAG.</t> | |||
| <figure anchor="PMonLAG"> | ||||
| <figure align="center" anchor="PMonLAG" | <name>Performance Measurement on a LAG</name> | |||
| title="Performance Measurement on LAG"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| <artwork><![CDATA[+---+ +---+ | +---+ +---+ | |||
| | |-----------------------| | | | |-----------------------| | | |||
| | A |-----------------------| B | | | A |-----------------------| B | | |||
| | |-----------------------| | | | |-----------------------| | | |||
| | |-----------------------| | | | |-----------------------| | | |||
| +---+ +---+ | +---+ +---+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t>To measure the performance metrics of every member link of a LAG, | <t>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 STAMP sessions established | document. Although micro sessions are in fact STAMP sessions established | |||
| on member links of a LAG, test packets of micro sessions MUST carry | on member links of a LAG, test packets of micro sessions <bcp14>MUST</bcp1 4> carry | |||
| member link information for validation.</t> | member link information for validation.</t> | |||
| <t>All micro sessions of a LAG share the same Sender IP Address and | <t>All micro sessions of a LAG share the same Sender IP Address and | |||
| Receiver IP Address of the LAG. As for the UDP Port, the micro sessions | Receiver IP Address. As for the UDP port, the micro sessions | |||
| may share the same Sender Port and Receiver Port pair, or each micro | may share the same Sender Port and Receiver Port pair or each micro | |||
| session is configured with a different Sender Port and Receiver Port | session may be configured with a different Sender Port and Receiver Port | |||
| pair. But from the operational point of view, the former is simpler and | pair. From the operational point of view, the former is simpler and | |||
| is RECOMMENDED.</t> | is <bcp14>RECOMMENDED</bcp14>.</t> | |||
| <t>Test packets of a micro session <bcp14>MUST</bcp14> carry the member li | ||||
| <t>Test packets of a micro session MUST carry the member link | nk | |||
| information for validation check. For example, when a micro STAMP | information for validation checks. For example, when a micro STAMP | |||
| Session-Sender receives a reflected test packet, it checks whether the | Session-Sender receives a reflected test packet, it checks whether the | |||
| test packet is from the expected member link. The member link | test packet is from the expected member link. The member link | |||
| information is encoded in the Micro-session ID TLV introduced in Section | information is encoded in the Micro-session ID TLV introduced in <xref tar | |||
| 3 of this document, and the detailed description about the member link | get="validation"/>, | |||
| validation is also in this section.</t> | which also provides a detailed description about member link | |||
| validation.</t> | ||||
| <t>A micro STAMP Session-Sender MAY include the <xref | <t>A micro STAMP Session-Sender <bcp14>MAY</bcp14> include the <xref targe | |||
| target="RFC8972">Follow-Up Telemetry TLV</xref> to request information | t="RFC8972" format="default">Follow-Up Telemetry TLV</xref> to request informati | |||
| on | ||||
| from the micro Session-Reflector. This timestamp might be important for | from the micro Session-Reflector. This timestamp might be important for | |||
| the micro Session-Sender, as it improves the accuracy of network delay | the micro Session-Sender, as it improves the accuracy of network delay | |||
| measurement by minimizing the impact of egress queuing delays on the | measurement by minimizing the impact of egress queuing delays on the | |||
| measurement.</t> | measurement.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default" anchor="validation"> | ||||
| <section title="Member Link Validation"> | <name>Member Link Validation</name> | |||
| <t>Test packets MUST carry member link information in Micro-session ID | <t>Test packets <bcp14>MUST</bcp14> carry member link information in the M | |||
| TLV introduced in this section for validation check. The micro | icro-session ID | |||
| TLV introduced in this section for validation checks. The micro | ||||
| Session-Sender verifies whether the test packet is received from the | Session-Sender verifies whether the test packet is received from the | |||
| expected member link. It also verifies whether the packet is sent from | expected member link. It also verifies whether the packet is sent from | |||
| the expected member link at the Reflector side. The micro | the expected member link at the Reflector side. The micro | |||
| Session-Reflector verifies whether the test packet is received from the | Session-Reflector verifies whether the test packet is received from the | |||
| expected member link.</t> | expected member link.</t> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Micro-session ID TLV"> | <name>Micro-session ID TLV</name> | |||
| <t><xref target="RFC8972">STAMP TLV</xref> mechanism extends STAMP | <t>The <xref target="RFC8972" format="default">STAMP TLV mechanism</xref | |||
| > extends STAMP | ||||
| test packets with one or more optional TLVs. This document defines the | test packets with one or more optional TLVs. This document defines the | |||
| TLV Type (value TBA1) for the Micro-session ID TLV that carries the | TLV Type (value 11) for the Micro-session ID TLV that carries the | |||
| micro STAMP Session-Sender member link identifier and | micro STAMP Session-Sender member link identifier and | |||
| Session-Reflector member link identifier in Sender Micro-session ID | Session-Reflector member link identifier in the Sender Micro-session ID | |||
| field and Reflector Micro-session ID field respectively. The format of | field and the Reflector Micro-session ID field, respectively. The format | |||
| of | ||||
| the Micro-session ID TLV is shown as follows:</t> | the Micro-session ID TLV is shown as follows:</t> | |||
| <figure anchor="STAMPSender"> | ||||
| <t> | <name>Micro-session ID TLV</name> | |||
| <figure align="center" anchor="STAMPSender" | <artwork name="" type="" align="left" alt=""><![CDATA[ 0 | |||
| title="Micro-session ID TLV"> | 1 2 3 | |||
| <artwork><![CDATA[ 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |STAMP TLV Flags| Type = TBA1 | Length | | |STAMP TLV Flags| Type = 11 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sender Micro-session ID | Reflector Micro-session ID | | | Sender Micro-session ID | Reflector Micro-session ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <dl spacing="normal"> | ||||
| <list style="symbols"> | <dt>Type (1 octet in length):</dt> | |||
| <t>Type (one-octet in length): It is defined to indicate this TLV | <dd>This field is defined to indicate this TLV | |||
| is a Micro-session ID TLV. Value TBA1 is allocated by IANA | is a Micro-session ID TLV. Value 11 has been allocated by IANA | |||
| (Section 5).</t> | (<xref target="IANA"/>).</dd> | |||
| <dt>Length (2 octets in length):</dt> | ||||
| <t>Length (2-octets in length): It is defined to carry the length | <dd>This field is defined to carry the length | |||
| of the Value field in octets. The Length field value MUST be | of the Value field in octets. The Length field value <bcp14>MUST</bc | |||
| 4.</t> | p14> be | |||
| 4.</dd> | ||||
| <t>Sender Micro-session ID (2-octets in length): It is now defined | <dt>Sender Micro-session ID (2 octets in length):</dt> | |||
| <dd>This field is defined | ||||
| to carry the LAG member link identifier of the Sender side. In the | to carry the LAG member link identifier of the Sender side. In the | |||
| future, it may be used generically to cover use-cases beyond LAG. | future, it may be used generically to cover use cases beyond LAGs. | |||
| The value of this field MUST be unique within a STAMP session at | The value of this field <bcp14>MUST</bcp14> be unique within a STAMP | |||
| the Session-Sender.</t> | session at | |||
| the Session-Sender.</dd> | ||||
| <t>Reflector Micro-session ID (2-octets in length): It is now | <dt>Reflector Micro-session ID (2 octets in length):</dt> | |||
| <dd>This field is | ||||
| defined to carry the LAG member link identifier of the Reflector | defined to carry the LAG member link identifier of the Reflector | |||
| side. In the future, it may be used generically to cover use-cases | side. In the future, it may be used generically to cover use cases | |||
| beyond LAG. The value of this field MUST be unique within a STAMP | beyond LAGs. The value of this field <bcp14>MUST</bcp14> be unique w | |||
| session at the Session-Reflector.</t> | ithin a STAMP | |||
| </list> | session at the Session-Reflector.</dd> | |||
| </t> | </dl> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Micro STAMP-Test Procedures"> | <name>Micro STAMP-Test Procedures</name> | |||
| <t>The micro STAMP-Test reuses the procedures as defined in Section 4 | <t>The micro STAMP-Test reuses the procedures as defined in Section | |||
| of <xref target="RFC8762">STAMP</xref> with the following | <xref target="RFC8762" sectionFormat="bare" section="4" format="default" | |||
| /> of | ||||
| <xref target="RFC8762" format="default">STAMP</xref> with the following | ||||
| additions.</t> | additions.</t> | |||
| <t>The micro STAMP Session-Sender <bcp14>MUST</bcp14> send the micro STA | ||||
| <t>The micro STAMP Session-Sender MUST send the micro STAMP-Test | MP-Test | |||
| packets over the member link with which the session is associated. The | packets over the member link with which the session is associated. The | |||
| mapping between a micro STAMP session and the Sender/Reflector member | mapping between a micro STAMP session and the Sender/Reflector member | |||
| link identifiers can be configured by augmenting the <xref | link identifiers can be configured by augmenting the <xref | |||
| target="I-D.ietf-ippm-stamp-yang">STAMP YANG</xref>. The detailed | target="I-D.ietf-ippm-stamp-yang" format="default">STAMP | |||
| augmentation is not in the scope of this document.</t> | YANG</xref>. The detailed augmentation is not in the scope of this | |||
| document.</t> | ||||
| <t>When sending a test packet, the micro STAMP Session-Sender MUST set | <t>When sending a test packet, the micro STAMP Session-Sender <bcp14>MUS | |||
| T</bcp14> set | ||||
| the Sender Micro-session ID field with the member link identifier | the Sender Micro-session ID field with the member link identifier | |||
| associated with the micro STAMP session. If the Session-Sender knows | associated with the micro STAMP session. If the Session-Sender knows | |||
| the Reflector member link identifier, the Reflector Micro-session ID | the Reflector member link identifier, the Reflector Micro-session ID | |||
| field MUST be set. Otherwise, the Reflector Micro-session ID field | field <bcp14>MUST</bcp14> be set. Otherwise, the Reflector Micro-session | |||
| MUST be zero. The Reflector member link identifier can be obtained | ID field | |||
| from pre-configuration or learned from data plane (e.g., the reflected | <bcp14>MUST</bcp14> be zero. The Reflector member link identifier can be | |||
| obtained | ||||
| from preconfiguration or learned from 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.</t> | Reflector member link identifier.</t> | |||
| <t>When the micro STAMP Session-Reflector receives a test packet, if | <t>When the micro STAMP Session-Reflector receives a test packet, if | |||
| the Reflector Micro-session ID is not zero, the micro STAMP | the Reflector Micro-session ID is not zero, the micro STAMP | |||
| Session-Reflector MUST use the Reflector member link identifier to | Session-Reflector <bcp14>MUST</bcp14> use the Reflector member link iden tifier to | |||
| check whether it is associated with the micro STAMP session. If the | check whether it is associated with the micro STAMP session. If the | |||
| validation fails, the test packet MUST be discarded. If the Reflector | validation fails, the test packet <bcp14>MUST</bcp14> be discarded. If t he Reflector | |||
| Micro-session ID is zero, it will not be verified. If all validations | Micro-session ID is zero, it will not be verified. If all validations | |||
| passed, the Session-Reflector sends a reflected test packet to the | passed, the Session-Reflector sends a reflected test packet to the | |||
| Session-Sender. The micro STAMP Session-Reflector MUST put the Sender | Session-Sender. The micro STAMP Session-Reflector <bcp14>MUST</bcp14> pu t the Sender | |||
| and Reflector member link identifiers that are associated with the | and Reflector member link identifiers that are associated with the | |||
| micro STAMP session in the Sender Micro-session ID and Reflector | micro STAMP session in the Sender Micro-session ID and Reflector | |||
| Micro-session ID fields respectively. The Sender member link | Micro-session ID fields, respectively. The Sender member link | |||
| identifier is copied from the received test packet.</t> | identifier is copied from the received test packet.</t> | |||
| <t>When receiving a reflected test packet, the micro Session-Sender | <t>When receiving a reflected test packet, the micro Session-Sender | |||
| MUST use the Sender Micro-session ID to validate whether the reflected | <bcp14>MUST</bcp14> use the Sender Micro-session ID to validate whether the reflected | |||
| test packet is correctly received from the expected member link. If | test packet is correctly received from the expected member link. If | |||
| the validation fails, the test packet MUST be discarded. The micro | the validation fails, the test packet <bcp14>MUST</bcp14> be discarded. | |||
| Session-Sender MUST use the Reflector Micro-session ID to validate the | The micro | |||
| Reflector's behavior. If the validation fails, the test packet MUST be | Session-Sender <bcp14>MUST</bcp14> use the Reflector Micro-session ID to | |||
| validate the | ||||
| Reflector's behavior. If the validation fails, the test packet <bcp14>MU | ||||
| ST</bcp14> be | ||||
| discarded.</t> | discarded.</t> | |||
| <t>Two modes of the STAMP Session-Reflector, stateless and stateful, | <t>Two modes of the STAMP Session-Reflector, stateless and stateful, | |||
| characterize the expected behavior, as described in Section 4 of <xref | characterize the expected behavior as described in Section <xref target= | |||
| target="RFC8762">STAMP</xref>. The micro STAMP-Test also supports both | "RFC8762" sectionFormat="bare" section="4" format="default"/> of <xref target="R | |||
| FC8762" format="default">STAMP</xref>. The micro STAMP-Test also supports both | ||||
| stateless and stateful modes. However, the micro STAMP-Test does not | stateless and stateful modes. However, the micro STAMP-Test does not | |||
| introduce any additional state to STAMP, i.e, any procedure with | introduce any additional state to STAMP, i.e., any procedure with | |||
| regard to the Micro-session ID is stateless.</t> | regard to the Micro-session ID is stateless.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Applicability"> | <name>Applicability</name> | |||
| <t>The micro STAMP Session-Sender sends micro Session-Sender packets | <t>The micro STAMP Session-Sender sends micro Session-Sender packets | |||
| with the Micro-session ID TLV. The micro Session-Reflector checks | with the Micro-session ID TLV. The micro Session-Reflector checks | |||
| whether a test packet is received from the member link associated with | whether a test packet is received from the member link associated with | |||
| the correct micro STAMP session, if the Reflector Micro-session ID field | the correct micro STAMP session if the Reflector Micro-session ID field | |||
| is set. When reflecting, the micro STAMP Session-Reflector copies the | is set. When reflecting, the micro STAMP Session-Reflector copies the | |||
| Sender Micro-session ID from the received micro Session-Sender packet to | Sender Micro-session ID from the received micro Session-Sender packet to | |||
| the micro Session-Reflector packet, and sets the Reflector Micro-session | the micro Session-Reflector packet and sets the Reflector Micro-session | |||
| ID field with the member link identifier that is associated with the | ID field with the member link identifier that is associated with the | |||
| micro STAMP session. When receiving the micro Session-Reflector packet, | micro STAMP session. When receiving the micro Session-Reflector packet, | |||
| the micro Session-Sender uses the Sender Micro-session ID to check | the micro Session-Sender uses the Sender Micro-session ID to check | |||
| whether the packet is received from the member link associated with the | whether the packet is received from the member link associated with the | |||
| correct micro STAMP session. The micro Session-Sender also use the | correct micro STAMP session. The micro Session-Sender also use the | |||
| Reflector Micro-session ID to validate the Reflector's behavior.</t> | Reflector Micro-session ID to validate the Reflector's behavior.</t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>In the "STAMP TLV Types" registry created for [RFC8972], a new STAMP | <t>IANA has allocated the following STAMP | |||
| TLV Type for Micro-session ID TLV is requested from IANA as | TLV Type for the Micro-session ID TLV in the "STAMP TLV Types" registry <x | |||
| follows:<figure align="center" title="New STAMP TLV Type"> | ref target="RFC8972" format="default"/>:</t> | |||
| <artwork><![CDATA[+----------------+-------------------+-------------- | <table anchor="reg_table"> | |||
| ---+------------+ | <name>New STAMP TLV Type</name> | |||
| | STAMP TLV Type | Description | Semantics | Reference | | <thead> | |||
| | Value | | Definition | | | <tr> | |||
| +----------------+-------------------+-----------------+------------+ | <th>Value</th> | |||
| | TBA1 | Micro-session | Section 3 | This | | <th>Description</th> | |||
| | | ID TLV | | Document | | <th>Reference</th> | |||
| +----------------+-------------------+-----------------+------------+]]></artwor | </tr> | |||
| k> | </thead> | |||
| </figure></t> | <tbody> | |||
| <tr> | ||||
| <td>11</td> | ||||
| <td>Micro-session ID</td> | ||||
| <td>This Document</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>The STAMP extension defined in this document is intended for | <t>The STAMP extension defined in this document is intended for | |||
| deployment in LAG scenario where Session-Sender and Session-Reflector | deployment in the LAG scenario where Session-Sender and Session-Reflector | |||
| are directly connected. As such, it's assumed that a node involved in | are directly connected. As such, it's assumed that a node involved in | |||
| STAMP protocol operation has previously verified the integrity of the | a STAMP operation has previously verified the integrity of the | |||
| LAG connection and the identity of its one-hop-away peer node.</t> | LAG connection and the identity of its one-hop-away peer node.</t> | |||
| <t>This document does not introduce any additional security issues, and | ||||
| <t>This document does not introduce any additional security issues and | the security mechanisms defined in <xref target="RFC8762" format="default" | |||
| the security mechanisms defined in <xref target="RFC8762"/> and <xref | /> and <xref target="RFC8972" format="default"/> apply in this document.</t> | |||
| target="RFC8972"/> apply in this document.</t> | ||||
| </section> | ||||
| <section anchor="Acknowledgements" title="Acknowledgements"> | ||||
| <t>The authors would like to thank Mach Chen, Min Xiao, Fang Xin, Marcus | ||||
| Ihlar, Richard Foote for the valuable comments to this work.</t> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | ||||
| <?rfc include="reference.RFC.2119"?> | ||||
| <?rfc include='reference.RFC.8174'?> | <displayreference target="I-D.ietf-ippm-stamp-yang" to="STAMP-YANG"/> | |||
| <?rfc include='reference.RFC.8762'?> | ||||
| <?rfc include='reference.RFC.8972'?> | <references> | |||
| </references> | <name>References</name> | |||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 119.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 174.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 762.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 972.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <references title="Informative References"> | <reference anchor="IEEE802.1AX" target="https://ieeexplore.ieee.org/docu | |||
| <reference anchor="IEEE802.1AX"> | ment/9105034"> | |||
| <front> | <front> | |||
| <title>IEEE Standard for Local and metropolitan area networks - Link | <title>IEEE Standard for Local and Metropolitan Area Networks -- Lin | |||
| k | ||||
| Aggregation</title> | Aggregation</title> | |||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date month="May" year="2020"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE Std" value="802.1AX-2020"/> | ||||
| <seriesInfo name="DOI" value="10.1109/IEEESTD.2020.9105034"/> | ||||
| </reference> | ||||
| <author> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | |||
| <organization>IEEE Std. 802.1AX</organization> | 799.xml"/> | |||
| </author> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | |||
| 668.xml"/> | ||||
| <date month="November" year="2008"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4 | |||
| </front> | 656.xml"/> | |||
| </reference> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | |||
| 357.xml"/> | ||||
| <?rfc include='reference.RFC.7799'?> | ||||
| <?rfc include='reference.RFC.8668'?> | ||||
| <?rfc include='reference.RFC.4656'?> | ||||
| <?rfc include='reference.RFC.5357'?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D. ietf-ippm-stamp-yang.xml"/> | |||
| <?rfc include='reference.I-D.ietf-ippm-stamp-yang'?> | </references> | |||
| </references> | </references> | |||
| <section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>The authors would like to thank <contact fullname="Mach Chen"/>, <conta | ||||
| ct fullname="Min Xiao"/>, <contact fullname="Fang Xin"/>, <contact fullname="Mar | ||||
| cus Ihlar"/>, and <contact fullname="Richard Foote"/> for the valuable comments | ||||
| to this work.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 93 change blocks. | ||||
| 254 lines changed or deleted | 262 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||