Re: [multipathtcp] Comments on "Multipath TCP Subflow Rate Limit Option"

Olivier Bonaventure <olivier.bonaventure@uclouvain.be> Wed, 10 July 2019 16:25 UTC

Return-Path: <olivier.bonaventure@uclouvain.be>
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 292F312028B for <multipathtcp@ietfa.amsl.com>; Wed, 10 Jul 2019 09:25:12 -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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=uclouvain.be
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 zEtStGmRtKLk for <multipathtcp@ietfa.amsl.com>; Wed, 10 Jul 2019 09:25:07 -0700 (PDT)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40105.outbound.protection.outlook.com [40.107.4.105]) (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 6580112027F for <multipathtcp@ietf.org>; Wed, 10 Jul 2019 09:24:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uclouvain.be; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ac/DxmBf9nL1AMQb9hvPfRqMMGKQAHY9VsqN12Vd2mI=; b=GM8W/St+0i98aEQ0D1yB1jNBtd/IfFt0PGc8fwABFQ1+6lKHTMyvlFp5N2QlNItakynOfAhYPlTNt46Bzc2W7oJ1cdWjDPMiiBKM0Q9UdMg4ZFP5InIVK1Vy6/qTf7TeSSyEsJbJNmXRleEpqELLP5x97Z1dfeh/aEYAIpVk/mA=
Received: from DB7PR03MB3548.eurprd03.prod.outlook.com (52.134.98.29) by DB7PR03MB3625.eurprd03.prod.outlook.com (52.134.98.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2052.18; Wed, 10 Jul 2019 16:24:48 +0000
Received: from DB7PR03MB3548.eurprd03.prod.outlook.com ([fe80::1981:d629:de19:28fa]) by DB7PR03MB3548.eurprd03.prod.outlook.com ([fe80::1981:d629:de19:28fa%5]) with mapi id 15.20.2052.020; Wed, 10 Jul 2019 16:24:48 +0000
From: Olivier Bonaventure <olivier.bonaventure@uclouvain.be>
To: "philip.eardley@bt.com" <philip.eardley@bt.com>, Viet Hoang Tran <hoang.tran@uclouvain.be>, "multipathtcp@ietf.org" <multipathtcp@ietf.org>
Thread-Topic: [multipathtcp] Comments on "Multipath TCP Subflow Rate Limit Option"
Thread-Index: AdU2/8vSPos2fqteTbOgM2LaoDzklgAPDGCA
Date: Wed, 10 Jul 2019 16:24:48 +0000
Message-ID: <8263c0f6-6f6a-ac0f-4c22-a3b2ac616b9e@uclouvain.be>
References: <LNXP123MB2587A9EAEBA661533DD227CEEBF00@LNXP123MB2587.GBRP123.PROD.OUTLOOK.COM>
In-Reply-To: <LNXP123MB2587A9EAEBA661533DD227CEEBF00@LNXP123MB2587.GBRP123.PROD.OUTLOOK.COM>
Reply-To: Olivier Bonaventure <olivier.bonaventure@uclouvain.be>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: LO2P265CA0228.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:b::24) To DB7PR03MB3548.eurprd03.prod.outlook.com (2603:10a6:5:4::29)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=olivier.bonaventure@uclouvain.be;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2001:6a8:308f:2:7d2a:a66b:1068:39c6]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f3e03b60-bcb5-48f8-fb7c-08d705532081
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DB7PR03MB3625;
x-ms-traffictypediagnostic: DB7PR03MB3625:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <DB7PR03MB3625043DE870C056C2EA06D586F00@DB7PR03MB3625.eurprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0094E3478A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(376002)(136003)(366004)(396003)(346002)(39860400002)(51914003)(199004)(189003)(81156014)(66556008)(64756008)(36756003)(6436002)(316002)(14444005)(8936002)(2906002)(66446008)(66946007)(99286004)(478600001)(52116002)(8676002)(66476007)(86362001)(31696002)(6246003)(6512007)(6486002)(786003)(71200400001)(256004)(81166006)(3450700001)(31686004)(5660300002)(476003)(46003)(186003)(7736002)(11346002)(966005)(6506007)(43066004)(561944003)(229853002)(386003)(76176011)(2616005)(486006)(53936002)(2501003)(71190400001)(6116002)(446003)(102836004)(68736007)(6306002)(14454004)(110136005)(25786009)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR03MB3625; H:DB7PR03MB3548.eurprd03.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: uclouvain.be does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: ZM5bkN98pGK4PqttVw9l8bYGKrelGsAUZsjRYU8D0BW6rSE5LD+0Zll7AQI4qHLOc04W1DSx0AW1xUzLVdWvD305cMIEC52tYKvLN5vUiigkQyt55B6vC+7bbjhsXhNb7Q8jb31/oRmTGQxG0rTa1XAoYonGSlj+C2T6MfbO6NsxoY2vEYztIP0B91X33vxFRfl1NNaXB7OcsyLYLg3YvXaTDIHzwMuwHWEbE4UaglhOEAoPeMBWe8OuSzf2mW+doQ52qOFn9rp/gzZ7Mlj6rglN70tSny2lQc+70tCuZrE6hadmy9kT5cypn2AOsoKmqUMAX0mTD05UJNbu846O0l3aRTximSYzhbcFMmXyJEtkMK+EYc0YaDX5/sq+F7xTC3ql45Hpqu1+nnOMun3ViSeKApJHq7qFZQ2KVDb9oNQ=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D9827E326076C64EBE7F5305332A23E6@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: uclouvain.be
X-MS-Exchange-CrossTenant-Network-Message-Id: f3e03b60-bcb5-48f8-fb7c-08d705532081
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2019 16:24:48.3977 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 7ab090d4-fa2e-4ecf-bc7c-4127b4d582ec
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: olivier.bonaventure@uclouvain.be
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR03MB3625
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/r-d9GjRmEV4AZac-7pVPiZm2NoQ>
Subject: Re: [multipathtcp] Comments on "Multipath TCP Subflow Rate Limit Option"
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, 10 Jul 2019 16:25:12 -0000

