Comments on <draft-fz-6man-ipv6-alt-mark-05>

Bob Hinden <bob.hinden@gmail.com> Mon, 17 February 2020 22:12 UTC

Return-Path: <bob.hinden@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 07FF8120048 for <ipv6@ietfa.amsl.com>; Mon, 17 Feb 2020 14:12:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AOjP2_MR2ZQn for <ipv6@ietfa.amsl.com>; Mon, 17 Feb 2020 14:12:26 -0800 (PST)
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0311120041 for <ipv6@ietf.org>; Mon, 17 Feb 2020 14:12:25 -0800 (PST)
Received: by mail-wm1-x331.google.com with SMTP id a5so837654wmb.0 for <ipv6@ietf.org>; Mon, 17 Feb 2020 14:12:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:mime-version:subject:message-id:date:cc:to; bh=l5g8vb6geaurBRknKszSAoq2CCWjd7XW7atFidlu+wg=; b=uejjxIr0VXdSBqAFbknk0zQ3hH26Hd3tPH6e/IwG6fwPj0wNIjLOOjzTcvq6qztoVz +vKqnUS9ToBQd5bbkhwRBwBrwaoh4/+gvRZlIV5iHFilXjOR7LlWf4asDVACM5hyaNUm x8Y/EC5l1zEbkVOL2idpGJYPi247arfJDsds7mlEQnv1LwGOCS3e/0cviBpDx64IBme8 uaMthmVP/en5mHTT3iCeOTaaLFljNT49AKQKOeEd5rqd88pJkngqiCj0tJkY3+OkMatB brmZJfEGr4Ztpe0uCGMTxX9lEG9VD1YWtQft27uiXYGINY5MDU3hTxbNuIUNR1ATnTgp h8SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:subject:message-id:date:cc:to; bh=l5g8vb6geaurBRknKszSAoq2CCWjd7XW7atFidlu+wg=; b=Rgg5K4q3DPylVFRDmw22UFNZt3GhWjbWZ1y0P5zrV/WAxZ0m0E+t4679N+Bae0KlGl FBmWfud2e9h+llDpS5gib724GLevuPFXN0luy3/bThVuud+aKNfeeC87I6voYhyw0r3C qYT3An7bGLGMwGRA3YWBa6lSa8MKY7OywmjX+RG7P+9Ca11y+zYuQTwQwFftn56QUzYB gsxe/mra3Q1DVlVXhEJWoj/AtbLDGuulIN9ci/X5OrKDb851aM6r/p9V6uzK9upVKz1F slH64FdVGl4/PHEkHRMfeE0zDfCkPrpRM44MHWW4iJQ+7q3BLPhHB2erR6BVY2l+SQqO jMJA==
X-Gm-Message-State: APjAAAVLntQ98qHOu+XT0oyaPJckcOGpKayLJCNDRPmS8RafjR7HL62R PDYDceo+Gt3qkt3WqRBtouaoC/2acYw=
X-Google-Smtp-Source: APXvYqyqjq6Zg8XTtFlxiUShYrzWB+xLPpkO9PRHbAQFmtg0RmI2Ri8bOwPyW2npFvjdaJfKWf3/pw==
X-Received: by 2002:a1c:4d18:: with SMTP id o24mr1006912wmh.35.1581977543026; Mon, 17 Feb 2020 14:12:23 -0800 (PST)
Received: from [10.0.0.199] (c-24-5-53-184.hsd1.ca.comcast.net. [24.5.53.184]) by smtp.gmail.com with ESMTPSA id j65sm987556wmb.21.2020.02.17.14.12.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Feb 2020 14:12:22 -0800 (PST)
From: Bob Hinden <bob.hinden@gmail.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_6B5A4988-DD0D-4B5F-AF04-0B42CBA23CE1"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Subject: Comments on <draft-fz-6man-ipv6-alt-mark-05>
Message-Id: <85AA1B7C-098D-4001-BB3E-5EBB71198174@gmail.com>
Date: Mon, 17 Feb 2020 14:12:18 -0800
Cc: Bob Hinden <bob.hinden@gmail.com>
To: IPv6 List <ipv6@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/behL4YQu0DXN9t92hG6Z240tmb4>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Feb 2020 22:12:29 -0000

