idnits 2.17.1 draft-ietf-ippm-ioam-flags-00.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 copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 12, 2019) is 1659 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) == Outdated reference: A later version (-17) exists of draft-ietf-ippm-ioam-data-07 == Outdated reference: A later version (-13) exists of draft-ietf-sfc-ioam-nsh-02 == Outdated reference: A later version (-07) exists of draft-spiegel-ippm-ioam-rawexport-02 Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IPPM T. Mizrahi 3 Internet-Draft Huawei Smart Platforms iLab 4 Intended status: Standards Track F. Brockners 5 Expires: April 14, 2020 S. Bhandari 6 R. Sivakolundu 7 C. Pignataro 8 Cisco 9 A. Kfir 10 B. Gafni 11 Mellanox Technologies, Inc. 12 M. Spiegel 13 Barefoot Networks 14 J. Lemon 15 Broadcom 16 October 12, 2019 18 In-situ OAM Flags 19 draft-ietf-ippm-ioam-flags-00 21 Abstract 23 In-situ Operations, Administration, and Maintenance (IOAM) records 24 operational and telemetry information in the packet while the packet 25 traverses a path between two points in the network. This document 26 presents new flags in the IOAM Trace Option headers. Specifically, 27 the document defines the Loopback and Active flags. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on April 14, 2020. 46 Copyright Notice 48 Copyright (c) 2019 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (https://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 64 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 65 2.1. Requirement Language . . . . . . . . . . . . . . . . . . 3 66 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 67 3. New IOAM Trace Option Flags . . . . . . . . . . . . . . . . . 3 68 4. Loopback in IOAM . . . . . . . . . . . . . . . . . . . . . . 3 69 5. Active Measurement with IOAM . . . . . . . . . . . . . . . . 4 70 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 71 7. Performance Considerations . . . . . . . . . . . . . . . . . 6 72 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 73 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 74 9.1. Normative References . . . . . . . . . . . . . . . . . . 7 75 9.2. Informative References . . . . . . . . . . . . . . . . . 7 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 78 1. Introduction 80 IOAM [I-D.ietf-ippm-ioam-data] is used for monitoring traffic in the 81 network by incorporating IOAM data fields into in-flight data 82 packets. 84 IOAM data may be represented in one of four possible IOAM options: 85 Pre-allocated Trace Option, Incremental Trace Option, Proof of 86 Transit (POT) Option, and Edge-to-Edge Option. This document defines 87 two new flags in the Pre-allocated and Incremental Trace options: the 88 Loopback and Active flags. 90 2. Conventions 92 2.1. Requirement Language 94 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 95 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 96 document are to be interpreted as described in [RFC2119]. 98 2.2. Terminology 100 Abbreviations used in this document: 102 IOAM: In-situ Operations, Administration, and Maintenance 104 OAM: Operations, Administration, and Maintenance 106 3. New IOAM Trace Option Flags 108 This document defines two new flags in the Pre-allocated and 109 Incremental Trace options: 111 Bit 1 "Loopback" (L-bit). Loopback mode is used to send a copy of a 112 packet back towards the source, as further described in Section 4. 114 Bit 2 "Active" (A-bit). When set, this indicates that this is an 115 active IOAM packet, where "active" is used in the sense defined in 116 [RFC7799], rather than a data packet. The packet may be an IOAM 117 probe packet, or a replicated data packet (the second and third 118 use cases of Section 5). 120 4. Loopback in IOAM 122 Loopback is used for trigerring each transit device along the path to 123 loop back a copy of the data packet. Loopback mode assumes that a 124 return path from transit nodes and destination nodes towards the 125 source exists. Loopback allows an IOAM encapsulating node to trace 126 the path to a given destination, and to receive per-hop data about 127 both the forward and the return path. 129 The encapsulating node decides (e.g., using a filter) which packets 130 loopback mode is enabled for by setting the loopback bit. The 131 encapsulating node also needs to ensure that sufficient space is 132 available in the IOAM header for loopback operation, which includes 133 transit nodes adding trace data on the original path and then again 134 on the return path. 136 A loopback bit that is set indicates to the transit nodes processing 137 this option that they are to create a copy of the received packet and 138 send the copy back to the source of the packet. The copy has its 139 data fields added after being copied in order to allow any egress- 140 dependent information to be set based on the egress of the copy 141 rather than the original. The original packet continues towards its 142 destination. The source address of the original packet is used as 143 the destination address in the copied packet. The address of the 144 node performing the copy operation is used as the source address. 145 The L-bit MUST be cleared in the copy of the packet that a node sends 146 back towards the source. On its way back towards the source, the 147 copied packet is processed like any other packet with IOAM 148 information, including adding any requested data at each transit node 149 (assuming there is sufficient space). 151 Once the return packet reaches the IOAM domain boundary, IOAM 152 decapsulation occurs as with any other packet containing IOAM 153 information. Because any intermediate node receiving such a packet 154 would not know how to process the original packet, and because there 155 would be a risk of the original packet leaking past the initiator of 156 the IOAM loopback, the initiator of an IOAM loopback MUST be the 157 initiator of the packet. Once a loopback packet is received back at 158 the initiator, it is a local matter how it is recognized as a 159 loopback packet. 161 5. Active Measurement with IOAM 163 Active measurement methods [RFC7799] make use of synthetically 164 generated packets in order to facilitate the measurement. This 165 section presents use cases of active measurement using the IOAM 166 Active flag. 168 The active flag indicates that a packet is used for active 169 measurement. An IOAM decapsulating node that receives a packet with 170 the Active flag set in one of its Trace options must terminate the 171 packet. 173 An example of an IOAM deployment scenario is illustrated in Figure 1. 174 The figure depicts two endpoints, a source and a destination. The 175 data traffic from the source to the destination is forwarded through 176 a set of network devices, including an IOAM encapsulating node, which 177 incorporates one or more IOAM option, a decapsulating node, which 178 removes the IOAM options, optionally one or more transit nodes. The 179 IOAM options are encapsulated in one of the IOAM encapsulation types, 180 e.g., [I-D.ietf-sfc-ioam-nsh], or 181 [I-D.ioametal-ippm-6man-ioam-ipv6-options]. 183 +--------+ +--------+ +--------+ +--------+ +--------+ 184 | | | IOAM |.....| IOAM |.....| IOAM | | | 185 +--------+ +--------+ +--------+ +--------+ +--------+ 186 | L2/L3 |<===>| L2/L3 |<===>| L2/L3 |<===>| L2/L3 |<===>| L2/L3 | 187 +--------+ +--------+ +--------+ +--------+ +--------+ 188 Source Encapsulating Transit Decapsulating Destination 189 Node Node Node 191 Figure 1: Network using IOAM. 193 This draft focuses on three possible use cases of active measurement 194 using IOAM. These use cases are described using the example of 195 Figure 1. 197 o Endpoint active measurement: synthetic probe packets are sent 198 between the source and destination, traversing the IOAM domain. 199 Since the probe packets are sent between the endpoints, these 200 packets are treated as data packets by the IOAM domain, and do not 201 require special treatment at the IOAM layer. 203 o IOAM active measurement using probe packets: probe packets are 204 generated and transmitted by the IOAM encapsulating node, and are 205 expected to be terminated by the decapsulating node. IOAM data 206 related to probe packets may be exported by one or more nodes 207 along its path, by an exporting protocol that is outside the scope 208 of this document (e.g., [I-D.spiegel-ippm-ioam-rawexport]). Probe 209 packets include a Trace Option which has its Active flag set, 210 indicating that the decapsulating node must terminate them. 212 o IOAM active measurement using replicated data packets: probe 213 packets are created by the encapsulating node by selecting some or 214 all of the en route data packets and replicating them. A selected 215 data packet that is replicated, and its (possibly truncated) copy 216 is forwarded with one or more IOAM option, while the original 217 packet is forwarded normally, without IOAM options. To the extent 218 possible, the original data packet and its replica are forwarded 219 through the same path. The replica includes a Trace Option that 220 has its Active flag set, indicating that the decapsulating node 221 should terminate it. 223 6. IANA Considerations 225 IANA is requested to allocate the following bits in the "IOAM Trace 226 Flags Registry" as follows: 228 Bit 1 "Loopback" (L-bit) 229 Bit 2 "Active" (A-bit) 231 Note that bit 0 is the most significant bit in the Flags Registry. 233 7. Performance Considerations 235 Each of the flags that are defined in this document may have 236 performance implications. When using the loopback mechanism a copy 237 of the data packet is sent back to the sender, thus generating more 238 traffic than originally sent by the endpoints. Using active 239 measurement with the active flag requires the use of synthetic 240 (overhead) traffic. 242 Each of the mechanisms that use the flags above has a cost in terms 243 of the network bandwidth, and may potentially load the node that 244 analyzes the data. Therefore, it MUST be possible to use each of the 245 mechanisms on a subset of the data traffic; an encapsulating node 246 needs to be able to set the Loopback and Active flag selectively, in 247 a way that considers the effect on the network performance. 248 Similarly, transit and decapsulating nodes need to be able to 249 selectively loop back packets with the Loopback flag, and to 250 selectively export packets to the collector. Specifically, rate 251 limiting may be enabled so as to ensure that the mechanisms are used 252 at a rate that does not significantly affect the network bandwidth, 253 and does not overload the collector (or the source node in the case 254 of loopback). 256 8. Security Considerations 258 The security considerations of IOAM in general are discussed in 259 [I-D.ietf-ippm-ioam-data]. Specifically, an attacker may try to use 260 the functionality that is defined in this document to attack the 261 network. 263 An attacker may attempt to overload network devices by injecting 264 synthetic packets that include an IOAM Trace Option with one or more 265 of the flags defined in this document. Similarly, an on-path 266 attacker may maliciously set one or more of the flags of transit 267 packets. 269 o Loopback flag: an attacker that sets this flag, either in 270 synthetic packets or transit packet, can potentially cause an 271 amplification, since each device along the path creates a copy of 272 the data packet and sends it back to the source. The attacker can 273 potentially leverage the loopback flag for a Distributed Denial of 274 Service (DDoS) attack, as multiple devices send looped-back copies 275 of a packet to a single source. 277 o Active flag: the impact of synthetic packets with the active flag 278 is no worse than synthetic data packets in which the Active flag 279 is not set. By setting the active flag in en route packets an 280 attacker can prevent these packets from reaching their 281 destination, since the packet is terminated by the decapsulating 282 device; however, note that an on-path attacker may achieve the 283 same goal by changing the destination address of a packet. 284 Another potential threat is amplification; if an attacker causes 285 transit switches to replicate more packets than they are intended 286 to replicate, either by setting the Active flag or by sending 287 synthetic packets, then traffic is amplified, causing bandwidth 288 degredation. 290 In order to mitigate the attacks described above, as described in 291 Section 7 it should be possible for IOAM-enabled devices to 292 selectively apply the mechanisms that use the flags defined in this 293 document to a subset of the traffic, and to limit the performance of 294 synthetically generated packets to a configurable rate; specifically, 295 network devices should be able to limit the rate of: (i) looped-back 296 traffic, (ii) replicated active packets, and (iii) packets that are 297 exported to a collector. 299 IOAM is assumed to be deployed in a restricted administrative domain, 300 thus limiting the scope of the threats above and their affect. This 301 is a fundamental assumtion with respect to the security aspects of 302 IOAM, as further discussed in [I-D.ietf-ippm-ioam-data]. 304 9. References 306 9.1. Normative References 308 [I-D.ietf-ippm-ioam-data] 309 Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., 310 Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, 311 P., Chang, R., daniel.bernier@bell.ca, d., and J. Lemon, 312 "Data Fields for In-situ OAM", draft-ietf-ippm-ioam- 313 data-07 (work in progress), September 2019. 315 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 316 Requirement Levels", BCP 14, RFC 2119, 317 DOI 10.17487/RFC2119, March 1997, 318 . 320 9.2. Informative References 322 [I-D.ietf-sfc-ioam-nsh] 323 Brockners, F. and S. Bhandari, "Network Service Header 324 (NSH) Encapsulation for In-situ OAM (IOAM) Data", draft- 325 ietf-sfc-ioam-nsh-02 (work in progress), September 2019. 327 [I-D.ioametal-ippm-6man-ioam-ipv6-options] 328 Bhandari, S., Brockners, F., Pignataro, C., Gredler, H., 329 Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B., 330 Lapukhov, P., Spiegel, M., Krishnan, S., and R. Asati, 331 "In-situ OAM IPv6 Options", draft-ioametal-ippm-6man-ioam- 332 ipv6-options-02 (work in progress), March 2019. 334 [I-D.spiegel-ippm-ioam-rawexport] 335 Spiegel, M., Brockners, F., Bhandari, S., and R. 336 Sivakolundu, "In-situ OAM raw data export with IPFIX", 337 draft-spiegel-ippm-ioam-rawexport-02 (work in progress), 338 July 2019. 340 [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with 341 Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, 342 May 2016, . 344 Authors' Addresses 346 Tal Mizrahi 347 Huawei Smart Platforms iLab 348 Israel 350 Email: tal.mizrahi.phd@gmail.com 352 Frank Brockners 353 Cisco Systems, Inc. 354 Hansaallee 249, 3rd Floor 355 DUESSELDORF, NORDRHEIN-WESTFALEN 40549 356 Germany 358 Email: fbrockne@cisco.com 360 Shwetha Bhandari 361 Cisco Systems, Inc. 362 Cessna Business Park, Sarjapura Marathalli Outer Ring Road 363 Bangalore, KARNATAKA 560 087 364 India 366 Email: shwethab@cisco.com 367 Ramesh Sivakolundu 368 Cisco Systems, Inc. 369 170 West Tasman Dr. 370 SAN JOSE, CA 95134 371 U.S.A. 373 Email: sramesh@cisco.com 375 Carlos Pignataro 376 Cisco Systems, Inc. 377 7200-11 Kit Creek Road 378 Research Triangle Park, NC 27709 379 United States 381 Email: cpignata@cisco.com 383 Aviv Kfir 384 Mellanox Technologies, Inc. 385 350 Oakmead Parkway, Suite 100 386 Sunnyvale, CA 94085 387 U.S.A. 389 Email: avivk@mellanox.com 391 Barak Gafni 392 Mellanox Technologies, Inc. 393 350 Oakmead Parkway, Suite 100 394 Sunnyvale, CA 94085 395 U.S.A. 397 Email: gbarak@mellanox.com 399 Mickey Spiegel 400 Barefoot Networks 401 4750 Patrick Henry Drive 402 Santa Clara, CA 95054 403 US 405 Email: mspiegel@barefootnetworks.com 406 Jennifer Lemon 407 Broadcom 408 270 Innovation Drive 409 San Jose, CA 95134 410 US 412 Email: jennifer.lemon@broadcom.com