Re: [multipathtcp] rfc6824bis discussion about 5G session continuity support

Christoph Paasch <cpaasch@apple.com> Wed, 01 August 2018 17:44 UTC

Return-Path: <cpaasch@apple.com>
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 7FF8D130EE2 for <multipathtcp@ietfa.amsl.com>; Wed, 1 Aug 2018 10:44:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 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, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
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 AQHxUimpfVHa for <multipathtcp@ietfa.amsl.com>; Wed, 1 Aug 2018 10:44:08 -0700 (PDT)
Received: from mail-in25.apple.com (mail-out25.apple.com [17.171.2.35]) (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 27850130EEC for <multipathtcp@ietf.org>; Wed, 1 Aug 2018 10:44:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1533145447; x=2397059047; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-transfer-encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=kWc3PrLU2m/1EMfr4/6K0I/Lzk5+G5AcdTmzVx8puC0=; b=gCoUdHSi4v616VO/9zaLWBOjE/gpTA+jcmMHdFPC/S2ITKN3+cy533QzYGV3xpxL GF1RAuZKkEydwT58D94ibsdcwmatOLIAw3Li9ODnRVA5brXx8/PDbhIlNgeCF4aZ czHAwH1Se/N61x3TZfjCHPraGkB222YNnNupq5XeeTgEBIn1K4nxRU3BzISLnDTv H1S+P0GB4P3N7cF3cjgqCt+b31GE4CKGEmG+KFbImHXyInAR0V/70LIL6LTEMBRr EVBRFsA56SYIxMGjgizySMQktAxk87DTzxtYwNMOq/outbnGD/1B69DoaFBRPkcG ekEj1EYu9KZvaEm5FX1Q+Q==;
X-AuditID: 11ab0219-56fff70000004c1b-4a-5b61f167dc41
Received: from ma1-mtap-s01.corp.apple.com (ma1-mtap-s01.corp.apple.com [17.40.76.5]) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail-in25.apple.com (Apple Secure Mail Relay) with SMTP id 5E.29.19483.761F16B5; Wed, 1 Aug 2018 10:44:07 -0700 (PDT)
MIME-version: 1.0
Content-transfer-encoding: 8bit
Content-disposition: inline
Content-type: text/plain; charset="utf-8"
Received: from ma1-mmpp-sz09.apple.com (ma1-mmpp-sz09.apple.com [17.171.128.183]) by ma1-mtap-s01.corp.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) with ESMTPS id <0PCS00KODMLJSF20@ma1-mtap-s01.corp.apple.com>; Wed, 01 Aug 2018 10:44:07 -0700 (PDT)
Received: from process_viserion-daemon.ma1-mmpp-sz09.apple.com by ma1-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) id <0PCS00E00M17K400@ma1-mmpp-sz09.apple.com>; Wed, 01 Aug 2018 10:44:07 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 3e2137337759e4c980b0d14ecb116e8e
X-Va-E-CD: 100259cb1eba463174300fddddea97b1
X-Va-R-CD: 85fa7f6fa91bf79d079176d0dd790740
X-Va-CD: 0
X-Va-ID: 049a28b9-b03e-43d1-960e-08195f0cbc50
X-V-A:
X-V-T-CD: 3e2137337759e4c980b0d14ecb116e8e
X-V-E-CD: 100259cb1eba463174300fddddea97b1
X-V-R-CD: 85fa7f6fa91bf79d079176d0dd790740
X-V-CD: 0
X-V-ID: 6feae772-69c4-43d4-987c-d843d834db5d
Received: from process_milters-daemon.ma1-mmpp-sz09.apple.com by ma1-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) id <0PCS00J00MEC4E00@ma1-mmpp-sz09.apple.com>; Wed, 01 Aug 2018 10:44:07 -0700 (PDT)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-08-01_07:,, signatures=0
X-Proofpoint-Scanner-Instance: ma-grpmailp-qapp23.corp.apple.com-10000_instance1
Received: from localhost ([17.192.155.217]) by ma1-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) with ESMTPSA id <0PCS00JTAMLI3E10@ma1-mmpp-sz09.apple.com>; Wed, 01 Aug 2018 10:44:07 -0700 (PDT)
Sender: cpaasch@apple.com
Date: Wed, 01 Aug 2018 10:44:06 -0700
From: Christoph Paasch <cpaasch@apple.com>
To: Xavier de Foy <x.defoy.ietf@gmail.com>
Cc: multipathtcp <multipathtcp@ietf.org>
Message-id: <20180801174406.GC4738@MacBook-Pro-19.local>
References: <CAHYjOTY23yOojHt+tYNYBJKxakRrFpLxuwsBBkDbVoW5F2F0fA@mail.gmail.com>
In-reply-to: <CAHYjOTY23yOojHt+tYNYBJKxakRrFpLxuwsBBkDbVoW5F2F0fA@mail.gmail.com>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrHIsWRmVeSWpSXmKPExsUiqOHDqpv+MTHa4NhWaYvPq6+zWZw9M5PR gclj56y77B5LlvxkCmCK4rJJSc3JLEst0rdL4MpYPecqa8Ee04rHy6awNTBu1upi5OSQEDCR aH++lqmLkYtDSGA/k8SB3kssIAleAUGJH5PvAdkcHMwC8hJHLmWDhJkFpCUe/Z3BDhFWl5gy JReidSOTxL/vM9kgnC4mie/XvrBDLGCX+PNrBwuErS1x4/lrNhh7QncjK4z9/uN3KJtLYsHW 06wgCyQEdCUuLaiDCLNJrD+xhAnC1pJYd3UaM0SJlkR/mxJM+PKhJ1AlnBLnv0yEukBHou3Z T6gXO5kkJqx/zQiRyJbY8eUkVEOAxJqFP8HiQgJNTBLrzqqA2MICkhLdd+6A7WIRUJXYdV8T JMwGtOvt7Xawi0WA7OcLdjJCgkdD4vrDZjaI1nCJrgP/wCHIK2Ah8f68JMT0AInnR88wTmBU moUUzrMQ4TwLKZxnIcJ5ASPLKkbh3MTMHN3MPCNTvcSCgpxUveT83E2MoASxmklyB+PX14aH GAU4GJV4eAsqE6KFWBPLiitzDzFKc7AoifN+3CUWLSSQnliSmp2aWpBaFF9UmpNafIiRiYNT qoGx7Z2m7jelJn//mUEpO1kC57n9mu/os+p1XqG+9aWPx6M+qh5w1uJ53NRwU+ny8YSAu2+O KreUXXibOvvBpX8mnm4Hrxivd7C3LvDt81WaduPPjZ2bty7XLHWr1df5X/Vxh+bhMuNfsTEu NvwiLcsKVVtmLrXi2c3o8Fuj7O6y7kS/bMb7fepKLMUZiYZazEXFiQBtEAnE8QIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/OS-UhQeBlypaUohVRRS8TqlzlRA>
Subject: Re: [multipathtcp] rfc6824bis discussion about 5G session continuity support
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.27
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, 01 Aug 2018 17:44:11 -0000

