Re: [multipathtcp] comments on draft-hoang-mptcp-sub-rate-limit-00

Viet Hoang Tran <> Tue, 23 July 2019 20:13 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BE43F1209A5 for <>; Tue, 23 Jul 2019 13:13:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id FcHr0S3LMkRy for <>; Tue, 23 Jul 2019 13:13:09 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5513A1209AA for <>; Tue, 23 Jul 2019 13:13:09 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=bBd1V5pgC7fLDzuSOxKf5zo4fResIlLWvkE9ECB8mr9krPRopFqrHgWXCmUTH/UafgNx9u1mGrGCV2G3PmWQRE3L5dPPsJ8dpfw6rGJv3LbrwbHP2YpxD45PMUnUDttpwLPmGaZLroi204bmZeCL/Xdx35KIeSI8tr1/xHSDtjukeEq8jTVhucYHUH59Dtwr1U666DsTeUFzS+uXDeg1WxrE/folkL526+u0AesGX9gxPf4+vEjpb5AKGZ1D+jwN0mIBgIRUuG3dw46sMzy+4NIWkeO1hpBepLTDi4wH+DWfCfSUHQqpNOdVvAy7fvxBaY/6tZPmYRP/v6ofXexqJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Kcj0LbYlew7SwULSLjkFL2IEsC4e1J+oWG5rGwSgfdM=; b=XR912Z1TNBfO9PwubyhNLSt9cs7j6VcBo6AfcM10glLntsIfx8U5CSx5AeZ9vEpc44hpyuC/K8Za2EINNH3ydMrAzTZImTSStrQecL+gQIt9u6pgBuoZwrI6yilufNQMiArXQrMoMCXnj7hhd4x5JPr093UrvGx9ZrRKu7VTuLDfoxjfV3BWWmT5tDX9+07yOntRdN4mgzlF5FRPs2kPw8unuO/Dol6P0ZH8UPRo/7YH+QefliwAZ2wP3Ie7fuxXVRAfuiIstY9E5lzS1xh7DN0wupeR4rcMQlSNBNcym42bqERk1PCR2kVTh63Spe2d2+1wOyx/0RVHlju7+GNxmw==
ARC-Authentication-Results: i=1; 1;spf=pass;dmarc=pass action=none;dkim=pass;arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Kcj0LbYlew7SwULSLjkFL2IEsC4e1J+oWG5rGwSgfdM=; b=VBPen191lS0LQL0Ih29DtZB3bQJr4oCRS7c9aVAr/is2+6iDcSvfvAx/AH3ALAKGQzAzlP/Wv3fh8ly7XPnq06pGOQ680TsARZHUglYrfPpdgGx4XRaJNO5tONqdbH7gmy5SBep75KeK3rM2DoI82lMCkSd6C6YGLJbyIwsWzAM=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.16; Tue, 23 Jul 2019 20:13:07 +0000
Received: from ([fe80::f841:917b:a73:f3a0]) by ([fe80::f841:917b:a73:f3a0%7]) with mapi id 15.20.2094.017; Tue, 23 Jul 2019 20:13:07 +0000
From: Viet Hoang Tran <>
To: Yoshifumi Nishida <>
CC: Olivier Bonaventure <>, multipathtcp <>
Thread-Topic: [multipathtcp] comments on draft-hoang-mptcp-sub-rate-limit-00
Date: Tue, 23 Jul 2019 20:13:06 +0000
Message-ID: <>
References: <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-001, en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: [2a02:a03f:3a6b:d300:cc97:c4d1:f263:d4a0]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b55d8d82-d81c-4fac-45fd-08d70faa2d09
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DB7PR03MB3947;
x-ms-traffictypediagnostic: DB7PR03MB3947:
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0107098B6C
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(346002)(39860400002)(136003)(376002)(366004)(396003)(52314003)(189003)(199004)(316002)(6116002)(66446008)(7736002)(66556008)(54906003)(64756008)(81166006)(8676002)(66946007)(91956017)(36756003)(5070765005)(71190400001)(8936002)(76116006)(5024004)(14444005)(256004)(76176011)(86362001)(66476007)(5660300002)(71200400001)(99286004)(6246003)(486006)(6916009)(25786009)(476003)(6486002)(54896002)(2616005)(68736007)(6512007)(102836004)(236005)(6436002)(46003)(229853002)(478600001)(6506007)(53546011)(14454004)(786003)(4326008)(53936002)(186003)(446003)(81156014)(2906002)(11346002)(33656002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR03MB3947;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: jzPmc0/eLFs9UaEx3L/5Vif6Go5nCFDAiDY1oaI32oVYHE8Fh1VruG0snNQCLTx5C2gVeF9a1ZizdrpofgWziYC1+DgBXFYfrqRuXwI4j0OepyE4WQLTtHDbpureyXJqH2fN5xLyfDRLvv3D24u8QglIHT6FNDdzGVQJOlMqaDMU0+8zjV+l++aBAd34RZEhwUH4fga5YrG8cZiky0Zrq9dM0cwqZOg1H1RZlnpqD4OfWKupqNgC5jK8rlE1eIoMhPgwo5yiHgFqMZiMO6HkvKTSEFl/EZmeyPaG+VhWeRXSSPKWJ5FMp6NEgTVWUbHpJEf1xRM/Pn4B0W9QvzPM/5NL/68pGW1lXThNfJLJQl9Wuv/SKMjBgaN3p/ryDVmBk8sS9XRqk0UN+zhBvMt41yZN9Ou1FvTYgrIgPlnLjCA=
Content-Type: multipart/alternative; boundary="_000_CE6755263A3C4FAF8CB50FB21A985E25uclouvainbe_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: b55d8d82-d81c-4fac-45fd-08d70faa2d09
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jul 2019 20:13:06.9694 (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-Transport-CrossTenantHeadersStamped: DB7PR03MB3947
Archived-At: <>
Subject: Re: [multipathtcp] comments on draft-hoang-mptcp-sub-rate-limit-00
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-path extensions for TCP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 23 Jul 2019 20:13:16 -0000

Hi Yoshi,

Thank you for elaborating your question, please find my answer inline.

On 23 Jul 2019, at 15:35, Yoshifumi Nishida <<>> wrote:

Hi Viet,

Yes, Sorry that I was not clear enough. In my understanding, in order to control the rate for the server, the server needs to cap the window size.
My point was if client adjusts the advertised window size to the server, the transmission rate from the server can be controlled to some extents. (not sure how much, though)
There might be limitations, but I would like to understand how it is feasible for client to control the transmission rate from the server.

Yes, in Linux, the server caps the congestion window using cwnd_clamp (an existing field in tcp_sock)
 whose already has the semantic as the upper limit of effective congestion window.

Adjusting advertised window size on the client side may work for regular TCP.
But I think it won’t work for MPTCP since all MPTCP subflows share the same receive window.
 If the client limits the advertised window, it would affect the total rate of all subflows.
I am also not sure if the receivers are allowed to reduce the receive window with
an amount lower than acked data over that duration.

An alternative client way is dropping packets (or create 3 dup acks as you mentioned),
but the effects are really dependant on which congestion controller the server is using,
which in turn is not in the client’s control.


Sorry if I overlook something.

On Tue, Jul 23, 2019 at 1:17 AM Viet Hoang Tran <<>> wrote:
Hi Yoshi,

I guess I did not understand your question about the client/server window clamp, and 3 duplicate ACKs.
Would you mind to restate your question?

- Hoang

On 17 Jul 2019, at 08:31, Yoshifumi Nishida <<>> wrote:

Hi Olivier,

On Tue, Jul 16, 2019 at 2:31 AM Olivier Bonaventure <<>> wrote:

>      > 3: I am still not very sure the usage of SRL options for graceful
>      > subflow closing. I might want to see some texts in the draft to
>      > understand how this can be better than FIN exchange on subflows.
>     When a client sends a FIN, it indicates that it will not send data
>     anymore on this subflow. When it sends a SRL option with 0, it
>     indicates
>     to the server that it does not want to receive anymore data on this
>     subflow. We can provide some text if we agree on this use case.
> Right. I can image the following 3 situations on the client side.
> 1: client doesn't need to receive any more packets from server
> 2: client doesn't want sender to send more data, but wants to receive
> data on the fly.
> 3: client wants to close the connection when sender finishes sending data
> I think RST will work for 1: and we can use FIN for 3 > So, in my understanding, this approach tries to address 2:.
> I just would like to understand how much this kind of situations happen.

Consider a video or audio streaming application running on a smartphone.
Smartphone has WiFi and cellular but user wants to limit use of cellular
and force server to use low quality when streaming over cellular.
When smartphone is attached to both WiFi and cellular, it can send SRL
with a bandwidth of 0 over cellular.
If the smartphone moves, and leaves WiFi, then it could send a SRL at 1
Mbps to limit throughput.

This dynamic control of the throughput on the incoming subflows would
work well if a client can adapt its SRL to the current network conditions.

OK. I think this would be a nice example for the usages of SRL and I understand.
But, I am thinking that it might not be helping graceful closing much.
Anyway, the closing is not a major part of the draft. I personally think removing it might be a choice when we don't have strong use cases.