Network Working Group                                         T. Mizrahi
Internet-Draft                                                    Huawei
Intended status: Informational                              F. Brockners
Expires: August 21, 2022                                           Cisco
                                                        S. Bhandari, Ed.
                                                             Thoughtspot
                                                          R. Sivakolundu
                                                            C. Pignataro
                                                                   Cisco
                                                                 A. Kfir
                                                                B. Gafni
                                                                  Nvidia
                                                              M. Spiegel
                                                       Barefoot Networks
                                                                 T. Zhou
                                                                  Huawei
                                                       February 17, 2022


                          In Situ OAM Profiles
                   draft-mizrahi-ippm-ioam-profile-06

Abstract

   In Situ Operations, Administration and Maintenance (IOAM) is used for
   monitoring network performance and for detecting traffic bottlenecks
   and anomalies.  This is achieved by incorporating IOAM data into in-
   flight data packets.  This document introduces the concept of use
   case-driven IOAM profiles.  An IOAM profile defines a use case or a
   set of use cases for IOAM, and an associated set of rules that
   restrict the scope and features of the IOAM specification, thereby
   limiting it to a subset of the full functionality.  The motivation
   for defining profiles is to limit the scope of IOAM features,
   allowing simpler implementation, verification, and interoperability
   testing in the context of specific use cases that do not require the
   full functionality of IOAM.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.





Mizrahi, et al.          Expires August 21, 2022                [Page 1]


Internet-Draft                IOAM Profiles                February 2022


   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 21, 2022.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Specifying an IOAM Profile  . . . . . . . . . . . . . . . . .   3
     2.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Use Cases . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.3.  IOAM Options  . . . . . . . . . . . . . . . . . . . . . .   4
     2.4.  IOAM Option Header Field Values . . . . . . . . . . . . .   4
     2.5.  Opaque State Snapshot . . . . . . . . . . . . . . . . . .   4
     2.6.  Timestamp Format  . . . . . . . . . . . . . . . . . . . .   5
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     5.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Appendix A.  An IOAM Profile Example  . . . . . . . . . . . . . .   6
     A.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   6
     A.2.  Use Cases . . . . . . . . . . . . . . . . . . . . . . . .   6
     A.3.  IOAM Options  . . . . . . . . . . . . . . . . . . . . . .   6
     A.4.  IOAM Option Header Field Values . . . . . . . . . . . . .   6
     A.5.  Opaque State Snapshot . . . . . . . . . . . . . . . . . .   6
     A.6.  Profile Coexistence . . . . . . . . . . . . . . . . . . .   7
     A.7.  Validity  . . . . . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7





Mizrahi, et al.          Expires August 21, 2022                [Page 2]


Internet-Draft                IOAM Profiles                February 2022


1.  Introduction

   IOAM [I-D.ietf-ippm-ioam-data] is used for monitoring traffic in the
   network by incorporating IOAM data fields into in-flight data
   packets.

   This document introduces the concept of use case driven IOAM
   profiles.  The motivation for defining profiles is to limit the scope
   of IOAM features, allowing simpler implementation, verification, and
   interoperability testing in the context of specific use cases that do
   not require the full functionality of IOAM.

   An IOAM profile defines a use case or a set of use cases for IOAM,
   and an associated set of rules that restrict the scope and features
   of the IOAM specification, thereby limiting it to a subset of the
   full functionality.  Based on the guidelines in this document, future
   documents may define one or more IOAM profiles.  The current document
   does not specify any IOAM profiles.

   This document does not require any changes to the Data Fields for In-
   situ OAM [I-D.ietf-ippm-ioam-data].  Furthermore, it is expected that
   future IOAM profile specifications will not require changes to IOAM,
   since a profile, by definition, derives a subset of the existing
   functionality.

   The Linux IOAM profile [I-D.mizrahi-ippm-ioam-linux-profile] was
   implemented in the Linux kernel starting from version 5.15.  Another
   example of an IOAM profile is presented in Appendix A.

2.  Specifying an IOAM Profile