Hello,

On 30/07/18 - 15:03:27, Xavier de Foy wrote:
> Hi,
> 
> As promised during the MPTCP meeting session at IETF 102, here is a summary
> of our findings related to 5G session continuity support, as part of the
> review of rfc6824bis.
> 
> 
> 
> The root problem is the following: in 5G, a client may have IP addresses
> provided by a mobile network, in association with a session continuity
> service (SCC mode 1/fixed, 2/distributed anchor + BBM or 3/ distributed
> anchor + MBB). Such an IP address can be replaced, or be complemented with,
> another IP address, possibly multiple times during the lifetime of an
> application session. If the MPTCP stack is not aware of this, it can’t make
> the link between these addresses, and can’t make the correct or most
> efficient decisions in some cases.
> 
> 
> 
> I think there is at least a case for _local_ usage of session continuity
> information by the 5G device MPTCP stack.  Every new IP address can
> (locally) be associated with a tuple (address type, original IP address),
> using the DMM-defined “address types” which have a 1:1 relationship with
> the 3GPP SCC modes. For example, using this information, a MPTCP local
> stack can copy the backup priority property from one IP address to the next
> when appropriate.
> 
> 
> 
> **Rationale to send new information over MPTCP (and workarounds) **
> 
> 
> 
> In addition to the local usage of this information, here are possible
> scenarios where sending the tuple (address type, original IP address ID)
> over MPTCP signaling may help the remote peer making appropriate decisions:
> 
> 
> 
> Case #1: the IP address in active use is over SSC mode 3/MBB, and there is
> a MBB handover:
> 
> - We want both MPTCP peers to start using new path(s) using the new IP
> address, then wait for its bandwidth usage to ramp up, and, after some
> time, cleanly remove the old IP address (cleanly = not losing/re-sending
> packets). This is for a smooth transition in term of performance, and to
> release network resources associated with the old IP address. If both peers
> have access to the tuple (address type, original IP address), they can both
> perform these actions. After a while, one side can close the now unused
> subflow(s), and then remove the IP address.
> 
> - Possible workaround/solution: there is no need to send the tuple over
> MPTCP signaling, if the MPTCP client has the possibility to request a clean
> shutdown of old paths/addresses. When discussing this with Christoph, he
> proposed a quick way to implement a clean shutdown, if I recall correctly:
> (1) set the priority of subflows using this address to “backup”, (2) wait
> for in-flight TCP segments to arrive and be acked, (3) remove the IP
> address. See below in conclusion for additional details on this.
> 
> 
> 
> Case #2: on the client, the IP address in active use is over SSC mode
> 2/BBM, and there is another backup IP address:
> 
> - If no change is made, during the break before make, the peers will switch
> to use the backup IP address. This may not be the desired outcome (e.g.
> waking up a radio for a few packets, and changing the properties of the
> path for a very short period of time).

