Re: [spring] WG Adoption Call for https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-11

Greg Mirsky <gregimirsky@gmail.com> Fri, 06 November 2020 16:17 UTC

Return-Path: <gregimirsky@gmail.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D37D63A0A71; Fri, 6 Nov 2020 08:17:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 nPGiWpYK7RjG; Fri, 6 Nov 2020 08:17:52 -0800 (PST)
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (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 06D6B3A08BB; Fri, 6 Nov 2020 08:17:52 -0800 (PST)
Received: by mail-lf1-x129.google.com with SMTP id z21so1397223lfe.12; Fri, 06 Nov 2020 08:17:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TtaLkdll6oCrH/Qaa5U2XFz9VE2rtAaPtYJOh4WChJc=; b=ehJwIuzTdLt+z8NlFPhXashQxJZrdDbBWKGkYaRbN4StbU21y7JdkFp0KXWz8URQIb MfaNTThm2m06EeJSQ4WNAB4WX8ldqB/IEnfNiNDaeDRv0GarHzxQ03IZkzcE+GMAjeB+ cMfdnVjSeFtLEk+E05JkqRRqnherD6F9cT2ykbGraJpggYwetAqQ76Qa62TbGzc5BiOC plqmxaqUOe1JQEdKSFMUSBxf15cQTTJq00BVgMngGuHwtSJPqcI20nLj0n7KTQa6GqI+ cjy8rb9ZV1jRK+cCD7hRA/oPxpvrFw1g2DOg/6ygdtDy204MwxFo66KS+Hn7lRjAsKsR Fkwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TtaLkdll6oCrH/Qaa5U2XFz9VE2rtAaPtYJOh4WChJc=; b=dTfjbk/2uab9DTUo4T2zznX/A35vT0+imC1bXj6Okit+7T/N4+vr6MxsYzvyku8YP/ eBbnoyOKrymob5djUrK5W9LrIQYPxZTSBgdZ/WdkatCefOf8j0m/0CMHa18uwupkI9t4 u94EcDZDowJxkUeaAimLCK94gwhejg0yyaHUmmB11wsWAP3a9S8oZF8PU9XzYfgbun0k BWCRRRgaIU7FUJJmtDqn4BuUOUXKFx4x5Ii4TU3b/r++wAtsCw5shhppLuOhSvy/DN2G I/cF1Qeuhi3aNenSuX1b1yDjiJpvDkk/Ox3yHuU5b8lZFZWPmmVdueLHFbS7G/Xe+iai FRlw==
X-Gm-Message-State: AOAM533WriqH8K8XhfqIQv1MGCaPbCKQ9psSMf+45W9lapS/ROebV1Il Ut2eg2XBzW49DqY5/YBPKpuVECToX5RklaRO1fO++ejT
X-Google-Smtp-Source: ABdhPJwJd6IhcR9rDUT61C574/4TewY3myT4yE5MmlaTIDTPWvRQ1SCWzZ0pvstv/KHx0OoSCT3WicWGIjygoJB46ho=
X-Received: by 2002:a05:6512:36c5:: with SMTP id e5mr1093204lfs.433.1604679469805; Fri, 06 Nov 2020 08:17:49 -0800 (PST)
MIME-Version: 1.0
References: <DM6PR13MB3066F695F1ABFC22C52CEA3BD21D0@DM6PR13MB3066.namprd13.prod.outlook.com>
In-Reply-To: <DM6PR13MB3066F695F1ABFC22C52CEA3BD21D0@DM6PR13MB3066.namprd13.prod.outlook.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Fri, 06 Nov 2020 08:17:39 -0800
Message-ID: <CA+RyBmWROaXBChBht9hCq3S6r5EASc47Qny1mr3u6kyuuiTXfQ@mail.gmail.com>
To: James Guichard <james.n.guichard@futurewei.com>
Cc: "spring@ietf.org" <spring@ietf.org>, "ippm-chairs@ietf.org" <ippm-chairs@ietf.org>, "spring-chairs@ietf.org" <spring-chairs@ietf.org>, IETF IPPM WG <ippm@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c6b55105b3728dcb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/Dbq3lNBIY84jX7-e5fs1r6LqLrI>
Subject: Re: [spring] WG Adoption Call for https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-11
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Nov 2020 16:18:02 -0000

Dear Chairs of the SPRING and IPPM WGs, Authors, et al.,
I've found myself in the situation when two related drafts are in the WG
APs in the SPRING and IPPM WG (with the possibility that expertise from the
third WG, BFD WG, might be desirable to review the "liveness monitoring").
Because these drafts are closely related, I've decided to combine my
questions and comments in a single thread. I hope that would be acceptable
and considered by the SPRING WG as well as IPPM WG.
Usually, the bar for the adoption of a document can be evaluated by answers
to these three questions:

   - Is the document(s) reasonably well-written

I've got surprised that the drafts don't use the terminology from RFC 4656
and 5357 and introduce their own terminology for Session-Sender and
Session-Reflector. Also, many terms, e.g., Links, "congruent paths", are
used in the documents without proper definitions. Other than that both
drafts are readable and reasonably well-written.


   - Does the document solve a real problem?

No, it appears that these drafts define a new performance measurement
protocol for the purpose of combining OWAMP and TWAMP functionality and
adding the ability to collect counters of "in-profile" packets. I couldn't
find sufficient technical arguments for using a PM protocol instead of, for
example, extending the existing OAM mechanisms like ICMP.


   - Is the proposed solution technically viable?

There are too many unaddressed aspects, particularly the risk introduced by
the protocol on network security, to comprehensively evaluate the proposed
solution.


To summarize my review of these two drafts:

   - these propose a new protocol, not an update or enhancement of the
   TWAMP-like protocol;
   - several parts of the proposed protocol, e.g., Zero UDP checksum in
   IPv6, require detailed security analysis, which is currently absent;
   - I was surprised to find out that draft-gandhi-ippm-twamp-srpm is on
   the Informational track even though it is essential to the new protocol as
   it defines its key elements
   - I believe that draft-gandhi-spring-twamp-srpm should be anchored at
   IPPM WG as it does introduce the new PM protocol.

Below, please find my detailed comments, questions on these drafts:

   - draft-gandhi-spring-twamp-srpm

I have several questions about the relationships between this draft and
Appendix I in RFC 5357 where the idea of a mode known as TWAMP Light has
been mentioned. The nature of the TWAMP Light and what is required to make
it a standard is well-explained in Section 4 of RFC 8545
<https://datatracker.ietf.org/doc/rfc8545/> (apologies for the long quote):
   "TWAMP Light" is an idea described in Appendix I ("TWAMP Light
   (Informative)") of [RFC5357]; TWAMP Light includes an unspecified
   control protocol combined with the TWAMP-Test protocol.  In
   [RFC5357], the TWAMP Light idea was relegated to Appendix I because
   TWAMP Light failed to meet the requirements for IETF protocols (there
   are no specifications for negotiating this form of operation and no
   specifications for mandatory-to-implement security features), as
   described in Appendix A of this memo.  See also [LarsAD] and
   [TimDISCUSS].

   Since the idea of TWAMP Light clearly includes the TWAMP-Test
   component of TWAMP, it is considered reasonable for future systems to
   use the TWAMP-Test well-known UDP port (whose reallocated assignment
   is specified in this document).  Clearly, the TWAMP Light idea
   envisions many components and communication capabilities beyond
   TWAMP-Test (implementing the security requirements, for example);
   otherwise, Appendix I of [RFC5357] would be one sentence long
   (equating TWAMP Light with TWAMP-Test only).

Since we don't have an IETF document that addressed these open questions, I
don't think we can have a draft that proposes extensions to a non-standard
mechanism (Appendix is for Informational material, as I understand it) on
the Standard track.
Now a number of more specific questions.
draft-gandhi-spring-twamp-srpm:

   - In the Introduction it is stated that:

  The TWAMP Light [Appendix I in RFC5357] [BBF.TR-390] provides
   simplified mechanisms for active performance measurement in Customer
   IP networks by provisioning UDP paths and eliminates the need for
   control-channel signaling.

I can not find where, either Appendix I or TR-390, "eliminated the need for
control-channel signaling". Also, could you point where the referenced
documents describe "provisioning UDP paths"?


   - It appears that the last paragraph in the Introduction describes the
   relationship with Appendix I of RFC 5357:

   The procedure uses the mechanisms defined in [RFC5357]
   (TWAMP Light) and its extensions for Performance Measurement.

I think that the reference must be to Appendix I, not RFC 5357. Also, could
you please specify which extensions of TWAMP Light have been used in this
draft?


   - In Section 2.3 describing the reference model is noted:

   The probe response message is typically sent to the sender node R1.

In which scenarios the reflector acts differently? How such behavior is
related to the behavior of a TWAMP Session-Reflector, as defined in RFC
5357?


   - Also in Section 2.3 a Link is mentioned as an element directly
   connecting nodes in the presented reference model. Could you clarify what
   is a Link? Is it always a physical connection between two systems or a
   virtual?
   - In Section 3 behavior of the reflector described as

   ... no PM state for delay or loss measurement need to be created on the
   reflector node R5.

That is in contradiction to the behavior of a TWAMP Session-Reflector as
defined in RFC 5357. Could you provide a reference to an IETF standard
where this behavior is defined? Also, how, without creating a state at the
Session-Reflector, to achieve one-way delay and synthetic loss measurement
on a bidirectional SR tunnel?


   - Further, in Section 3 the selection of UDP port explained as the
   following:

   As specified in [RFC8545], the reflector
   supports the destination UDP port 862 for delay measurement probe
   messages by default.  This UDP port however, is not used for loss
   measurement probe messages.

To the best of my understanding, as one of the contributors and Editors of
RFC 8545, it re-allocated UDP port 862 for use by a TWAMP Session-Reflector
without excluding any type of measurement. Besides, in TWAMP delay and
packet loss are measured in the same test session, using the same flow of
TWAMP-Test packets.


   - Then the draft states that

The sender uses the UDP port number following the guidelines specified in
Section 6 in [RFC6335].

Could you point to the guidelines that a user can use when selecting a UDP
port number of a test session?


   - At the closing of the paragraph, we read that

  The number of UDP ports with PM functionality needs to be minimized due
   to limited hardware resources.

Does a UDP port number pose PM functionality? How it is assigned to the
port number?


   - Following the above-quoted text, in Section 3 is noted:

   For Performance Measurement, probe query and response messages are
   sent as following:

Could you clarify if the listed further procedures deviate from OWAMP/TWAMP
or follow procedures defined in RFC 4656 and RFC 5357 for Session-Sender
and Session-Reflector respectively?


   - for both delay and loss measurements draft requires test packet be
   transmitted on a congruent path:

      the probe messages are sent on the
      congruent path of the data traffic by the sender node

It is not clear what "the congruent path" means. The definition
of congruency in geometry tells us that an object B is congruent to object
A if it has the same shape and size, but is allowed to flip, slide or turn.
How a path can be congruent to another path?


   - The last paragraph in Section 3 refers to work on iOAM:

   The In-Situ Operations, Administration, and Maintenance (IOAM)
   mechanisms for SR-MPLS defined in [I-D.gandhi-mpls-ioam-sr] and for
   SRv6 defined in [I-D.ali-spring-ioam-srv6] are used to carry PM
   information such as timestamp in-band as part of the data packets,
   and are outside the scope of this document.

Is iOAM in the scope of this specification? What are the relationships
between iOAM and draft-gandhi-spring-twamp-srpm?


   - Section 3.1 presents an example of the provisioning model but puts the
   definition of the provisioning model outside the scope. Is there an
   accompanying specification that defines the provisioning model that can be
   used in multi-vendor deployment? Could that be YANG data model? What is the
   relationship with draft-ietf-ippm-twamp-yang
   <https://tools.ietf.org/html/draft-ietf-ippm-twamp-yang-13>? Would the
   TWAMP YANG data model be augmented?
   - Section 4.1 states that a new message is introduced to perform the
   Loss Measurement in this protocol Why the capability of TWAMP to measure
   the loss in one-way and two-way is not sufficient?
   - Section 4.1.1 requires that

  The Destination UDP port cannot be used as Source port, since
   the message does not have any indication to distinguish between the
   query and response message.

Does that imply that the Destination UDP port used for the Delay
measurement is unique throughout the particular domain?


   - Section 4.1.2 of RFC 5357 does not define "the delay measurement
   message" but refers to the definition of the Session-Sender's test packet
   in RFC 4656 OWAMP. Note, that OWAMP and TWAMP are using a single test
   packet format to perform both delay and packet loss measurement.
   - Can you explain how "the DM probe query message contains the payload
   format defined in Section 4.2.1 of [RFC5357]" when the referenced section
   of RFC 5357 defines the format of a Session-Reflector's test packet?
   - Can clarify the applicability of RFC 6038 and the symmetrical packet
   size? Is it required? Can it be non-symmetrical?
   - Can you clarify the use of the timestamp format, NTP or PTPv2? It is
   not clear which is the default, mandatory or optional.
   - Also, is "hardware support in Segment Routing networks" of the PTPv2
   format required, guaranteed, or something else?
   - Section 4.1.1.1 stated that

   A separate user-configured
   destination UDP port is used for the delay measurement in
   authentication mode due to the different probe message format.
Can that be interpreted that there could be concurrent authenticated and
unauthenticated test sessions using this protocol? Would different
authentication methods require using unique destination UDP port numbers?

   - Section 4.1.2 by introducing the dedicated Loss measurement packet
   format, effectively modifies the behavior defined in RFC 5357 for
   Session-Sender and Session-Reflector. But the document does not state that.
   Can you clarify whether this specification changes the behavior of a
   Session-Sender and Session-Reflector as defined in RFC 4656 and RFC 5357
   respectively for the support of packet loss measurement?
   - And a similar question about the use of the separate UDP port number
   for the authenticated of the packet loss measurement.
   - A couple of question to the following text in Section 4.1.3:

   The local and remote IP
   addresses of the link are used as Source and Destination Addresses.
   They can also be IPv6 link local address as probe messages are pre-
   routed.

   - What are the addresses of a link?
      - In which scenarios an IPv6 LLA can be used?
      - Also, could the use of a routable destination IP address be used as
      a DDOS attack vector? Consider the scenario when an attacker generates
      SR-encapsulated packets with the destination IP address other than any of
      the SR-terminating nodes. Such a packet will be routed, correct?
That does
      appear as a security threat, would you agree?
   - Section 4.1.4.2 references Figure 5 that, as I understand it, displays
   the format of a probe query message. In figure two references to RFC 5357
   are provided - a section that references RFC 4656 OWAMP definition of the
   Session-Sender test packet, and a section that defines the
   Session-Reflector's reflected packet. Which of the two is used for the
   delay measurement in the proposed protocol?
   - Section 4.2.1 states that

   In one-way measurement mode, the probe response message as defined in
   Figure 6 is sent back out-of-band to the sender node ...

Could you clarify how the responder controls that the response packet is
sent not in-band but out-of-band?


   - How's the method described in Section 4.2.3 is different from the
   method described in RFC 8403 <https://tools.ietf.org/html/rfc8403>? What
   is distinctly unique about the loopback mode proposed in the section?
   - What is the rationale for setting TTL/Hop Limit fields always to 255
   for IPv4, MPLS, and IPv6 (per Section 4.3.1)?
   - Section 4.3.3 states that a zero-value UDP checksum may be used in
   some scenarios. RFC 8085 allows that but in very specific cases that are
   documented in detail in Section 3.4.1. Do you believe that the case of this
   protocol checks all the requirements for allowing the use of Zero UDP
   checksum as specified in RFC 8085? Also, I believe that allowing the use of
   Zero UDP checksum in some scenarios, this protocol introduces a security
   threat that must be thoroughly analyzed in the Security Considerations
   section.
   - Section 8 refers to "liveness monitoring of Links and SR Paths". This
   appears as the replication of functionality provided by BFD/S-BFD
   protocols. Is such comparison accurate? If it is, shouldn't the proposal be
   also reviewed by the BFD WG?
   - I found the Security Section of the proposed protocol inadequately
   terse and missing very important threats that this protocol introduces in
   the network.



   - draft-gandhi-ippm-twamp-srpm

As I understand it, the motivation for the Loss Measurement mode defined in
this specification is to collect "in-profile" counters. Is that correct? Do
you see as essential for this mode that the query messages are in-band with
the flow being profiled? In your opinion, how using an out-of-band method
of collecting these counters, e.g., by using ICMP multi-part message
extension per RFC 4884, could affect the accuracy comparing with the method
in this protocol? How the impact changes if extended ICMP messages are
in-band with the profiled flow?

   - Section 3.1 introduces the new field, Sender Control Code. The format
   of the packet, as I understand it, is presented in Figure 1. When comparing
   with the format of Session-Sender's test packet defined in RFC 4656 OWAMP
   in Section 4.1.2 I've noticed that there are no MBZ fields. Are these
   introduced by your proposal?
   - Also, it appears that the Sequence Number field in TWAMP
   Session-Sender's test packet is absent in Figure 1. Is that intentional?


Regards,
Greg


On Thu, Oct 22, 2020 at 5:51 AM James Guichard <
james.n.guichard@futurewei.com> wrote:

> Dear WG:
>
>
>
> This message starts a 3 week WG adoption call for document
> https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-11 ending
> November 12th 2020. Please note that this document has several changes
> from v-10 that were requested by the SPRING and IPPM chairs. For this
> reason, the chairs have extended the adoption call for an additional week
> to allow the WG enough time to review these changes before deciding on WG
> adoption.
>
>
>
> Some background:
>
>
>
> Several review comments were received previously for document
> https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-10. The SPRING
> and IPPM chairs considered those comments, and upon review of this version
> of the document, determined the following:
>
>
>
>    - The SPRING document should describe only the procedures relevant to
>    SPRING with pointers to non-SPRING document/s that define any extensions.
>    Several extensions including *Control Code Field Extension for TWAMP
>    Light Messages*, *Loss Measurement Query Message Extensions*, and *Loss
>    Measurement Response Message Extensions *were included in
>    https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-10 and
>    should be removed from the SPRING document.
>    - The TWAMP extensions included in
>    https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-10 should
>    be described in a new document published in the IPPM WG.
>
>
>
> These conclusions were discussed with the authors of
> https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-10 the result
> of which is the publication of the following two documents:
>
>
>
>    - https://tools.ietf.org/html/draft-gandhi-spring-twamp-srpm-11. The
>    subject of this WG adoption call.
>    - https://tools.ietf.org/html/draft-gandhi-ippm-twamp-srpm-00. This
>    document will be progressed (if determined by the WG) within the IPPM WG.
>
>
>
> After review of the SPRING document please indicate support (or not) for
> WG adoption to the mailing list. Please also provide comments/reasons for
> that support (or lack thereof) as silence will not be considered as consent.
>
>
>
> Finally, the chairs would like to thank the authors for their efforts in
> this matter.
>
>
>
> Thanks!
>
>
>
> Jim, Bruno, & Joel
>
>
>
>
>
>
>
>
> _______________________________________________
> spring mailing list
> spring@ietf.org
> https://www.ietf.org/mailman/listinfo/spring
>