Re: [multipathtcp] MPTCP implementation feedback for RFC6824bis

V Anil Kumar <anil@csir4pi.in> Wed, 18 December 2019 05:07 UTC

Return-Path: <prvs=248e13100=anil@csir4pi.in>
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 16CEB1200A1 for <multipathtcp@ietfa.amsl.com>; Tue, 17 Dec 2019 21:07:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, 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 mXSvHsi2MW4S for <multipathtcp@ietfa.amsl.com>; Tue, 17 Dec 2019 21:07:53 -0800 (PST)
Received: from vastu72.nic.in (vastu72.nic.in [164.100.2.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 387C91200FA for <multipathtcp@ietf.org>; Tue, 17 Dec 2019 21:07:49 -0800 (PST)
IronPort-PHdr: 9a23:0M7+GxJbZ1cYP/i63NmcpTZWNBhigK39O0sv0rFitYgeKfTxwZ3uMQTl6Ol3ixeRBMOHsqkC0bKG+P+4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCezbL9oMhm6sQbcusYUjId+N6081gbHrnxUdupM2GhmP0iTnxHy5sex+J5s7SFdsO8/+sBDTKv3Yb02QaRXAzo6PW814tbrtQTYQguU+nQcSGQWnQFWDAXD8Rr3Q43+sir+tup6xSmaIcj7Rq06VDi+86tmTgLjhTwZPDAl7m7Yls1wjLpaoB2/oRx/35XUa5yROPZnY6/RYc8WSW9HU81MVSJOH5m8YpMPAeQfPuhWoY7zqUYKrRS8CwmhH/ngxiNSi3/yx6A2z/otHAfb1wIgBdIOt3HUoc36O6wPTe21yqjIzTHeZP1TxDf97ZLHcgo8qvyLR71wd8vRyU00GgzZlVWQqJblMjyN1uQMqWSb7uxgWPuphmU6pQ9xpT2vyd0tionPno8Vy07L9Tl3wIovIt24UkF7bNi5G5VTryGXL5Z6T8c8T21ypSo3y74LtYSmcCQQy5kqxAbTZ+GJfoWK+B7uUOScLS1liH9qZb6znQu+/Vajx+D6S8K6ykxFrjBfndnJrn0N0hvT5dWZRfZl5Ueh3CqP1xjU6uFZPUA4jarbJIAlwr43jpcTtF7MHi7ymEnsg6+WcVsk9vKp6+Thernmp5mcOJFoigzmL6gjntKzDf4lPgUPXGWX4/mw2Kfg8ED6WLlKi+c5kqjdsJDUP8Qboau5DhdP3YYl6ha/Cyyr38gDnXkGNlJIdwqHj4nzN1HPJvD0Fe2/jEi0kDd32/DGOaXsApDQLnjHjLfhfK595FRAyAoz0dBQ+4pUB6oAIP3tRk/xusbUDhgjMwy7kK7bD4BW1pkfQn6IGq/RCKrbqlSIrrYkO+CFf4QVkD/lM/woofXpiCl90W4aZqmo04YSaTieH+9mIkmQKS7qmdtHEGoWsCIxSeXrjBuJVjsFNFioWKdp2HkSDoOiRaTeQ4m3yOiI2ia/NpZNZ3oaElHKEHG+JNbMYOsFdC/HepwpqTcDT7X0DtZ5jRw=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A2EyAAAHqfld/1gBqMBlGQEBAQEBAQEBAQEBAQEBAQEBEQEBAQEBAQEBAQEBgX6BdIEYgTEKlTWJXJFOBQkBAQIBAQEBASABCgwBAQKDeUUCgj04EwIDAQwBAQEEAQEBAQEFAwEBAQKFVEwMgjspAWlxAQEBAQEBAQEBAQEBAQEBAQEBARYCQ1USAQEdAQEBAQIBAQE7DQgVBwsFCwEKDQEKCSUPEgYwBgEJAQgUgkNMgkYDDi+saoInGgKDTYQ0DYIlBoE2gWWDN4cQBoIAgRGDEz6BBIEXSQEBh1EEjR0tigeWQDFDgj6GSYYdhQSEQY5TFAOLX45NimqPeQGBek2BLk04O4JsUBGNMwsLgQQBB4dYhUdsj1cBAQ
X-IPAS-Result: A2EyAAAHqfld/1gBqMBlGQEBAQEBAQEBAQEBAQEBAQEBEQEBAQEBAQEBAQEBgX6BdIEYgTEKlTWJXJFOBQkBAQIBAQEBASABCgwBAQKDeUUCgj04EwIDAQwBAQEEAQEBAQEFAwEBAQKFVEwMgjspAWlxAQEBAQEBAQEBAQEBAQEBAQEBARYCQ1USAQEdAQEBAQIBAQE7DQgVBwsFCwEKDQEKCSUPEgYwBgEJAQgUgkNMgkYDDi+saoInGgKDTYQ0DYIlBoE2gWWDN4cQBoIAgRGDEz6BBIEXSQEBh1EEjR0tigeWQDFDgj6GSYYdhQSEQY5TFAOLX45NimqPeQGBek2BLk04O4JsUBGNMwsLgQQBB4dYhUdsj1cBAQ
X-IronPort-AV: E=McAfee;i="6000,8403,9474"; a="299096763"
X-IronPort-AV: E=Sophos;i="5.69,328,1571682600"; d="scan'208,217";a="299096763"
Received: from unknown (HELO mail.gov.in) ([192.168.1.88]) by vastu11internal.nic.in with ESMTP; 18 Dec 2019 10:37:38 +0530
MIME-version: 1.0
Content-type: multipart/alternative; boundary="Boundary_(ID_wa+HHRK8j5YaIjtC9LehdQ)"
Received: from nic.in ([192.168.1.88]) by dr-msgfe2.nic.in (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0Q2O0083UZKOEZ00@dr-msgfe2.nic.in> for multipathtcp@ietf.org; Wed, 18 Dec 2019 10:37:36 +0530 (IST)
Sender: anil@csir4pi.in
Received: from [192.168.1.88] (Forwarded-For: 137.97.141.128) by dr-msgfe2.nic.in (mshttpd); Wed, 18 Dec 2019 10:37:36 +0530
From: V Anil Kumar <anil@csir4pi.in>
To: Christoph Paasch <cpaasch@apple.com>, Yoshifumi Nishida <nsd.ietf@gmail.com>
Cc: MultiPath TCP - IETF WG <multipathtcp@ietf.org>, Mirja Kuehlewind <ietf@kuehlewind.net>, mptcp Upstreaming <mptcp@lists.01.org>
Message-id: <fa96b8487de1.5dfa0170@nic.in>
Date: Wed, 18 Dec 2019 10:37:36 +0530
X-Mailer: Oracle Communications Messenger Express 7.0.5.31.0 64bit (built May 5 2014)
Content-language: en
X-Accept-Language: en
Priority: normal
In-reply-to: <969B2D5D-83E7-41B8-A8DE-1D2036567401@apple.com>
References: <CAAK044SYBVQjk3ch5B_+oUewHvihTFFcWThr9RLP=Wxz_wjFyw@mail.gmail.com> <969B2D5D-83E7-41B8-A8DE-1D2036567401@apple.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/6dRnqIxerIM4O4Ga2jkdjEvi_XE>
Subject: Re: [multipathtcp] MPTCP implementation feedback for RFC6824bis
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.29
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, 18 Dec 2019 05:07:56 -0000

Hi,

On 12/15/19 10:35 PM, Christoph Paasch  <cpaasch@apple.com> wrote: 
> 
> 
> 
> 
> 
> Hello,
> 
> 
> 
> 
> > 
> > On Dec 15, 2019, at 12:05 PM, Yoshifumi Nishida <nsd.ietf@gmail.com> wrote:
> > 
> > 
> > 
> > 
> > Hi,
> > 
> > One concern I have here is this may mean we end up want all implementations to support late mapping feature.
> > 
> > 
> > Because if an implementation that supports the feature uses it to send data, the receiver who doesn't support it will discard the packets. To avoid it, we need to mandate receivers to support it.
> > 
> > 
> 
> 
> that is indeed the problem. Once we allow the sender to do late/early mappings, a receiver has to implement it to be interoperable with all implementations.
> 
> More inline:
> 
> 
> > 
> > 
> > 
> > 
> > On Sat, Dec 14, 2019 at 5:40 AM V Anil Kumar <anil@csir4pi.in> wrote:
> > 
> > 
> > > Hi Christoph,
> > > 
> > > On 12/13/19 11:54 PM, Christoph Paasch  <cpaasch@apple.com> wrote: 
> > > > 
> > > > 
> > > > 
> > > > 
> > > 
> > 
> > 
> > 
> [...]
> 
> > 
> > 
> > 
> > 
> > > 
> > > > 
> > > > > Well it could just be due to the lack of option space insegment-1. For
> > > > > example, the sender ofsegment-1 at that instant wants to transmit multiple
> > > > > TCP options (e.g.timestamp, SACK, DSS and ADD_ADDR). Obviously, they all
> > > > > cannot fit into optionfield of one segment, and eventually the DSS
> > > > > transmission got slightly delayedby a segment or two.
> > > > 
> > > > The implementation needs to enforce a strict priority of DSS over SACK and ADD_ADDR.
> > > > 
> > > 
> > > TCP options have evolved over a period of time, and I do not think as such any document/guidelines exist on enforcing priority for one over the other, though it turns out be an interesting topic. Also, more TCP options could come up in future for implementing new features. So, it is likely that implementations would follow different strategy when it come to option priority. 
> > > 
> > 
> > 
> > 
> 
> 
> This is purely an implementation choice. I don't think it is necessary to document this.
> For example, when TCP-MD5 is used, Linux disables the TCP Timestamp option, thus enforcing priority of TCP-MD5 over Timestamps.
> 
> 
> 
> To re-iterate my earlier point: Unless there is real data about the performance benefits,... of enabling early/late mapping, my vote is to not allow these kind of mappings as they complexify implementations.
> 
> 
>  
> 


When MPTCP is used for data transfer in both directions, the need to carry both timestamp and SACK options in a data segment may not be a rare case, as data loss or out-of-order reception can happen in both directions. On such a data segment, once timestamp and SACK options are included, packing DSS with map is not feasible. Should the data segment in such case include SACK or DSS? How does the Linux implementation of MPTCP deal with such a case?

 

Anil
 

> 
> 
> 
> 
> 
> 
> 
> 
> 
> Christoph
> 
> 
> 
> > 
> > 
> > 
> > 
> > > 
> > > > 
> > > > 
> > > > 
> > > > If the ADD_ADDR does not fit in the TCP-option space, it can send the
> > > > ADD_ADDR on a pure ACK. The echo-bit in the ADD_ADDR guarantee the reliable
> > > > delivery of it.
> > > > 
> > > > 
> > > 
> > > I noticed this new feature in RFC 6824-bis to deliver ADD_ADDR in pure ACK and still achieve the reliability. The ability to deliver MPTCP options in pure ACK will be useful, especially for options like ADD_ADDR. 
> > > 
> > > > 
> > > > 
> > > > 
> > > > Sure, one could argue that favoring SACK over DSS is more important. But I
> > > > think we would need data to justify that. Only very specific traffic
> > > > patterns will fall in this use-case.
> > > > 
> > > > 
> > > 
> > > The bottomline is that in the event of a map being slightly delayed, i.e., delivered late with respect to the corresponding data, should it result in resetting the subflow? 
> > > 
> > > 
> > > 
> > > 
> > > As far as the specification is concerned, it could be liberal on accepting such maps, rather than being restrictive. Even if a current implementation cannot support this, future implementations may like to, provided the specification permits this and the implementation is willing to cop up with the associated complexity. 
> > > 
> > > 
> > > 
> > > 
> > > Best regards,
> > > 
> > > 
> > > 
> > > 
> > > Anil
> > > 
> > > > 
> > > > 
> > > > 
> > > > Christoph
> > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > With regards,
> > > > > 
> > > > > 
> > > > > 
> > > > > Anil
> > > > > 
> > > > > 
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > Christoph
> > > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Further, segment-3 cannot combine/cover the data in segment-1 and segment-3 in a "single map", as the data sequence space is not continuous, i.e., some in between data (segment-2) is mapped and transmitted through subflow-2. Here, the map in segment-3 does not even partially cover the data it carries. 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Both RFC 6824 and the 6824-bis do not restrict the above scenario, and I guess the change proposed now does not permit this to happen. 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Best regards, 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Anil 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > That's the reason why we (the MPTCP-upstreaming community) vouch to have this case restricted.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > Cheers,
> > > > > > > > Christoph
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Anil 
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > Best regards,
> > > > > > > > > > 
> > > > > > > > > > Alan
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > >
> > > > 
> > > _______________________________________________
> > > multipathtcp mailing list
> > > multipathtcp@ietf.org
> > > https://www.ietf.org/mailman/listinfo/multipathtcp
> > > 
> > 
> > 
> > 
> 
> 
> 
> 
>  
>