I have some comments on <draft-fz-6man-ipv6-alt-mark-05>.

This draft defines an alt mark option for hop-by-hop options and destination options, as well as a TLV for SRH.  To my thinking, the TLV is not intended a general vehicle for carrying IPv6 options.  It is intended to carry SRH meta data.   The relevant text from Section 2.1 SRH TLVs of draft-ietf-6man-segment-routing-header-26:

   A TLV provides meta-data for segment processing.  The only TLVs
   defined in this document are the HMAC (Section 2.1.2) and PAD
   (Section 2.1.1) TLVs.

I don’t see how the alt-mark information can be considered meta-data for segment processing.   I think this draft should focus on an option for hop-by-hop and destionation option headers.  The SRH TLV should be removed.

The Security Considerations section of the draft is empty.   Like most new things proposed, there may be security issues.   With this text, it hard to evaluate the security issues.

As I noted in an earlier draft, this draft appears to depend on other work, such as:

draft-fioccola-v6ops-ipv6-alt-mark-01
draft-ietf-6man-segment-routing-header-26
draft-ietf-ippm-multipoint-alt-mark-04
draft-song-opsawg-ifit-framework-10
RFC8321

However, there are no normative references to these documents.  As I also noted earlier, RFC8231 is Experimental.  Why wasn’t this addressed in this draft?

Other comments inline below.

Bob


> 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
> 
>    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) and
>    in the SRH ([I-D.ietf-6man-segment-routing-header] for the purpose of
>    the Alternate Marking Method application in an IPv6 domain).

As noted above, I don’t think this should be used in SRH.

> 
> 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 and in the SRH.

Remove SRH.

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

RFC8200 is very clear that new EHs with hop by hop behavior must not be defined.  The text says:

   Note: New extension headers that require hop-by-hop behavior must not
   be defined because, as specified in Section 4 of this document, the
   only extension header that has hop-by-hop behavior is the Hop-by-Hop
   Options header.

It is more than a recommendation.


> 
>    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.
> 
>    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 and SRH
>    extension headers, carrying the data fields dedicated to the
>    alternate marking method.

Remove SRH

> 
> 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) and SRH
>    extension headers.

ditto

> 
>     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      |
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
>    where:
> 
>    o  Type/Option Type: 8 bit identifier of the type of Option/TLV that
>       needs to be allocated.  Unrecognised Types MUST be ignored on
>       receipt.

ditto

> 
>    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
>       local or private network, where the conflict probability is small
>       due to the large FlowMonID space.
> 
>    o  L: Loss flag as defined in [RFC8321];
> 
>    o  D: Delay flag as defined in [RFC8321];
> 
>    o  Reserved: is reserved for further use.  These bits MUST be set to
>       zero on transmission and ignored on receipt.

s/further/future/

Correct?

> 
> 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.
> 
>    So, Hop-By-Hop Options Header or Destination Options Header can be
>    used based on the chosen type of performance measurement.

Remove “So, “


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

Why is this necessary?

> 
>    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.
> 
>    In summary, it is possible to list the alternative options:
> 
>       Destination Option => measurement only by node in Destination
>       Address.
> 
>       Hop-By-Hop Option => every router on the path with feature
>       enabled.
> 
>       SRH TLV => every node along the SR path.

I think this is only nodes that are identities in the SR path, not ever node along the SR path.


> 
>       Destination Option + SRH => every node along the SR path.
> 
>    Note that the SRH TLV and Destination Option + SRH can be considered
>    equivalent so in this case it may be preferred to use the SRH.
> 
>    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 hiding the hop-by-hop options inside of destination options can
>    be for compatibility reasons but in general it is not recommended.

“hiding” ?   I don’t follow, they aren’t hidden, destination options are processed at the destination.  Please rewrite.


> 
> 5.  Alternate Marking Method Operation
> 
>    [RFC8321] and [I-D.ietf-ippm-multipoint-alt-mark] describe in detail
>    the methodology.
> 
> 6.  Security Considerations
> 
>    tbc

This needs to be looked at.

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

Remove the request TLV type.

>