[multipathtcp] Re: comments on draft-baerts-tcpm-mptcpext-00
Yoshifumi Nishida <nsd.ietf@gmail.com> Wed, 16 July 2025 16:52 UTC
Return-Path: <nsd.ietf@gmail.com>
X-Original-To: multipathtcp@mail2.ietf.org
Delivered-To: multipathtcp@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 13B1744DCE10; Wed, 16 Jul 2025 09:52:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YWpZ1nU7uaLw; Wed, 16 Jul 2025 09:52:22 -0700 (PDT)
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id D9E4E44DCA47; Wed, 16 Jul 2025 09:51:34 -0700 (PDT)
Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-32b5226e6beso633111fa.2; Wed, 16 Jul 2025 09:51:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752684694; x=1753289494; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=L7+8igOP9DvPcD5hJWbZq68Mtarv+oT8Fk9W+0DM6ws=; b=Wudj0/KU+MUnbTlLD2IAM46bqD7tSJTaeYc3yt66a+/2ZOmCAtL8kXiiFxBc5KL73a 3JoRaUnr6yPhO23aiMBZ8Q03IvaFXWfQ+m/B/CnZEeuj10zDJxx8q5W2jR+O8KQyoDSj M0iQ3lNLPAac1KdNJEAjnpJw6KsqfnQJ/UOZEQgyiyKe/7vBQJ6+NlmLHMGGoD3+UI/5 l1DqCXRO+uYsGJHvtqcBrNGkNnq/g9vy7gaPjeT8r+wPvTrF7thHKQOGO0hWK5ZF7azf FPrSudcDbfF4JDxz7ImEeKC6HdpxCKGBUBROGMOYboxHD7p0oSx44SkXKKlrdqXqwsDW 7/Kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752684694; x=1753289494; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L7+8igOP9DvPcD5hJWbZq68Mtarv+oT8Fk9W+0DM6ws=; b=GkXALd9hkTAzN6Kx3VVsy/TYs8/WDdS/0s3gpwIRW6e8bxXpUD2hB1IheInyM2r/eI INFw62Za6gDwhFFmzfnh/wzm3uOHlMWo0/XekM2x2+MX4hwt3OBbBcdqPSHnZ5Iw1kvs 7pbuNB8IQg0k79Mc5MaamzMo4LJeH0GOer9WoJfqvjF9wG+MeAlmIaT4wiNC8bxTwmzE MetSRjZPJbOlOf6oTScnQAiI1xQ13Z9rOCjeFSGic6EoCTIlXR4N+ozxfIwOZxc3G3CU jwke1LGqUt8yhfIlpDF3HkuMEmgSx+AbWfyCVNecX0LMMmza7g2HtPljp0k4wRsmJymG +3Wg==
X-Forwarded-Encrypted: i=1; AJvYcCW55ozTGLKm/gjw07BAkGhyLMy1qXXBJhU8tpfkzxh6xz5GlK0eqndeNTTtlmZv1ErhgIGc@ietf.org
X-Gm-Message-State: AOJu0YzX1X3A8HrVzxISRQllAy4nezXXoNT7b2Qg4IfCkI27oG9kD4pN Tc38MMkPhJDmlCYev2sze1DAg9WyJRyXr+sOwe4uBCt9zvXspM8jn7DbEPMRE5eFZf/4oULXpnn dFavMu47icpnueemmvOB0XjTKWkyoXhw=
X-Gm-Gg: ASbGncuzWXM9lvj7db3nW+qjOdaEZXtRKqW9o2G4okrwkeF6HPboxTBjBcDNMS0Xejr OaX07Coa69Eb7h4vaZ8VbnAW145K4YwnR7T3/+Aa4CXau1CFPTzs22ftnaXVGhW0F5ssSoi7yiA O6Xve/K6gK6bz4QxlV3lFrEm8KPAgymE/7INpZlXI9cLUhCqt+pxJUzkMRLU3MOwqO+BJ8uwkvU l1FEscv
X-Google-Smtp-Source: AGHT+IExlZ4hEAO19NPbvUnkX4x2ohxzk2htoPHr4c0cZ6wV4k6s+9VPSNE9Tl/IkTMY2oN6XvEAt6H8NClQ3RuKi4E=
X-Received: by 2002:a05:651c:41cc:b0:32b:7356:94cb with SMTP id 38308e7fff4ca-3308f5c71bdmr11916311fa.19.1752684693119; Wed, 16 Jul 2025 09:51:33 -0700 (PDT)
MIME-Version: 1.0
References: <CAAK044Rmey=zL-zx=a2bZFR_r04WUUK-ij8Wuxm8P4YtE_eF7A@mail.gmail.com> <9144fcf7-9087-45b6-af4c-3d5f7040a06f@uclouvain.be>
In-Reply-To: <9144fcf7-9087-45b6-af4c-3d5f7040a06f@uclouvain.be>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Wed, 16 Jul 2025 09:51:21 -0700
X-Gm-Features: Ac12FXyuqCI7zYZ7ORSoGsqyGNcYaByTI5um8bBeTSnW2JoLrqgN8H6l5KAnAJU
Message-ID: <CAAK044R+yKp38qcvGvV7AZcL2bynim1aDTFcDygddR8xaafwvg@mail.gmail.com>
To: Matthieu Baerts <matthieu.baerts@uclouvain.be>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: ZKSBY7CFGOUMZHFFN4YA5ULCSO7OPTCA
X-Message-ID-Hash: ZKSBY7CFGOUMZHFFN4YA5ULCSO7OPTCA
X-MailFrom: nsd.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-multipathtcp.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: multipathtcp <multipathtcp@ietf.org>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [multipathtcp] Re: comments on draft-baerts-tcpm-mptcpext-00
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/qXcTQIAaH3ijjh7dP0xGkyQt64A>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multipathtcp>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Owner: <mailto:multipathtcp-owner@ietf.org>
List-Post: <mailto:multipathtcp@ietf.org>
List-Subscribe: <mailto:multipathtcp-join@ietf.org>
List-Unsubscribe: <mailto:multipathtcp-leave@ietf.org>
Hi Matt, thanks for your response. I put my comments in lines. On Tue, Jul 15, 2025 at 2:14 PM Matthieu Baerts <matthieu.baerts@uclouvain.be> wrote: > > Hi Yoshi, > > On 15/07/2025 05:57, Yoshifumi Nishida wrote: > > Hi Matt, Olivier, > > > > Thanks for providing a draft. I have a couple of comments on the > > following points. > > We appreciate your review! > > > It would be great if you could clarify them. > > > > 1: As far as I remember we had draft-paasch-mptcp-application- > > authentication and draft-paasch-mptcp-ssl which address similar points. > > I think it would be great if the draft can address what's the difference > > between them and this draft and what's the advantages of this approach, etc. > > Good point! These drafts have been mentioned, but that's it. I created a > task for that: > > https://github.com/IPNetworkingLab/draft-mptcp-ext/issues/1 Thanks! > > 2: How to send NEW_KEY options is not very clear to me. Should it be > > sent with an ack or a data packet or doesn't it matter? > > Similar to other signalling options from RFC8684, it doesn't matter, as > long as there is space in the TCP options. (That's why most signals are > sent in a pure ACK) I think it's fine if they're not retransmitted. But, it seems that this option requires retransmissions. In my understanding, MPTCP retransmits pure ACKs only if they are third ACKs. However, this option will be used in other pure ACKs. One concern for this is if we retransmit pure ACKs, it can be looked as dup acks, which might trigger CC by mistake. > > Also, what's the receiver's reaction when it receives the option? > > Each side should announce the new key, and switch to it when both sides > receive it. We tried to explain this in the draft [1], but I suspect > this is not clear enough, is that right? Well, if a host receives a hash that doesn't match the stored one, it just discards the option. I guess this means NEW_KEY option won't be sent back. Doesn't it cause retransmissions on the other side? > [1] > https://www.ietf.org/archive/id/draft-baerts-tcpm-mptcpext-00.html#section-4.2-7 > > > In addition, I think > > we'll need to define what we should do when the receipt of the option > > cannot be confirmed. (e.g. no response from the receiver or rejected) > > For the moment, the receiver will discard the option [2]: > > > If a host receives a NEW_KEY option whose HMAC and key identifier do > > not match the stored ones, it simply discards the option. > [2] > https://www.ietf.org/archive/id/draft-baerts-tcpm-mptcpext-00.html#section-4.2-10 > > Do you think it would not be OK? Or should it be clearer? I think a host that sends NEW_KEY option needs to give up resending it at some point. I think the draft needs to address this point. > > 3: Why does it store just two keys? Or, does it mean it generates a new > > key when the next key is chosen and throws away the current key? > > We don't think there is a need to deal with more than two keys: the > current one, and the previous/next one. Only two keys can be used "at > the same time" when we are in the process of switching to a new one. > > So yes, when there is a need to switch to a new one, the "non-active" > key is thrown away, and the new one is suggested via NEW_KEY. The > "active" key remains active until the reception of a NEW_KEY for the > same new key. > > We should probably clarify in the draft why a maximum of two keys is enough: > > https://github.com/IPNetworkingLab/draft-mptcp-ext/issues/2 Thanks. I think it would be good if this point is clarified. > > 4: What will happen if responders don't support this feature? Is it > > possible to fall back to normal MPTCP? > > Yes it is possible to fall back to "normal" MPTCP. Similar to the > "mptcpdss" extension: compared to RFC8684, the only difference in the > SYN + MP_CAPABLE is the 'E' flag. Something often confusing when reading > RFC8684 is that the SYN + MP_CAPABLE doesn't carry any key. It looks > like that: > > 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 > +---------------+---------------+-------+-------+---------------+ > | Kind | Length |Subtype|Version|A|B|C|D|E|F|G|H| > +---------------+---------------+-------+-------+---------------+ > | Data-Level Length (16 bits) | Checksum (16 bits, optional) | > +-------------------------------+-------------------------------+ > > > So if the 'E' flag is not supported, the receiver can send a SYN + ACK + > MP_CAPABLE without the 'E' flag. At the reception of this SYN+ACK, the > initiator can generate a token like before, and send it in the 3rd ACK. > The draft tries to explain the fallback if this extension is not > supported [3]: > > > A responder that receives a SYN with the MP_CAPABLE option having the > > TBD bit set responds with an MP_CAPABLE option and the TBD bit set if > > it supports the external keys. Otherwise, it replies with an > > MP_CAPABLE option whose TBD bit is reset and follows the procedure > > defined in [RFC8684]. > > [3] > https://www.ietf.org/archive/id/draft-baerts-tcpm-mptcpext-00.html#section-4.1-7 > > Should it maybe be clearer? Yes, thanks for the clarification. -- Yoshi
- [multipathtcp] comments on draft-baerts-tcpm-mptc… Yoshifumi Nishida
- [multipathtcp] Re: comments on draft-baerts-tcpm-… Matthieu Baerts
- [multipathtcp] Re: comments on draft-baerts-tcpm-… Yoshifumi Nishida
- [multipathtcp] Re: comments on draft-baerts-tcpm-… Matthieu Baerts