6MAN Working Group                                           G. Fioccola
Internet-Draft                                                   T. Zhou
Intended status: Standards Track                                  Huawei
Expires: August 30, 2020                                     M. Cociglio
                                                          Telecom Italia
                                                                  F. Qin
                                                            China Mobile
                                                       February 27, 2020

            IPv6 Application of the Alternate Marking Method


   This document describes how the Alternate Marking Method can be used
   as the passive performance measurement tool in an IPv6 domain and
   reports implementation considerations.  It proposes how to define a
   new Extension Header Option to encode alternate marking technique and
   also the Segment Routing case is discussed.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC 2119 [RFC2119].

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

   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 30, 2020.

Fioccola, et al.         Expires August 30, 2020                [Page 1]

Internet-Draft                  IPv6 AMM                   February 2020

Copyright Notice

   Copyright (c) 2020 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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  IPv6 application of the Alternate Marking . . . . . . . . . .   3
   3.  Definition of the AltMark TLV . . . . . . . . . . . . . . . .   4
     3.1.  Data Fields Format  . . . . . . . . . . . . . . . . . . .   4
   4.  AltMark: EH Option or SRH TLV . . . . . . . . . . . . . . . .   5
   5.  Alternate Marking Method Operation  . . . . . . . . . . . . .   6
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   [RFC8321] and [I-D.ietf-ippm-multipoint-alt-mark] describe a passive
   performance measurement method, which can be used to measure packet
   loss, latency and jitter on live traffic.  Since this method is based
   on marking consecutive batches of packets, the method is often
   referred as Alternate Marking Method.

   [I-D.song-opsawg-ifit-framework] introduces the telemetry
   architecture that can be considered as reference.

   This document defines how the Alternate Marking Method ([RFC8321])
   can be used to measure packet loss and delay metrics in IPv6.

   The format of the IPv6 addresses is defined in [RFC4291] while
   [RFC8200] defines the IPv6 Header, including a 20-bit Flow Label and

Fioccola, et al.         Expires August 30, 2020                [Page 2]

Internet-Draft                  IPv6 AMM                   February 2020

   the IPv6 Extension Headers.  The Segment Routing Header (SRH) is
   defined in [I-D.ietf-6man-segment-routing-header].

   [I-D.fioccola-v6ops-ipv6-alt-mark] reported a summary on the possible
   implementation options for the application of the Alternate Marking
   Method in an IPv6 domain.  This document, starting from the outcome
   of [I-D.fioccola-v6ops-ipv6-alt-mark], introduces a new TLV that can
   be encoded in the Option Headers (both Hop-by-hop or Destination) for
   the purpose of the Alternate Marking Method application in an IPv6
   domain.  The case of SRH ([I-D.ietf-6man-segment-routing-header]) is
   also discussed.

2.  IPv6 application of the Alternate Marking

   The Alternate Marking Method requires a marking field.  As mentioned,
   several alternatives have been analysed in
   [I-D.fioccola-v6ops-ipv6-alt-mark] such as IPv6 Extension Headers,
   IPv6 Address and Flow Label.

   The preferred choice would be the use of a new TLV to be encoded in
   the Option (Hop-by-hop or Destination) header.

   This approach is compliant with [RFC8200] that clearly states the use
   of existing EH rather than defining new ones especially with hop by
   hop behaviour.

   In order to optimize implementation and scaling of the Alternate
   Marking Method, a way to identify flows is required.  The Flow
   Monitoring Identification field (FlowMonID), as introduced in the
   next section, goes in this direction and it is used to identify a
   monitored flow.

   The Flow Monitoring Identification (FlowMonID) is required for some
   general reasons:

      First, it helps to reduce the per node configuration.  Otherwise,
      each node needs to configure an access-control list (ACL) for each
      of the monitored flows.  Moreover, using a flow identifier allows
      a flexible granularity for the flow definition.

      Second, it simplifies the counters handling.  Hardware processing
      of flow tuples (and ACL matching) is challenging and often incurs
      into performance issues, especially in tunnel interfaces.

      Third, it eases the data export encapsulation and correlation for
      the collectors.

Fioccola, et al.         Expires August 30, 2020                [Page 3]

