Re: [tcpm] Éric Vyncke's Discuss on draft-ietf-tcpm-converters-17: (with DISCUSS and COMMENT)

mohamed.boucadair@orange.com Thu, 05 March 2020 13:46 UTC

Return-Path: <mohamed.boucadair@orange.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C448D3A14FC; Thu, 5 Mar 2020 05:46:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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=orange.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 udEzreYtpsa4; Thu, 5 Mar 2020 05:46:29 -0800 (PST)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.70.34]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 81A093A14F8; Thu, 5 Mar 2020 05:46:29 -0800 (PST)
Received: from opfednr04.francetelecom.fr (unknown [xx.xx.xx.68]) by opfednr20.francetelecom.fr (ESMTP service) with ESMTP id 48YBqS1mLFz1yQ5; Thu, 5 Mar 2020 14:46:28 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.com; s=ORANGE001; t=1583415988; bh=xsj3W5ttVpHCWj5V7zTVHXi2+faxp45NVG+P35oP5Jo=; h=From:To:Subject:Date:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=PmK0o5gVI8iCq13r2soE1FjYIGdJikmriKkSdwMtR5bKuMERCXcGrQQ2XUgZ1pana COHN1akZe0iAgjZCDTZ2ScffA5BN3LhB3mKRO4VpkXvSkcAIsxwt/V1p9zgLxSX3PR MryTunhwoy+A9lKnTcJKMtiPO4zawOl+mem2VEFVGSN36r1erWmW4dfHEkqclOesqV nk+g0BaA+UiLHRUrNmGxrBp3G/GaFfe6W8XGoK/dd5SYJRorD+bvxe7+lDtIbf9XcP /zOuRNPt8UwUsZkcbS/BwfiNk1HnP6nqDbS6hHG1FpHck7OqPIu04n+DxmJ3HMcQe0 f/5RwRBZjD6FQ==
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.86]) by opfednr04.francetelecom.fr (ESMTP service) with ESMTP id 48YBqS0JtYz1xrd; Thu, 5 Mar 2020 14:46:28 +0100 (CET)
Received: from OPEXCAUBMA2.corporate.adroot.infra.ftgroup ([fe80::e878:bd0:c89e:5b42]) by OPEXCAUBMA4.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0487.000; Thu, 5 Mar 2020 14:46:27 +0100
From: mohamed.boucadair@orange.com
To: "Eric Vyncke (evyncke)" <evyncke@cisco.com>, The IESG <iesg@ietf.org>
CC: "draft-ietf-tcpm-converters@ietf.org" <draft-ietf-tcpm-converters@ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>, Michael Scharf <michael.scharf@hs-esslingen.de>, "tcpm-chairs@ietf.org" <tcpm-chairs@ietf.org>
Thread-Topic: Éric Vyncke's Discuss on draft-ietf-tcpm-converters-17: (with DISCUSS and COMMENT)
Thread-Index: AQHV8KMVSXlWtT5BgkaFkfNQ++7N1ag1f3AwgASRV4D///CKAA==
Date: Thu, 05 Mar 2020 13:46:27 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B93303145F926@OPEXCAUBMA2.corporate.adroot.infra.ftgroup>
References: <158316112770.27414.3186724146499309840@ietfa.amsl.com> <787AE7BB302AE849A7480A190F8B93303145D56F@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <84F43283-7103-4D57-8A54-494958EEBD63@cisco.com>
In-Reply-To: <84F43283-7103-4D57-8A54-494958EEBD63@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.245]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/56snzoN1ikWTzmXHVjv2ywRnFzU>
Subject: Re: [tcpm] Éric Vyncke's Discuss on draft-ietf-tcpm-converters-17: (with DISCUSS and COMMENT)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Mar 2020 13:46:32 -0000

Hi Eric, 

Thank you for the follow-up.

Please see inline. 

Cheers,
Med

> -----Message d'origine-----
> De : Eric Vyncke (evyncke) [mailto:evyncke@cisco.com]
> Envoyé : jeudi 5 mars 2020 14:19
> À : BOUCADAIR Mohamed TGI/OLN; The IESG
> Cc : draft-ietf-tcpm-converters@ietf.org; tcpm@ietf.org; Michael
> Scharf; tcpm-chairs@ietf.org
> Objet : Re: Éric Vyncke's Discuss on draft-ietf-tcpm-converters-17:
> (with DISCUSS and COMMENT)
> 
> Med
> 
> About my second discuss around ICMP. Thank you for the added
> information, but, I think that the document should be clear about:
> - how the Convert processes received ICMP (e.g., you wrote in the
> email but not in the I-D: when receiving ICMPv6 type 1, then close the
> 2 connections and pass the code for ICMPv6 type=1 b)

[Med] Actually, this is governed by this text for all errors (6.2.8):

   "Upon reception of an Error TLV, a
   Client MUST reset the associated connection."