2.1.  Overview

   A profile defines a set of rules that limit the scope or
   functionality of IOAM.  By default, any detail in IOAM that is not
   specifically addressed or limited by the profile is as defined in
   IOAM [I-D.ietf-ippm-ioam-data].  The rest of this section presents a
   set of topics that may be addressed in a profile specification.  A
   profile may include some or all of these topics, and optionally other
   topics.

   A profile may in part be defined using a specific assignment to the
   IOAM YANG model.  The IOAM YANG model [I-D.ietf-ippm-ioam-yang]
   defines a set of IOAM-related attributes, such as which IOAM option
   types are enabled, and which data fields are used.  For example, an
   IOAM profile that only uses the icremental trace option may be
   defined as such by an assignment to the respective attributes that
   are defined in the YANG model.  It should be noted that while the



Mizrahi, et al.          Expires August 21, 2022                [Page 3]


Internet-Draft                IOAM Profiles                February 2022


   YANG model assists in the definition of a profile, it does not
   replace the profile definition.  Specifically, a profile definition
   includes the use case(s) for using the profile, and possibly some
   properties that cannot be defined by an assignment to the YANG model,
   such as the semantics of the Opaque State Snapshot field.

2.2.  Use Cases

   An IOAM profile should define the use case(s) for using the profile.
   The use case may describe deployment scenarios or specific
   applications that make use of IOAM data.  The use case should
   typically define the required functionality from IOAM.  For example,
   an IOAM profile may be defined such that it requires transit delay
   monitoring, but does not require path tracing.  These requirements
   then affect which IOAM data fields are used in the profile.

2.3.  IOAM Options

   IOAM data may be represented in one of four possible IOAM options:
   Pre-allocated Trace Option, Incremental Trace Option, Proof Of
   Transit (POT) Option, and Edge-to-Edge Option.  An IOAM profile may
   specify a subset of allowed options.  A profile may define some
   options as mandatory in the current profile, or some options as
   forbidden in the current profile.  Moreover, in cases where IOAM
   defines several possible modes of operation, a profile may choose one
   of these modes of operation as the only allowed mode.

   For each IOAM option, a profile specification may limit the scope of
   the profile to certain features.  For example, a profile may be
   defined to use the Incremental Trace Option such that only specific
   data types are used in the profile, while others are not.

2.4.  IOAM Option Header Field Values

   An IOAM profile may define specific values or specific value range
   for some of the fields in the IOAM option headers.  For example, a
   profile may define a specific value that is allowed to be used in the
   Flags field of the trace option header.

2.5.  Opaque State Snapshot

   The Opaque State Snapshot, as defined in [I-D.ietf-ippm-ioam-data],
   is a variable length field that may be used in IOAM trace options.
   The Opaque State Snapshot is defined in a flexible Type/Length/Value
   manner.  An IOAM profile may define a specific format for the Opaque
   State Snapshot including for example a specific length and a specific
   interpretation of the opaque data.  In this case, the IOAM profile
   ought to also specify a Schema ID value.



Mizrahi, et al.          Expires August 21, 2022                [Page 4]


Internet-Draft                IOAM Profiles                February 2022


2.6.  Timestamp Format

   A profile may specify a specific timestamp format to be used in IOAM
   data fields.

3.  IANA Considerations

   This document does not include any requests from IANA.

   [RFC-Editor Note: feel free to remove this Section.]

4.  Security Considerations

   The security considerations of IOAM in general are discussed in
   [I-D.ietf-ippm-ioam-data].  This document presents the concept of
   IOAM profiles; since an IOAM profile is a specific use case of IOAM,
   any security threat that is relevant to the profile is also relevant
   to the full-blown IOAM, as defined in [I-D.ietf-ippm-ioam-data].
   Therefore, the current document does not present any new security
   considerations beyond [I-D.ietf-ippm-ioam-data].

   Moreover, in some cases a profile may limit the set of features of
   IOAM in a way that reduces the set of potential threats compared to a
   full implementation of IOAM.  In fact, a particular IOAM profile can
   optimize a particular security posture or requirement.

5.  References

5.1.  Normative References

   [I-D.ietf-ippm-ioam-data]
              Brockners, F., Bhandari, S., and T. Mizrahi, "Data Fields
              for In-situ OAM", draft-ietf-ippm-ioam-data-17 (work in
              progress), December 2021.

   [I-D.ietf-ippm-ioam-yang]
              Zhou, T., Guichard, J., Brockners, F., and S. Raghavan, "A
              YANG Data Model for In-Situ OAM", draft-ietf-ippm-ioam-
              yang-03 (work in progress), January 2022.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.







Mizrahi, et al.          Expires August 21, 2022                [Page 5]