Internet-Draft                  IPv6 AMM                   February 2020

   Note that the FlowMonID is different from the Flow Label field of the
   IPv6 Header ([RFC8200]).  Flow Label is used for application service,
   like load-balancing/equal cost multi-path (LB/ECMP) and QoS.
   Instead, FlowMonID is only used to identify the monitored flow.  The
   reuse of flow label field for identifying monitored flows is not
   considered since it may change the application intent and forwarding
   behaviour.  Furthermore the flow label may be changed en route and
   this may also violate the measurement task.  Those reasons make the
   definition of the FlowMonID necessary for IPv6.  Flow Label and
   FlowMonID within the same packet have different scope, identify
   different flows, and associate different uses.

3.  Definition of the AltMark TLV

   The desired choice is to define a new TLV for the Option extension
   headers, carrying the data fields dedicated to the alternate marking

3.1.  Data Fields Format

   The following figure shows the data fields format for enhanced
   alternate marking TLV.  This AltMark data is expected to be
   encapsulated in the IPv6 Option (hop-by-hop or destination).

    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
                                   |     Type      |    Length     |
   |              FlowMonID                |L|D|     Reserved      |


   o  Type/Option Type: 8 bit identifier of the type of Option/TLV that
      needs to be allocated.  Unrecognised Types MUST be ignored on

   o  Length/Opt Data Len: The length of the length Data Fields of this
      Option/TLV in bytes.

   o  FlowMonID: 20 bits unsigned integer.  The FlowMon identifier field
      is to uniquely identify a monitored flow within the measurement
      domain.  The field is set at the ingress node.  The FlowMonID can
      be uniformly assigned by the central controller or algorithmically
      generated by the ingress node.  The latter approach cannot
      guarantee the uniqueness of FlowMonID but it may be preferred for

Fioccola, et al.         Expires August 30, 2020                [Page 4]

Internet-Draft                  IPv6 AMM                   February 2020

      local or private network, where the conflict probability is small
      due to the large FlowMonID space.

   o  L: Loss flag for Single-Marking as defined in [RFC8321];

   o  D: Delay flag for Double-Marking as defined in [RFC8321];

   o  Reserved: is reserved for future use.  These bits MUST be set to
      zero on transmission and ignored on receipt.

4.  AltMark: EH Option or SRH TLV

   Using a new EH Option assumes that all routers in the domain support
   this type of headers even if an unrecognized EH Option may be just
   ignored without impacting the traffic.  So, the new AltMark Option
   Layout seems the best way to implement the Alternate Marking method.

   It is important to highlight that the Option Layout can be used both
   as Destination Option and as Hop-By-Hop Option depending on the Use
   Cases.  In general, it is needed to perform both end-to-end and hop-
   by-hop measurements, and the alternate marking methodology in
   [RFC8321] allows, by definition, both performance measurements.

   Hop-By-Hop Options Header or Destination Options Header can be used
   based on the chosen type of performance measurement.

   SRv6 leverages the Segment Routing header which consists of a new
   type of routing header.  Like any other use case of IPv6, HBH and
   Destination options are useable when SRv6 header is present.  Because
   SRv6 is a routing header, destination options before the routing
   header are processed by each destination in the route list.

   SRH TLV can also be used to encode the AltMark Data Fields for SRv6.
   Furthermore, the intermediated nodes that are not in the SID list may
   consider the SRH as a green field, therefore they cannot support and
   bypass or support and dig into the SRH TLV.  But the usage of SRH TLV
   is still under discussion within the community and so it is not the
   preferred solution.

   In summary, it is possible to list the alternative options:

      Destination Option => measurement only by node in Destination

      Hop-By-Hop Option => every router on the path with feature

      SRH TLV => every node that is an identity in the SR path.

Fioccola, et al.         Expires August 30, 2020                [Page 5]

