Re: [multipathtcp] WG Last Call for draft-ietf-mptcp-rfc6824bis
Alan Ford <alan.ford@gmail.com> Wed, 11 July 2018 06:22 UTC
Return-Path: <alan.ford@gmail.com>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D6ED3130E0E for <multipathtcp@ietfa.amsl.com>; Tue, 10 Jul 2018 23:22:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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_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 5LanHrv_i8TR for <multipathtcp@ietfa.amsl.com>; Tue, 10 Jul 2018 23:22:45 -0700 (PDT)
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (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 88283130E13 for <multipathtcp@ietf.org>; Tue, 10 Jul 2018 23:22:44 -0700 (PDT)
Received: by mail-lj1-x231.google.com with SMTP id q127-v6so17882826ljq.11 for <multipathtcp@ietf.org>; Tue, 10 Jul 2018 23:22:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lyTaWL1yBchTVJVT5yzLXq/kgjW0xRGjPQOiyCO+Lhk=; b=RAEefQobSYuEE8xk8tPbVe9bdpOYIQkZbLFrdXMPUy2jOnGbleP1G+2m+LbIBXR0+I 9WOMUtmbFXHTFgk1WB+uYULuu58wwzJENyPaG1yRLlEeniQOwcqINORF08O+WF9cdrnF +S4xw7qbifLV1Fq99tNwtuB+0UI5/UlmzZNdfA+P4TCDDQN+iCNXbgB+eWdowRoXgMGn DEt1lL9aYgCdSor9I+HIXU0KlVALsOfbShXXwGOVcJ7S96Hk1Ewe311p2j2mfQRe0XDN 4jyIFu5DjpQ1kA9mY1LVI08xjT29dG/zc/d7xz90oNviogcbgehh5w8+re4QNpixmFfg JyOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=lyTaWL1yBchTVJVT5yzLXq/kgjW0xRGjPQOiyCO+Lhk=; b=CbwThi+c9y3wWKr4KjKH26fyRh6RNNxwYRgK5dhTuaPr0ISxp4mi+XRlGFQvcHMzaP +TZIEuc6g/SWxIVtii+BcZEOkwh2Sg9JpkYqrA1GQa14N+9J4O0MXkln/SkQ8N+GnvIK kybu1GTK7TxjEt0jzq+WMeHDH5mBk8MMWqDUfIQKO608UBmxYzgvijHVHcZVYEJANYIv w6CUUqhYhO6cJ9bxt7Nt/HI5y/AhESZC+5ZZnNuXFm6JpsWRZm7keEPFg+4nt/Y1UEPR 1OSaHapi0uJD29baLDIljj4R2CHpPpXrg4qoOb1lAQ9vqU1EJwFLhPXoo+GWdyrde9LI uArg==
X-Gm-Message-State: APt69E0P7dPKvGiuYD4oUmS3vvfskwZpsrUwHLi8jxxogQWK9JVZEOP9 J9eTce7BX0//kanV4bimEl4=
X-Google-Smtp-Source: AAOMgpe9A6qLy5KuVN11MpUR3iSoC/ty9gH5cMYEHwaF8MSjUrtT81hC1oijqHdIbW2yvEGHb5ccsQ==
X-Received: by 2002:a2e:350b:: with SMTP id z11-v6mr16871943ljz.55.1531290162618; Tue, 10 Jul 2018 23:22:42 -0700 (PDT)
Received: from [192.168.1.66] ([83.216.156.195]) by smtp.gmail.com with ESMTPSA id w14-v6sm2064959ljh.71.2018.07.10.23.22.41 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 10 Jul 2018 23:22:41 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Alan Ford <alan.ford@gmail.com>
In-Reply-To: <f64af1576d994d888a7b82fb75dc8318@rew09926dag03b.domain1.systemhost.net>
Date: Wed, 11 Jul 2018 07:22:40 +0100
Cc: multipathtcp@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <ACB25C6F-1E4B-45A5-82A1-E219ECEDD40E@gmail.com>
References: <0dd5e48298ed4b4fb7344630abc794b7@rew09926dag03b.domain1.systemhost.net> <f64af1576d994d888a7b82fb75dc8318@rew09926dag03b.domain1.systemhost.net>
To: philip.eardley@bt.com
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/7N_eC34WZxi5XTfU_kMjsUwg8bU>
Subject: Re: [multipathtcp] WG Last Call for draft-ietf-mptcp-rfc6824bis
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multipathtcp/>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Jul 2018 06:22:48 -0000
Thank you for your feedback, Phil. All proposed changes look good and we will wrap these into the next version. @Everyone - we are however awaiting other WGLC feedback before doing a new revision! Best regards, Alan > On 18 Jun 2018, at 14:59, philip.eardley@bt.com wrote: > > More comments: > Section 3.5 - > Option R (RST) - add (at the end of the bullet) "the Host A enters the CLOSED state directly" (I think) > > << If a host receives a packet with a valid MP_FASTCLOSE option, it > shall process it as follows :>> > I think the text that follows (apart from the last bullet) is only relevant for Option A, where the MP_FASTCLOSE is sent on an ACK - it doesn't apply for option R (where it's sent on a RST). Anyway, things could be laid out slightly differently so the section is clearer. > > Section 3.6 > I wonder if it would be more logical for this section to be before Fast close? > > This section could do with a read through. A few things: > << As discussed in Section 3.5 above, the MP_FASTCLOSE option provides a > connection-level reset roughly analagous to a TCP RST. Regular TCP > RST options remain used to at the subflow-level to indicate the > receiving host has no knowledge of the MPTCP subflow or TCP > connection to which the packet belongs.>> > Can this paragraph be deleted? at least I found it a bit confusing that this text is not about this section. > > "remain used to at" is ugly > > << However, in MPTCP, there may be many reasons for rejecting the > opening of a subflow, but these semantics cannot be carried in a > standard TCP RST. It would be beneficial for a host to the reasons > why its subflow has been closed with a RST, and thus whether it > should try to re-establish the subflow immediately, later, or never > again. These semantics are carried in the MP_TCPRST option that can > be included on a TCP RST packet.>> > I presume the new MP_TCPRST can be added to a RST, whenever it's created - the sentence seems to imply it's only when it wants to reject the opening of a subflow (ie in response to MP_JOIN). > I assume inclusion of the MP_TCPRST option is optional? > > potential better phrasing: > A host sends a TCP RST in order to close a subflow or reject an attempt to open a subflow (MP_JOIN). In order to inform the receiving host why a subflow is being closed or rejected, the TCP RST packet MAY include the MP_TCPRST Option. The host MAY use this information to decide, for example, whether it tries to re-establish the subflow immediately, later, or never. > > << o Unspecified error (code 0x0). This is the default error implying > the subflow is not longer available. The receiving host SHOULD > take account of the 'T' bit in deciding whether to re-estbalish > this subflow. The presence of this option shows that the RST was > generated by a MPTCP-aware device.>> > > " The receiving host SHOULD take account of the 'T' bit in deciding whether to re-estbalish this subflow." > Only this sub-bullet mentions the T bit, which may suggest that it should not be taken account of with the other reason codes. I think the sentence should be deleted (using the T flag is mentioned earlier). > > <<enough ressources>> enough resources > > Section 3.7 > I guess it's OK to refer to it as RST rather than TCP RST? > > << The case described above is a specialized case of fallback, for when > the lack of MPTCP support is detected before any data is acknowledged > at the connection level on a subflow. >> > "The case above" - I'm not sure which of the previous paragraph or paragraphs you're referring to. > "specialised" - maybe "specific" [is it really specialised?] > "for when" -> when > > S3.9.2 > << If the two communicating hosts immediately try to set up subflows > from all available addresses to all available addresses on the other > host, this could end up creating two subflows per path. This is an > inefficient use of resources.>> > is two subflows correct? Multiple I think > " could end up creating two subflows per path" -> "could create multiple subflows over the same path" > > << If a host does not support TCP simultaneous open, it > is RECOMMENDED that some element of randomization is applied to the > time waited before opening new subflows, so that only one subflow > exists between a given address pair. If, however, hosts signal > additional ports to use (for example, for leveraging ECMP on-path), > this heuristic need not apply.>> > "time waited" - ugly phrase? > "exists" -> is created > "need not apply" -> is not appropriate > > Section 5 - Security > This section needs updating to reflect the changes in the bis.: > > Add mention of ADD_ADDR, now with HMAC and reliability, > Discuss the revised MP_CAPABLE > I'm not sure if the new fast close option (option R) has any security impact? > Discuss the MP_PRIO change (no off path address indication) > Discuss downgrade attacks (to v0) during connection initiation > > Section 8 IANA > << This document updates [RFC6824] and as such IANA is requested to > update the TCP option space registry to point to this document for > Multipath TCP>> > This document obsoletes rather than updates... I suspect this means all the MPTCP options need to be included in this document, but we can leave IANA to decide that. > > << | C | Do not attempt to connect to | This document, | > | | source address | Section 3.1 | >>> > I don't think this is a good summary of flag C's meaning. > > << The > contents of this sub-registry are to to this document, as follows: >>> > Is this sentence needed? > > Appendix B TCP Fast Open > Maybe rephrae the title as "TCP Fast Open and MPTCP" or "Considerations about using TCP Fast Open and MPTCP"? > > This section could do with a read through, it could do with a few minor re-phrasings > > > << TCP Fast Open (TFO) is an experimental TCP extension, described in > [RFC7413], which has been introduced with the objective of gaining > one RTT before transmitting data.>> > " gaining one RTT"? maybe: which allows data to be sent one RTT earlier than with regular TCP. > << It achieves this by sending the SYN- > segment together with data>> > re-phrase (I think data is referring ot the cookie - but you havent yet mentioned it - rather than user data) > > "resp." = ? > > << TFO and MPTCP can be combined provided that the total length of their > options does not exceed the maximum 40 bytes possible in TCP>> > "their" is wrong, as there may be other options. -> "all the" > > << We also note that this does not entail a loss > of functionality, because TFO-data is always sent when only one path > is active.>> > -> "TFO-data is only ever sent when only a single path is active" > How do you guarantee this? Not sure I understand. > > << To solve this, the TFO data should not be considered part of the Data > Sequence Number space:>> > Is this a SHOULD NOT? Does it imply a change to rfc7413 (the tfo rfc)? I guess this is really a suggestion to the implementer? > > Section B.3 > I assume this sub-section is an example (so no SHOULD or even MAY are needed) > > << client server > | | > | S 0(0) <MP_CAPABLE>, <TFO cookie request> | > | -----------------------------------------------------------> | >>> > Can you explain the S 0(0) nomenclature/ please. > > > Appendix D Finite state machine > I presume we don't need similar FSM for fastclose? > > > Section 2: > Need to add sub-sections on closing subflow & fast close & fallback > > S2.7 - I think the third bullet about notable features could be slightly altered, with enhanced security for ADD_ADDR and MP_CAPABLE. You could also add a mention of rfc7430 > > > Section 2.1 & 3.1 - can you remind me why we changed MP_CAPABLE so that Host A's key is sent only on the ACK (not on the SYN)? Is this so it's only sent when we know host B is MPTCP capable, which is therefore a slight security improvement? (Just send a link to earlier emails, if that's easier) > > Thanks > phil > -----Original Message----- > From: Eardley,PL,Philip,TUD1 R > Sent: 14 June 2018 11:56 > To: 'philip.eardley@bt.com' <philip.eardley@bt.com>; multipathtcp@ietf.org > Subject: RE: WG Last Call for draft-ietf-mptcp-rfc6824bis > > A few comments as I work through the document, basically minor so far > > Section 3.1 > << Given the SYN exchange is different between v1 and v0 > the exchange cannot be immediately downgraded, and therefore if the > far end has requested a lower version then the initiator SHOULD > respond with an ACK without any MP_CAPABLE option, to fall back to > regular TCP.>> > I think it should say "to ensure the exchange cannot..." > > > << The first 4 bits of the first octet in the MP_CAPABLE option > (Figure 4) define the MPTCP option subtype (see Section 8; for > MP_CAPABLE, this is 0), and the remaining 4 bits of this octet > specify the MPTCP version in use (for this specification, this is 1). >>> > "The first 4 bits of the first octet in the MP_CAPABLE option" Fig 4 shows two earlier octets (Kind & Length) - I know these arent the MP-CAPABLE option, but I think it might be worth spelling out what they are. > > Would it be better strictly to have "0x0" rather than "0"? (ie match the IANA registry) > > Section 3.4.1 > <<A set of four flags are present after the subtype and before the > Address ID. Only the rightmost bit - labelled 'E' - is assinged > today. The other bits are currently unassigned and MUST be set to > zero by a sender and MUST be ignored by the receiver. > > The 'E' bit exists to provide reliability for this option. Because > this option will often be sent on pure ACKs, there is no guarantee of > reliability. Therefore, a receiver receiving a fresh ADD_ADDR option > (where E=0), will send the same option back to the sender, but not > including the HMAC, and with E=1. The lack of this echo can be used > by the initial ADD_ADDR sender to retransmit the ADD_ADDR according > to local policy. >>> > 4 comments: > Assinged /assigned > > The 'E' bit - better to say flag? > > Section 2.3 needs to be amended to show the reply /echo message for ADD-ADDR. I suggest the pic in S2.3 also shows the E value. > > Not sure - does this open security hole, where an attacker pretends an ADD-ADDR has been received? (the Echo doesn't include an hmac, so is easy to spoof) > > And in Fig 12 > | Truncated HMAC (8 octets, if length > 10 octets) | > > Could this be made more straightforward? Ie spell out when length is >10 octets ie IPv6 (if I understand it). This also seems to mean that IPv4 doesn't include the HMAC, is this right?? > > Thanks > phil > > -----Original Message----- > From: multipathtcp [mailto:multipathtcp-bounces@ietf.org] On Behalf Of philip.eardley@bt.com > Sent: 05 June 2018 09:14 > To: multipathtcp@ietf.org > Subject: [multipathtcp] WG Last Call for draft-ietf-mptcp-rfc6824bis > > This starts a WG Last Call for draft-ietf-mptcp-rfc6824bis. Please send comments by the end of June. > > Please note there are three IPR disclosures (we're working on getting them added to the rfc6824bis page): > > * two are inherited from RFC6824 https://datatracker.ietf.org/ipr/search/?submit=draft&id=draft-ietf-mptcp-multiaddressed > * one is inherited from draft-paasch-mptcp-syncookies (which got include in rfc6824bis) https://datatracker.ietf.org/ipr/2678/ > > Thanks, > Phil & Yoshi > _______________________________________________ > multipathtcp mailing list > multipathtcp@ietf.org > https://www.ietf.org/mailman/listinfo/multipathtcp > > _______________________________________________ > multipathtcp mailing list > multipathtcp@ietf.org > https://www.ietf.org/mailman/listinfo/multipathtcp
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Yoshifumi Nishida
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- [multipathtcp] WG Last Call for draft-ietf-mptcp-… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Alan Ford
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- [multipathtcp] FW: WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Alan Ford
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Christoph Paasch
- [multipathtcp] WG Last Call for draft-ietf-mptcp-… philip.eardley
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… Rahul Arvind Jadhav
- Re: [multipathtcp] WG Last Call for draft-ietf-mp… philip.eardley