This here would basically mean that we want to add an additional "latency"
to the backup-bit information. This latency would mean that even if there
are no other paths available, a host should wait a bit more before sending
on the subflow marked as backup.

> Sending the tuple (address type,
> original IP address) as above enables avoiding this situation.
> 
> - Possible workaround/solution: in 5G systems, it may be possible to avoid
> using SSC mode 2/BBM for applications that use MPTCP, by adjusting SSC
> policies for those applications. (At this time it is not clear if will be
> possible in all cases, e.g. applications may also request a specific
> continuity service using setsc().)
> 
> 
> 
> 
> 
> **Conclusion**
> 
> 
> 
> A long term solution for cases #1, #2, and possibly other scenarios that
> may emerge later, could be to send a tuple (address type, original IP
> address ID) to the remote peer, over MPTCP.

I think we should avoid exposing 5G-specific information in MPTCP and (if
really needed) rather abstract those mechanics away into a more generic
format.

> This information would be
> associated with options that can introduce a new IP address, like ADD_ADDR,
> MP_JOIN, MP_CAPABLE. Nevertheless, experiments will be needed to determine
> if it is really needed, or if a local usage of this information on the
> client side is enough. Since 5G deployments are not yet common, it will
> take time. Thus it may be best to rely on the experimental extension
> mechanism, and possibly make sure some minimal support is in place in
> rfc6824bis.

It seems to me that those 5G constructs could be expressed in generic
scheduling policies. In general, this is currently a missing piece in MPTCP.
In the sense that a client connecting to a server has no fine-grained
control over how the server is scheduling data. With today's special purpose
deployments (where clients know exactly what server they are connecting to),
it's not a big problem. But for a more generic deployment of MPTCP it would
be useful to allow more fine-grained control.

Maybe that would be a good work-item for the working-group's next steps (?).


Christoph

> 
> 
> 
> Proposal:
> 
> 
> 
> (1) Document, in rfc6824bis, a “clean remove” of a live address – this will
> enable dealing with the most obvious case #1 (SSC mode 3).
> 
> - Basically, this can use the mechanism described above. Either now or in a
> future version of the protocol, it could make sense to avoid corner cases
> (e.g. use a new “inactive” priority for subflows, and possibly a new reason
> code “inactive address” when closing the subflows).
> 
> 
> 
> (2) Could we make sure that experimental extensions are available in the
> new version of the MPTCP protocol?
> 
> - Additional question: do you think it will be acceptable to mandate
> sending an extension option within the same packet as another MPTCP option?
> It would be convenient to place the address type extension within the same
> packet used to transmit the option it extends (e.g. ADD_ADDR, MP_JOIN,
> MP_CAPABLE). This would ensure that there is no sync issue between them,
> due to timing issue or packet loss, and there will be no need to explicitly
> deal with re-transmission of this particular extension option.
> 
> 
> 
> Best Regards,
> 
> 
> 
> Xavier.

> _______________________________________________
> multipathtcp mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp