Re: [multipathtcp] towards a potential work item on two-ended proxy

"Henderickx, Wim (Nokia - BE)" <wim.henderickx@nokia.com> Thu, 04 August 2016 04:14 UTC

Return-Path: <wim.henderickx@nokia.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 C948712B056 for <multipathtcp@ietfa.amsl.com>; Wed, 3 Aug 2016 21:14:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level:
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-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 Hz-q9Y7fjMWu for <multipathtcp@ietfa.amsl.com>; Wed, 3 Aug 2016 21:14:38 -0700 (PDT)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (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 8D33012B01F for <multipathtcp@ietf.org>; Wed, 3 Aug 2016 21:14:37 -0700 (PDT)
Received: from fr712umx3.dmz.alcatel-lucent.com (unknown [135.245.210.42]) by Websense Email Security Gateway with ESMTPS id 61F69EA974580; Thu, 4 Aug 2016 04:14:34 +0000 (GMT)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (fr711usmtp1.zeu.alcatel-lucent.com [135.239.2.122]) by fr712umx3.dmz.alcatel-lucent.com (GMO-o) with ESMTP id u744EYjC019401 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 4 Aug 2016 04:14:34 GMT
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id u744DJXW018453 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 4 Aug 2016 06:14:34 +0200
Received: from FR711WXCHMBA07.zeu.alcatel-lucent.com ([169.254.3.82]) by FR712WXCHHUB03.zeu.alcatel-lucent.com ([135.239.2.74]) with mapi id 14.03.0195.001; Thu, 4 Aug 2016 06:14:14 +0200
From: "Henderickx, Wim (Nokia - BE)" <wim.henderickx@nokia.com>
To: Tommy Pauly <tpauly@apple.com>
Thread-Topic: [multipathtcp] towards a potential work item on two-ended proxy
Thread-Index: AQHR6/78+H5KVobs2E61DPJLQEiUPaA0T3oAgAAn1gCAARlmAIAAeo6AgACqOQCAAOR5AIAANaSAgABltwA=
Date: Thu, 04 Aug 2016 04:14:13 +0000
Message-ID: <F6D0E786-4CFC-44F0-8B22-1A3376D92D44@nokia.com>
References: <b779dd12f1bb412c96c800eddaaf0247@rew09926dag03b.domain1.systemhost.net> <e2aa6ac517194af4b8c25c07f8e469fb@rew09926dag03b.domain1.systemhost.net> <9cafc779-502e-cc7f-676c-f6659e207c81@uclouvain.be> <3100ff74-0c7d-1815-03a1-aa4cec36d1e4@oracle.com> <3D8D4118-39CA-46A6-BFBD-026376C02058@nokia.com> <811b2c78-0976-6994-d759-8cac5fa58864@oracle.com> <0084773F-53E5-41A4-A244-430DAF12322A@nokia.com> <E0278B51-F3D8-4762-B597-41959E7BCF12@gmail.com> <08A92759-0446-440B-A76E-2E89518E1336@nokia.com> <F9F23B1F-D802-4971-857F-4BF455EDCF5D@gmail.com> <FCC775C9-EA48-4E7D-A48D-3059C255569A@nokia.com> <4221AE86-54DA-4177-91B5-D1A03C101F71@apple.com>
In-Reply-To: <4221AE86-54DA-4177-91B5-D1A03C101F71@apple.com>
Accept-Language: nl-BE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/0.0.0.151008
x-originating-ip: [135.239.27.41]
Content-Type: multipart/alternative; boundary="_000_F6D0E7864CFC44F08B221A3376D92D44nokiacom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/6Bw-jMOF86FIqe4TUOysHS09He0>
Cc: "multipathtcp@ietf.org" <multipathtcp@ietf.org>
Subject: Re: [multipathtcp] towards a potential work item on two-ended proxy
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: Thu, 04 Aug 2016 04:14:41 -0000

inline

From: <tpauly@apple.com<mailto:tpauly@apple.com>> on behalf of Tommy Pauly <tpauly@apple.com<mailto:tpauly@apple.com>>
Date: Thursday 4 August 2016 at 02:10
To: Wim Henderickx <wim.henderickx@nokia.com<mailto:wim.henderickx@nokia.com>>
Cc: Alan Ford <alan.ford@gmail.com<mailto:alan.ford@gmail.com>>, "multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>" <multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>>
Subject: Re: [multipathtcp] towards a potential work item on two-ended proxy


On Aug 3, 2016, at 11:58 AM, Henderickx, Wim (Nokia - BE) <wim.henderickx@nokia.com<mailto:wim.henderickx@nokia.com>> wrote:

Alan, in-line

From: Alan Ford <alan.ford@gmail.com<mailto:alan.ford@gmail.com>>
Date: Wednesday 3 August 2016 at 09:20
To: Wim Henderickx <wim.henderickx@nokia.com<mailto:wim.henderickx@nokia.com>>
Cc: Rao Shoaib <rao.shoaib@oracle.com<mailto:rao.shoaib@oracle.com>>, "multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>" <multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>>
Subject: Re: [multipathtcp] towards a potential work item on two-ended proxy

Hi Wim, all,

Comment inline...

On 2 Aug 2016, at 20:11, Henderickx, Wim (Nokia - BE) <wim.henderickx@nokia.com<mailto:wim.henderickx@nokia.com>> wrote:
On 02/08/16 15:52, "Alan Ford" <alan.ford@gmail.com<mailto:alan.ford@gmail.com>> wrote:

I’m trying to distinguish the various use cases; can we confirm this is correct?

Transparent Mode
- Source address = real source address
WH> not always since NAT can be in the path
- Destination address = real destination address
- Transparent proxies create MPTCP functionality in the stream, adding and removing the MPTCP headers, mapping seq numa, etc
- Latest proposal is to add an indicator to say “this is proxied” so that a proxy can intercept it
WH> indeed or not intercept it based on the indication

Plain Mode
- Source address = real source
WH> could also be NATed in some use cases
- Destination address = proxy destination address
- Signalling protocol inside indicates real destination address
WH> or SRC address

So - please correct me if this is wrong - but the main difference is that Plain Mode is targeted towards a proxy server whereas the transparent mode does not change src/dst addresses?
WH> the main difference is mainly DST IP is changed to get explicit routing to the proxy versus being implicit in the transparent case

OK, so my understanding appears correct here.
WH> yes

The issue I see with a generic proxy bit is that it does not contain any context about what kind of proxy is being intercepted. You could be sending in good faith expecting it to be picked up by Proxy from Operator A, but in fact is picked up by Operator B.
WH> the network assisted proxy is mainly targeting single operator/controlled operator use cases to avoid these issues.

As I’ve said before, the plain mode option is not MPTCP-specific and is simple a signal that says “everything that follows is actually targeted for IP address a.b.c.d” - this is entirely transport-agnostic. If the HAG could know where to find a proxy (e.g. a well-known anycast address) then addresses could be rewritten and packets forwarded, with no need for any MPTCP protocol changes.
WH> you would still need to know the original destination IP@ that the application wanted to go to.

Which is the point of the signalling protocol - the proposed “plain mode option” which is actually carried in the payload. My issue with this is that this is _not MPTCP-specific_. This is simply a signal above the transport layer to inform a proxy what the real destination is.

WH> I hear, you and I understand but we have an explicit use case for this with MPTCP and so far not in any other protocol. Hence I think it is good to extend MPTCP with this capability and liase with other WG(s) about this.

While you may have a use-case for having proxies work with your MPTCP solution, it does not directly follow that the MPTCP protocol or WG is the best place to specify how the proxy works. This really does seem like a proxy solution that can be made more generic, and at the very least belongs as a protocol that is run within the MPTCP stream. This is what the SOCKS protocol does, and there is no reason you can't run SOCKS over MPTCP, or create a new variant of SOCKS or a similar protocol that you will run on top of MPTCP for your solution. Indeed, it could be seen as a benefit to work on the proxying solution independently from MPTCP, since that way it can be used for other transports. The end result will be the same, and the architecture will be cleaner.

WH> given the extension is specific in TCP?MPTCP since we carry the information in a SYN packet it becomes specific to the protocol and hence I still believe it fits. Other transport mechanisms have other means and can adopt a similar information element but the way the protocol consumes it is specific and should be done in the protocol afais.

Best,
Tommy Pauly


Regards,
Alan

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