idnits 2.17.00 (12 Aug 2021) /tmp/idnits61850/draft-li-ippm-stamp-on-lag-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document date (7 March 2022) is 68 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 7799 == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-18 Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Z. Li 3 Internet-Draft China Mobile 4 Intended status: Standards Track T. Zhou 5 Expires: 8 September 2022 Huawei 6 J. Guo 7 ZTE Corp. 8 G. Mirsky 9 Ericsson 10 R. Gandhi 11 Cisco 12 7 March 2022 14 Simple Two-Way Active Measurement Protocol Extensions for Performance 15 Measurement on LAG 16 draft-li-ippm-stamp-on-lag-02 18 Abstract 20 This document extends Simple Two-Way Active Measurement Protocol 21 (STAMP) to implement performance measurement on every member link of 22 a Link Aggregation Group (LAG). Knowing the measured metrics of each 23 member link of a LAG enables operators to enforce a performance based 24 traffic steering policy across the member links. 26 Requirements Language 28 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 29 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 30 "OPTIONAL" in this document are to be interpreted as described in 31 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, 32 as shown here. 34 Status of This Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at https://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on 8 September 2022. 50 Copyright Notice 52 Copyright (c) 2022 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 57 license-info) in effect on the date of publication of this document. 58 Please review these documents carefully, as they describe your rights 59 and restrictions with respect to this document. Code Components 60 extracted from this document must include Revised BSD License text as 61 described in Section 4.e of the Trust Legal Provisions and are 62 provided without warranty as described in the Revised BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 2. Micro Session on LAG . . . . . . . . . . . . . . . . . . . . 3 68 3. Member Link Validation . . . . . . . . . . . . . . . . . . . 4 69 3.1. Micro-session ID TLV . . . . . . . . . . . . . . . . . . 4 70 3.2. Micro STAMP-Test Procedures . . . . . . . . . . . . . . . 5 71 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 72 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 73 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 74 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 75 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 76 7.2. Informative References . . . . . . . . . . . . . . . . . 7 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 79 1. Introduction 81 Link Aggregation Group (LAG), as defined in [IEEE802.1AX], provides 82 mechanisms to combine multiple physical links into a single logical 83 link. This logical link offers higher bandwidth and better 84 resiliency, because if one of the physical member links fails, the 85 aggregate logical link can continue to forward traffic over the 86 remaining operational physical member links. 88 Usually, when forwarding traffic over LAG, the hash-based mechanism 89 is used to load balance the traffic across the LAG member links. 90 Link delay of each member link varies because of different transport 91 paths. To provide low latency service for time sensitive traffic, we 92 need to explicitly steer the traffic across the LAG member links 93 based on the link delay, loss and so on. That requires a solution to 94 measure the performance metrics of each member link of a LAG. Hence 95 the measured performance metrics can work together with layer 2 96 bundle member link attributes advertisement [RFC8668] for traffic 97 steering. 99 Simple Two-Way Active Measurement Protocol (STAMP) [RFC8762] is an 100 active measurement method according to the classification given in 101 [RFC7799], which can complement passive and hybrid methods. It 102 provides a mechanism to measure both one-way and round-trip 103 performance metrics, like delay, delay variation, and packet loss. 104 Running a single STAMP test session over the aggregation without the 105 knowledge of each member link would make it impossible to measure the 106 performance of a given physical member link. The measured metrics 107 can only reflect the performance of one member link or an average of 108 some/all member links of the LAG. 110 This document extends STAMP to implement performance measurement on 111 every member link of a LAG. The proposed method could also 112 potentially apply to layer 3 ECMP (Equal Cost Multi-Path), e.g., with 113 SR-Policy [I-D.ietf-spring-segment-routing-policy]. 115 2. Micro Session on LAG 117 This document intends to address the scenario (e.g., Figure 1) where 118 a LAG (e.g., the LAG includes four member links) directly connects 119 two nodes (A and B) . The goal is to measure the performance of each 120 link of the LAG. 122 +---+ +---+ 123 | |-----------------------| | 124 | A |-----------------------| B | 125 | |-----------------------| | 126 | |-----------------------| | 127 +---+ +---+ 129 Figure 1: PM for LAG 131 To measure the performance metrics of every member link of a LAG, 132 multiple sessions (one session for each member link) need to be 133 established between the two end points that are connected by the LAG. 134 These sessions are called micro sessions in the remainder of this 135 document. 137 All micro sessions of a LAG share the same Sender IP Address and 138 Receiver IP Address. As for the UDP Port, the micro sessions may 139 share the same Sender Port and Receiver Port pair, or each micro 140 session is configured with a different Sender Port and Receiver Port 141 pair. But from the operational point of view, the former is simpler 142 and is recommended. 144 At the Sender side, each micro STAMP session MUST be assgined with a 145 unique SSID [RFC8972]. Both the micro STAMP Session Sender and 146 Reflector MUST use SSID to correlate the Test packet to a micro 147 session. If there is no such a session, or the SSID is not correct, 148 the Test packet MUST be discarded. 150 Test packets MAY carry the member link information for validation 151 check. For example, when a micro STAMP Session-Sender receives a 152 reflected Test packet, it may need to check whether the Test packet 153 is from the expected member link. The detailed description about the 154 member link validation is in section 3. 156 A micro STAMP Session-Sender MAY include the Follow-Up Telemetry TLV 157 [RFC8972] to request information from the micro Session-Reflector. 158 This timestamp might be important for the micro Session-Sender, as it 159 improves the accuracy of network delay measurement by minimizing the 160 impact of egress queuing delays on the measurement. 162 3. Member Link Validation 164 Test packets MAY carry the member link information for validation 165 check. The micro Session Sender can verify whether the test packet 166 is reveived from the expected member link. It can also verify 167 whether the packet is sent from the expected member link at the 168 Reflector side. The micro Session Reflector can verify whether the 169 test packet is received from the expected member link. 171 3.1. Micro-session ID TLV 173 STAMP TLV [RFC8972] mechanism extends STAMP Test packets with one or 174 more optional TLVs. This document defines the TLV Type (value TBA1) 175 for the Micro-session ID TLV that carries the micro STAMP Session- 176 Sender member link identifier and Session-Reflector member link 177 identifier. The format of the Micro-session ID TLV is shown as 178 follows: 180 0 1 2 3 181 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 182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 183 |STAMP TLV Flags| Type = TBA1 | Length | 184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 185 | Sender Micro-session ID | Reflector Micro-session ID | 186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 188 Figure 2: Micro-session ID TLV 190 * Type: A one-octet field. Value TBA1 is allocated by IANA 191 (Section 5). 193 * Length: A two-octet field equal to the length of the Value field 194 in octets. The Length field value MUST be 4 octets. 196 * Sender Micro-session ID (2-octets in length): it is defined to 197 carry the Micro-session identifier of the Sender side. The value 198 of the Sender Member Link ID MUST be unique at the Session-Sender. 200 * Reflector Micro-session ID (2-octets in length): it is defined to 201 carry the Micro-session identifier of the Reflector side. The 202 value of the Reflector Member ID MUST be unique at the Session- 203 Reflector. 205 3.2. Micro STAMP-Test Procedures 207 The micro STAMP-Test reuses the procedures as defined in Section 4 of 208 STAMP [RFC8762] with the following additions. 210 The micro STAMP Session-Sender MUST send the micro STAMP-Test packets 211 over the member link with which the session is associated. The 212 configuration and management of the mapping between a micro STAMP 213 session and the Sender/Reflector member link identifiers are outside 214 the scope of this document. 216 When sending a Test packet, the micro STAMP Session-Sender MUST set 217 the Sender Micro-session ID field with the member link identifier 218 associated with the micro STAMP session. If the Session-Sender knows 219 the Reflector member link identifier, the Reflector Micro-session ID 220 field MUST be set. Otherwise, the Reflector Micro-session ID field 221 MUST be zero. The Reflector member link identifier can be obtained 222 from pre-configuration or learned from data plane (e.g., the 223 reflected Test packet). How to obtain/learn the Reflector member 224 link identifier is outside of this document's scope. 226 When the micro STAMP Session-Reflector receives a Test packet, if the 227 Reflector Micro-session ID is not zero, the micro STAMP Session- 228 Reflector MUST use the Reflector member link identifier to check 229 whether it is associated with the micro STAMP session. If the 230 validation fails, the Test packet MUST be discarded. If all 231 validations passed, the Session-Reflector sends a reflected Test 232 packet to the Session-Sender. The micro STAMP Session-Reflector MUST 233 put the Sender and Reflector member link identifiers that are 234 associated with the micro STAMP session in the Sender Micro-session 235 ID and Reflector Micro-session ID fields respectively. The Sender 236 member link identifier is copied from the received Test packet. 238 When receiving a reflected Test packet, the micro Session-Sender MUST 239 use the Sender Micro-session ID to validate whether the reflected 240 Test packet is correctly transmitted over the expected member link. 241 If the validation fails, the Test packet MUST be discarded. The 242 micro Session-Sender MUST use the Reflector Micro-session ID to 243 validate the Reflector's behavior. If the validation fails, the Test 244 packet MUST be discarded. 246 4. IANA Considerations 248 In the "STAMP TLV Types" registry created for [RFC8972], a new STAMP 249 TLV Type for Micro-session ID TLV is requested from IANA as follows: 251 +----------------+-------------------+-----------------+------------+ 252 | STAMP TLV Type | Description | Semantics | Reference | 253 | Value | | Definition | | 254 +----------------+-------------------+-----------------+------------+ 255 | TBA1 | Micro-session | Section 3 | This | 256 | | ID TLV | | Document | 257 +----------------+-------------------+-----------------+------------+ 259 Figure 3: New STAMP TLV Type 261 5. Security Considerations 263 The STAMP extension defined in this document is intended for 264 deployment in LAG scenario where Session-Sender and Session-Reflector 265 are directly connnected. As such, it's assumed that a node involved 266 in STAMP protocol operation has previously verified the integrity of 267 the LAG connection and the identity of its one-hop-away peer node. 269 This document does not introduce any additional security issues and 270 the security mechanisms defined in [RFC8762] and [RFC8972] apply in 271 this document. 273 6. Acknowledgements 275 The authors would like to thank Mach Chen, Min Xiao, Fang Xin for the 276 valuable comments to this work. 278 7. References 280 7.1. Normative References 282 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 283 Requirement Levels", BCP 14, RFC 2119, 284 DOI 10.17487/RFC2119, March 1997, 285 . 287 [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with 288 Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, 289 May 2016, . 291 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 292 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 293 May 2017, . 295 [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, 296 M., and E. Aries, "Advertising Layer 2 Bundle Member Link 297 Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, 298 December 2019, . 300 [RFC8762] Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple 301 Two-Way Active Measurement Protocol", RFC 8762, 302 DOI 10.17487/RFC8762, March 2020, 303 . 305 [RFC8972] Mirsky, G., Min, X., Nydell, H., Foote, R., Masputra, A., 306 and E. Ruffini, "Simple Two-Way Active Measurement 307 Protocol Optional Extensions", RFC 8972, 308 DOI 10.17487/RFC8972, January 2021, 309 . 311 7.2. Informative References 313 [I-D.ietf-spring-segment-routing-policy] 314 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 315 P. Mattes, "Segment Routing Policy Architecture", Work in 316 Progress, Internet-Draft, draft-ietf-spring-segment- 317 routing-policy-18, 17 February 2022, 318 . 321 [IEEE802.1AX] 322 IEEE Std. 802.1AX, "IEEE Standard for Local and 323 metropolitan area networks - Link Aggregation", November 324 2008. 326 Authors' Addresses 328 Zhenqiang Li 329 China Mobile 330 Email: li_zhenqiang@hotmail.com 332 Tianran Zhou 333 Huawei 334 China 335 Email: zhoutianran@huawei.com 337 Jun Guo 338 ZTE Corp. 339 China 340 Email: guo.jun2@zte.com.cn 342 Greg Mirsky 343 Ericsson 344 United States of America 345 Email: gregimirsky@gmail.com 347 Rakesh Gandhi 348 Cisco 349 Canada 350 Email: rgandhi@cisco.com