Re: [multipathtcp] Multipath TCP Address advertisement 2/5 - Reliability

Yoshifumi Nishida <nishida@sfc.wide.ad.jp> Fri, 05 August 2016 07:17 UTC

Return-Path: <nishida@sfc.wide.ad.jp>
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 C17B512D0E6 for <multipathtcp@ietfa.amsl.com>; Fri, 5 Aug 2016 00:17:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.187
X-Spam-Level:
X-Spam-Status: No, score=-3.187 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.287, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 9r_psC_HifX0 for <multipathtcp@ietfa.amsl.com>; Fri, 5 Aug 2016 00:17:45 -0700 (PDT)
Received: from mail.sfc.wide.ad.jp (shonan.sfc.wide.ad.jp [203.178.142.130]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E393D12B029 for <multipathtcp@ietf.org>; Fri, 5 Aug 2016 00:17:44 -0700 (PDT)
Received: from mail-vk0-f44.google.com (mail-vk0-f44.google.com [209.85.213.44]) by mail.sfc.wide.ad.jp (Postfix) with ESMTPSA id C05EE278483 for <multipathtcp@ietf.org>; Fri, 5 Aug 2016 16:17:42 +0900 (JST)
Received: by mail-vk0-f44.google.com with SMTP id x130so185800222vkc.0 for <multipathtcp@ietf.org>; Fri, 05 Aug 2016 00:17:42 -0700 (PDT)
X-Gm-Message-State: AEkoouuTM3DNkC+cXLDc585ClAV28Gt89hdkPwSVHWnt2K5Ujf6XmkqpZyXcAu6q/jYj/C2n8TZjw45mwXQ1Fw==
X-Received: by 10.31.226.68 with SMTP id z65mr14077946vkg.129.1470381461289; Fri, 05 Aug 2016 00:17:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.176.4.164 with HTTP; Fri, 5 Aug 2016 00:17:40 -0700 (PDT)
In-Reply-To: <998D098A-99DF-4529-A735-F321167ABDA4@gmail.com>
References: <57A211F9.1020809@uclouvain.be> <CAO249ye6rpYFfK2emng+hhN_KHKvrtv7vBSdMWXVobCqEFCMYg@mail.gmail.com> <998D098A-99DF-4529-A735-F321167ABDA4@gmail.com>
From: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
Date: Fri, 5 Aug 2016 00:17:40 -0700
X-Gmail-Original-Message-ID: <CAO249ye-8t00LNssa-hN+HAZj+ByDWse7YObay3HfYxB2e_u-w@mail.gmail.com>
Message-ID: <CAO249ye-8t00LNssa-hN+HAZj+ByDWse7YObay3HfYxB2e_u-w@mail.gmail.com>
To: Alan Ford <alan.ford@gmail.com>
Content-Type: multipart/alternative; boundary=001a114df61eaf41f705394ddc93
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/D7xZV48OKJPKgYc5IbdcVobf8Bc>
Cc: "multipathtcp@ietf.org" <multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Multipath TCP Address advertisement 2/5 - Reliability
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.17
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: Fri, 05 Aug 2016 07:17:48 -0000

Hi Alan,

On Thu, Aug 4, 2016 at 12:57 AM, Alan Ford <alan.ford@gmail.com> wrote:

> Hi Yoshi,
>
> Inline…
>
> On 4 Aug 2016, at 07:36, Yoshifumi Nishida <nishida@sfc.wide.ad.jp> wrote:
>
> Hi Fabien,
>
> On Wed, Aug 3, 2016 at 8:47 AM, Fabien Duchêne <fabien.duchene@
> uclouvain.be> wrote:
>
>> Hello,
>>
>> As agreed in Berlin during IETF96, I'm sending a series of emails to
>> discuss the different contributions proposed
>> inhttps://datatracker.ietf.org/doc/draft-duchene-mptcp-add-addr/
>>
>> This is the part 2/5 : reliability.
>>
>> In RFC6824, ADD_ADDR options can be attached to segments carrying data
>> or pure acknowledgements.
>> In practice, notably given the length of ADD_ADDR with IPv6 addresses
>> and the HMAC, it is very likely that they will be often sent as pure
>> acknowledgements.
>> This implies that ADD_ADDR are sent unreliably, which could be
>> problematic when the ADD_ADDR is required to allow the establishment of
>> additional subflows, as in load balancing scenarios.
>> We propose to rely on the "E" (Echo) flag in the ADD_ADDR option.
>> This echo flag is used to acknolwedge a received ADD_ADDR by echoing it.
>> If the acknowledgement is not received, the ADD_ADDR option will be
>> retransmitted up to N times.
>>
>
> I have several comments on this. Please let me know if I miss something.
>
> 1: Do we really need ADD_ADDR reliability in all cases? An end node might
> want to send ADD_ADDR for 'just in case' rather than for "I want you to use
> this"
> BTW, I'm not sure if the draft tries to replace the current ADD_ADDR or to
> propose an additional ADD_ADDR option.
>
>
> The argument is that by making it reliable, you only need to send it once
> to know it’s been received, even if the far end does not use it.
>
2: The sender cannot be sure whether the info in ADD_ADDR will be used or
> not. It depends on the peer's decision.
> I might prefer re-transmitting ADD_ADDR up to N times when the sender
> doesn't receive MP_JOIN to the address for a certain amount of time.
>
> As above, by making it reliable you only need to send it once to know it’s
> been received, even if the far end chooses not to use it.
>

Hmm. if a sender wants the peer to use specific address (such as a load
balancer case), I can understand that we want to make it reliable. But, if
the sender doesn't care, I'm not very sure the reason to make it reliable
or send ADD_ADDR frequently.

I personally think this is a trade-off point. We are trying to introduce
some complexities in the protocol to send TCP options reliably.  I might
want to see some benefits to compensate it.


>
> I think I’m sold on this idea now, given the additional recent comments. I
> support this.
>
> 3: "the receiving host MUST return the exact option.." Although it is
> MUST, can we always do this? There might be a situation where there is no
> option space or no segment to send.
>
>
> I would assume the same rules as ADD_ADDR are followed, so it’s sent on a
> duplicate ACK in that case.
>

Hmm. If we apply the same rules to this, it may need to send a dupack for a
dupack and may be repeated N times. I still need to think about it, but it
doesn't look pretty..

Thanks,
--
Yoshi