> - what to do with ICMPv6 type 3 from the server for example (re-
> assembly time-out) ? I guess that it is handled by the TCP entity in
> Convert but then there is no feedback to the client ?

[Med] These are handled locally by the converter and no feedback is sent to the client because this is a soft error (RFC793bis):

==
   Soft Errors
     For ICMP these include: Destination Unreachable -- codes 0, 1, 5,
     Time Exceeded -- codes 0, 1, and Parameter Problem.
     For ICMPv6 these include: Destination Unreachable -- codes 0 and 3,
     Time Exceeded -- codes 0, 1, and Parameter Problem -- codes 0, 1, 2
     Since these Unreachable messages indicate soft error conditions,
     TCP implementations MUST NOT abort the connection (MUST-56), and it
     SHOULD make the information available to the application (SHLD-25).
==

If we had to echo such class of ICMP messages in an Error TLV, the connection will be reset...which is conflicting with RFC793. That's not an option.

Will need to think about this one further and add more text to the draft. 

> - what to do with ICMPv6 type 3 from the client ?
> 
> In short, mentioning only twice ICMP without any description on how to
> process received ICMP seems really light and open to interpretation
> 

[Med] Idem as above. Thank you. 


> -éric
> 
> -----Original Message-----
> From: iesg <iesg-bounces@ietf.org> on behalf of
> "mohamed.boucadair@orange.com" <mohamed.boucadair@orange.com>
> Date: Tuesday, 3 March 2020 at 09:02
> To: Eric Vyncke <evyncke@cisco.com>, The IESG <iesg@ietf.org>
> Cc: "draft-ietf-tcpm-converters@ietf.org" <draft-ietf-tcpm-
> converters@ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>, Michael Scharf
> <michael.scharf@hs-esslingen.de>, "tcpm-chairs@ietf.org" <tcpm-
> chairs@ietf.org>
> Subject: RE: Éric Vyncke's Discuss on draft-ietf-tcpm-converters-17:
> (with DISCUSS and COMMENT)
> 
>     Hi Eric,
> 
>     Thank you for the review.
> 
>     Please see inline.
> 
>     Cheers,
>     Med
> 
>     > -----Message d'origine-----
>     > De : Éric Vyncke via Datatracker [mailto:noreply@ietf.org]
>     > Envoyé : lundi 2 mars 2020 15:59
>     > À : The IESG
>     > Cc : draft-ietf-tcpm-converters@ietf.org; tcpm-chairs@ietf.org;
>     > tcpm@ietf.org; Michael Scharf; michael.scharf@hs-esslingen.de
>     > Objet : Éric Vyncke's Discuss on draft-ietf-tcpm-converters-17:
> (with
>     > DISCUSS and COMMENT)
>     >
>     > Éric Vyncke has entered the following ballot position for
>     > draft-ietf-tcpm-converters-17: Discuss
>     >
>     > When responding, please keep the subject line intact and reply
> to all
>     > email addresses included in the To and CC lines. (Feel free to
> cut
>     > this
>     > introductory paragraph, however.)
>     >
>     >
>     > Please refer to https://www.ietf.org/iesg/statement/discuss-
>     > criteria.html
>     > for more information about IESG DISCUSS and COMMENT positions.
>     >
>     >
>     > The document, along with other ballot positions, can be found
> here:
>     > https://datatracker.ietf.org/doc/draft-ietf-tcpm-converters/
>     >
>     >
>     >
>     > ----------------------------------------------------------------
> ------
>     > DISCUSS:
>     > ----------------------------------------------------------------
> ------
>     >
>     > Thank you for the work put into this document. It is indeed
> useful to
>     > be able
>     > to deploy easily new TCP features.
>     >
>     > Nevertheless, please find below two DISCUSSes and some non-
> blocking
>     > COMMENTs
>     > (and I would appreciate a response from the authors) and NITS.
>     >
>     > I hope that this helps to improve the document,
>     >
>     > Regards,
>     >
>     > -éric
>     >
>     > == DISCUSS ==
>     >
>     > -- Section 1.2 --
>     > A trivial one: while the title and the abstract of this document
>     > appear as
>     > quite generic, the document focus is reduced later in section
> 1.2 to
>     > MPTCP:
>     >   "this
>     >    document specifies how the Convert Protocol applies for
> Multipath
>     >    TCP.  It is out of scope of this document to provide a
>     > comprehensive
>     >    list of all potential conversion services. "
>     > While I do not mind having a focus on MPTCP only, I would
> strongly
>     > suggest to
>     > reflect this focus in the title and in the abstract (the current
>     > filename is
>     > correct).
>     >
> 
>     [Med] As explained by Mirja, MPTCP is only meant to exemplify the
> approach. I added this note at the end of the abstract:
> 
>     "As a sample applicability use case, this document specifies how
> the Convert Protocol applies for Multipath TCP."
> 
>     > -- Section 6.2.8 --
>     > I appreciate that this is an experimental document, but, having
> only 2
>     > occurrences of ICMP in the whole document and no real "how to
> process"
>     > TLV
>     > "Destination Unreachable"... and the payload of this TLV having
> only
>     > the code
>     > without the offending packet will probably make Path MTU
> discovery
>     > (and other
>     > mechanisms) impossible.
>     >
> 
>     [Med] Some comments here:
>     * The connection is split into two legs. As such, path MTU
> considerations are managed by the endpoints of each of these legs:
> (client and converter) and (converter and server).
>     * We don't require specific treatment to ICMP messages, except for
> when there is a reachability issue to the server we decide to echo
> ICMP reachability errors to the client.
>     * We don't need to echo the payload (*) of the ICMP error in the
> Convert Error Code because this is bound to the TCP connection over
> which the error was received. This is done in-band if you will.
> 
>     =(*)=
>        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
> +-+
>        |      Internet Header + 64 bits of Original Data Datagram
> |
>        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
> +-+
> 
>     Or
> 
>           |                    As much of invoking packet
> |
>           +                as possible without the ICMPv6 packet
> +
>           |                exceeding the minimum IPv6 MTU [IPv6]
> |
>     ==
> 
>     * The connection is aborted upon receipt of this error.
> 
>     Please let us know if you had in mind other processing that we
> need to call out. Thank you.
> 
> 
>     > While I am not a transport expert, I believe that this aspect
> needs to
>     > be
>     > described in this document.
>     >
>     >
>     > ----------------------------------------------------------------
> ------
>     > COMMENT:
>     > ----------------------------------------------------------------
> ------
>     >
>     > Here are some COMMENTs
>     > -- Section 1.2 --
>     > Is the benefit of a transport proxy only for the clients as
> written in
>     > the 1st
>     > paragraph? It was probably the case for the original MPTCP proxy
> but
>     > what about
>     > other TCP extensions?
>     >
> 
>     [Med] Good point. Added "in particular" to the sentence you are
> referring to.
> 
>     Even with MPTCP we do have scenarios that are 'network-specific"
> (e.g., data-centers).
> 
> 
>     > -- Section 4.1 --
>     > While the difference "(Internet-facing interface, customer-
> facing
>     > interface)"
>     > will probably represent the vast majority of use cases, I wonder
>     > whether there
>     > will always be a single Internet-facing ? Could probably be 0 or
> 2 in
>     > some use
>     > cases... Suggest to remove this part of the text.
>     >
> 
>     [Med] Indeed, more than one interface may be available. See for
> example:
> 
>        A first safeguard against the misuse of Transport Converter
> resources
>        by illegitimate users (e.g., users with access networks that
> are not
>        managed by the same provider that operates the Transport
> Converter)
>        is the Transport Converter to reject Convert connections
> received on
>        its Internet-facing interfaces.
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
>     What about using Internal realm and External realm?
> 
>     > -- Section 6.1 --
>     > Please state the usual wording about "unassigned" field: it must
> be
>     > ignored by
>     > the receiver.
>     >
> 
>     [Med] Added. Thanks.
> 
>     > Adding some explanations on why version 0 is reserved but cannot
> be
>     > used would
>     > be welcome.
> 
>     [Med] In early versions of the spec, we don't use a dedicated port
> number for the protocol but relies only the IP address of the
> converter. Having a bit set in the version number + the length field
> allows to avoid interpreting a data as Convert TLVs. We even
> considered the use of a Magic Number to unambiguously identify Convert
> messages.
> 
>     Since we updated design to have a dedicated service port, we don't
> have those issues. Version 0 would work as well but existing
> implementations already use version 1.
> 
> 
>     >
>     > -- Section 6.2.5 --
>     > Can the "remote peer IP address" be a link-local address ?
> 
>     [Med] It is unlikely but I prefer to not declare it as illegal. As
> a general rule, the converter will return a "Network Failure" error
> when it can't forward a packet.
> 
>     (You may check RFC8335 which allows to probe a remote
> endpoint...using a link-local address!)
> 
>     >
>     > == NITS ==
>     >
>     > -- Section 1.1 (and possibly others) --
>     > Please use a consistent means of introducing acronyms, cfr URLLC
> and
>     > ATSSS ;-)
> 
>     [Med] Will double check. Than you.
> 
>     >
>     > -- Section 4.2 ---
>     > The use of "regular TCP packets" makes me wonder whether the
> authors
>     > think that
>     > MPTCP uses "irregular TCP packets"... The use of 'regular' seems
> a
>     > little weird
> 
>     [Med] I hear you. Will update the text.
> 
>     > here but I am not a native English speaker.
>     >
>     > -- Section 4.3 --
>     > The caption below figure 7 ends with "(TCP)" that is not the
> acronym
>     > of
>     > "Transport Session Entry". Is it expected ?
> 
>     [Med] Deleted, thanks.
> 
>     We used to have another example with MPTCP specifics hence that
> mention.
> 
> 
>