Internet-Draft                  IPv6 AMM                   February 2020

      Destination Option + SRH => every node that is an identity in the
      SR path.

   Note that the SRH TLV and Destination Option + SRH could be
   considered equivalent.  Anyway, in general, HBH and Destination
   options are the most suitable ways to implement Alternate Marking.

   Both [RFC7045] and [RFC8200] do not recommend the introduction of new
   Hop-by-Hop Options headers because nodes may be configured to ignore,
   drop or assign to a slow processing path.  But, in case of the
   AltMark data fields described in this document, the new hop-by-hop
   option is needed for OAM and an intermediate node can read it or not
   but, this does not affect the packet behavior.  The source node is
   the only one that writes the hop-by-hop option to mark alternately
   the flow, so, the performance measurement can be done for those nodes
   configured to read this option, while the others are simply not
   considered for the metrics.  Moreover, in case of SRv6, the use of
   SRH TLV for every node along the SR path is a good choice to
   implement hop-by-hop measurements.

   In addition to the previous alternatives, for legacy network it is
   possible to mention a non-conventional application of the SRH TLV and
   Destination Option for the hop-by-hop usage.  [RFC8200] defines that
   the nodes along a path examine and process the Hop-by-Hop Options
   header only if HBH processing is explicitly configured.  On the other
   hand, using the SRH TLV or Destination Option for hop-by-hop action
   would cause worse performance than Hop-By-Hop.  The only motivation
   for the hop-by-hop usage of destination options can be for
   compatibility reasons but in general it is not recommended.

5.  Alternate Marking Method Operation

   [RFC8321] and [I-D.ietf-ippm-multipoint-alt-mark] describe in detail
   the methodology.

6.  Security Considerations

   This document aims to apply a method to perform measurements that
   does not directly affect Internet security nor applications that run
   on the Internet.  However, implementation of this method must be
   mindful of security and privacy concerns, as explained in [RFC8321].

7.  IANA Considerations

   The option type should be assigned in IANA's "Destination Options and
   Hop-by-Hop Options" registry.  Also, the TLV type should be assigned
   from Segment Routing Header TLVs Registry.

Fioccola, et al.         Expires August 30, 2020                [Page 6]

Internet-Draft                  IPv6 AMM                   February 2020

8.  Acknowledgements

   The authors would like to thank Bob Hinden, Ole Troan, Tom Herbert,
   Stefano Previdi, Brian Carpenter for the precious comments and

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,

   [RFC8321]  Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli,
              L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi,
              "Alternate-Marking Method for Passive and Hybrid
              Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321,
              January 2018, <https://www.rfc-editor.org/info/rfc8321>.

9.2.  Informative References

              Fioccola, G., Velde, G., Cociglio, M., and P. Muley, "IPv6
              Performance Measurement with Alternate Marking Method",
              draft-fioccola-v6ops-ipv6-alt-mark-01 (work in progress),
              June 2018.

              Filsfils, C., Dukes, D., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", draft-ietf-6man-segment-routing-header-26 (work in
              progress), October 2019.

              Fioccola, G., Cociglio, M., Sapio, A., and R. Sisto,
              "Multipoint Alternate Marking method for passive and
              hybrid performance monitoring", draft-ietf-ippm-
              multipoint-alt-mark-06 (work in progress), February 2020.

Fioccola, et al.         Expires August 30, 2020                [Page 7]

Internet-Draft                  IPv6 AMM                   February 2020

              Song, H., Qin, F., Chen, H., Jin, J., and J. Shin, "In-
              situ Flow Information Telemetry", draft-song-opsawg-ifit-
              framework-10 (work in progress), December 2019.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, DOI 10.17487/RFC4291, February
              2006, <https://www.rfc-editor.org/info/rfc4291>.

   [RFC7045]  Carpenter, B. and S. Jiang, "Transmission and Processing
              of IPv6 Extension Headers", RFC 7045,
              DOI 10.17487/RFC7045, December 2013,

Authors' Addresses

   Giuseppe Fioccola
   Riesstrasse, 25
   Munich  80992

   Email: giuseppe.fioccola@huawei.com

   Tianran Zhou
   156 Beiqing Rd.
   Beijing  100095

   Email: zhoutianran@huawei.com

   Mauro Cociglio
   Telecom Italia
   Via Reiss Romoli, 274
   Torino  10148

   Email: mauro.cociglio@telecomitalia.it

Fioccola, et al.         Expires August 30, 2020                [Page 8]

Internet-Draft                  IPv6 AMM                   February 2020

   Fengwei Qin
   China Mobile
   32 Xuanwumenxi Ave.
   Beijing  100032

   Email: qinfengwei@chinamobile.com

Fioccola, et al.         Expires August 30, 2020                [Page 9]