Internet-Draft                IOAM Profiles                February 2022


5.2.  Informative References

   [I-D.mizrahi-ippm-ioam-linux-profile]
              Mizrahi, T., Iurman, J., and F. Brockners, "In Situ OAM
              Profile for the Linux Kernel Implementation", draft-
              mizrahi-ippm-ioam-linux-profile-02 (work in progress),
              January 2022.

Appendix A.  An IOAM Profile Example

A.1.  Overview

   This section presents an example of an IOAM profile specification.
   The profile makes use of the Hop limit, Node ID and Transit delay
   data fields, and is thus called the HNT profile for short.

A.2.  Use Cases

   This profile is intended for path tracing and transit delay
   monitoring, while using compact data with just two data fields per
   packet.  The profile can be useful in networks with a large number of
   hops.

A.3.  IOAM Options

   The HNT profile makes use of the Incremental Trace Option.  A packet
   that includes IOAM data according to the current profile includes a
   single IOAM option - the Incremental Trace Option.  Specifically, two
   data fields are used in this profile: the Hop_Lim and node_id field,
   and the transit delay field.

A.4.  IOAM Option Header Field Values

   The IOAM-Trace-Type field in the header of the Incremental Trace
   Option in this profile has a fixed value; Bit 0 (the most significant
   bit) and Bit 4 are set, while the rest of the bits are zero,
   indicating the two data fields that are used in the option.

A.5.  Opaque State Snapshot

   The opaque state snapshot is never used in this profile.  Note that
   the NodeLen field, as defined in [I-D.ietf-ippm-ioam-data],
   represents the length of the data excluding the opaque state
   snapshot.  Since this field is not used in the current profile, the
   NodeLen represents the actual length of the data.






Mizrahi, et al.          Expires August 21, 2022                [Page 6]


Internet-Draft                IOAM Profiles                February 2022


A.6.  Profile Coexistence

   It is assumed that the current profile is used in a confined
   administrative domain in which no other IOAM profiles are used.
   Therefore, it is assumed that the current profile does not coexist
   with other profiles.

A.7.  Validity

   An IOAM transit/decapsulating node that receives a packet with IOAM
   options that do not comply to the current profile should forward/
   decapsulate the packet without IOAM processing, if it is able to do
   so.  If a decapsulating node is not able to decapsulate an IOAM
   option that is not compliant to the current profile, the packet is
   discarded.

Authors' Addresses

   Tal Mizrahi
   Huawei
   8-2 Matam
   Haifa  3190501
   Israel

   Email: tal.mizrahi.phd@gmail.com


   Frank Brockners
   Cisco Systems, Inc.
   Hansaallee 249, 3rd Floor
   DUESSELDORF, NORDRHEIN-WESTFALEN  40549
   Germany

   Email: fbrockne@cisco.com


   Shwetha Bhandari (editor)
   Thoughtspot
   3rd Floor, Indiqube Orion, 24th Main Rd, Garden Layout, HSR Layout
   Bangalore, KARNATAKA 560 102
   India

   Email: shwetha.bhandari@thoughtspot.com








Mizrahi, et al.          Expires August 21, 2022                [Page 7]


Internet-Draft                IOAM Profiles                February 2022


   Ramesh Sivakolundu
   Cisco Systems, Inc.
   170 West Tasman Dr.
   SAN JOSE, CA 95134
   U.S.A.

   Email: sramesh@cisco.com


   Carlos Pignataro
   Cisco Systems, Inc.
   7200-11 Kit Creek Road
   Research Triangle Park, NC  27709
   United States

   Email: cpignata@cisco.com


   Aviv Kfir
   Nvidia

   Email: avivk@nvidia.com


   Barak Gafni
   Nvidia
   350 Oakmead Parkway, Suite 100
   Sunnyvale, CA  94085
   U.S.A.

   Email: gbarak@nvidia.com


   Mickey Spiegel
   Barefoot Networks
   4750 Patrick Henry Drive
   Santa Clara, CA  95054
   US

   Email: mspiegel@barefootnetworks.com











Mizrahi, et al.          Expires August 21, 2022                [Page 8]


Internet-Draft                IOAM Profiles                February 2022


   Tianran Zhou
   Huawei
   156 Beiqing Rd.
   Beijing  100095
   China

   Email: zhoutianran@huawei.com












































Mizrahi, et al.          Expires August 21, 2022                [Page 9]