Phil,
> 
> Thanks for the very interesting proposal https://datatracker.ietf.org/doc/html/draft-hoang-mptcp-sub-rate-limit (I haven't read your other draft yet)

This is a very first step to initiate some discussion. Hoang has a 
prototype implementation that works on Linux.

> Section 1 Introduction
> << mobile users want to limit the monetary cost of
>     using cellular networks or to avoid running out of their mobile data
>     quota.  Smartphones can easily rate limit their upstream bandwidth,
>     but unfortunately, most smartphone applications mainly receive data.
>     For these applications, a rate limit must happen on the server side.
>     This rate limit could be enforced by the application, e.g. by
>     selecting a specific video coding scheme, but applying it at the
>     transport layer would be more generic and could be done from the
>     system level automatically.
>>>
> I agree with your statement about (one) problem.
> What I'm not sure about is whether a "Subflow Rate Limit" is the best way of solving the problem. We should do some analysis compared with other options and suggestions, in case they're simpler /have wider applicability.
> In the analysis we should include the basic approach of ECN marking (or dropping) packets to reduce the sending rate (and the disadvantages of doing that - eg reduce connection window)

This is another possible approach that probably does not require any 
IETF work. The client could use a token bucket configured at the planned 
rate on the monitored interface and mark the packets that are outside 
this rate with the CE bit. The server would then adjust its transmission 
rate based on the ECN feedback. There would obvisouly be some delay 
between the marking and the reaction of the server and this would 
require ECN support on the hosts (not on the routers inside the network)

> I'd also have on my list of nice-to-meet requirements something that would offer more flexibility that a simple limit on bitrate, for instance:-
> - how could the capping limit apply to all MPTCP traffic sent to the mobile client (ie many connections, potentially with many servers)?

The solution SRL would not apply in this case.

> - reflect user preferences (eg for this app at this moment I'm prepared to use up more of my mobile data)

We could consider changing the SRL during the lifetime of a connection

> - potentially reflect operator preferences /knowledge (eg at the moment the DSL has a low throughput so operator needs to allow more to be sent on the mobile interface, in order to hit a 20Mbps target contractual rate)

Then you'd argue for middleboxes to either inform hosts or worse inject 
MPTCP options

> - potentially reflect knowledge /preferences about relative costs (eg satellite is much more expensive than wired DSL. I guess this info is reasonably static)

Should be stored on the client

> - mobile client requests server to prefer low latency subflow

This is another metric which could be exchanged

> - work in the case with a proxy (converter)

A converter would behave as an MPTCP server

> Is there a mechanism or combination of mechanisms (Sub Rate Limit and others) that can meet these goals? Would a "preference indicator" be useful? (ie something which is sent more frequently and has a shorter-term & finer-grained impact than SRL)

The main question is whether you want a solution that operates on a per 
subflow basis or on a per interface basis on the client for long downloads.

> 
> S3.2
> " Note that the SRL option is an indicative value.  Upon reception of
>     this option, the receiver SHOULD set the maximum rate on the subflow
>     over which the option was received."
> Does this maximum rate applies to both directions? Can you clarify the text please.

No, we use it to cap the window of the sender. The receiver indicates 
the maximum through that the sender can send over this subflows

> S5 Security Considerations
> "However, manipulating this
>     option doing not open new attacks compared to the ones documented in
>     [RFC6181] [RFC7430]."
> I'm not convinced this is true. For instance, if the attacker declares a Subflow Rate Limit of close to 0 and a very large Subflow Rate Limit on the other path of the same connection, I don't think this is the same as an attacker that drops packets on one path. The latter attack would slow down the total traffic rate, the former may not. Also, the latter attack is something the attacker has to continue to do, whilst the former involves sending a single message only (at least it seems that the impact of the SRL msg lasts for the lifetime of the connection, or until another SRL option is sent).

That's a possibility. Madhan suggested to include a HMAC in the SRL 
option, which could protect some scenarios, but I agree that this could 
open new security details.

> Actually, you could make some comment about how long the SRL option is expected to have an impact.

It would be possible to add a time in seconds in the option to indicate 
for how many seconds the limit applies.


Olivier