Re: [multipathtcp] q about on-path proxy

<mohamed.boucadair@orange.com> Wed, 22 March 2017 09:47 UTC

Return-Path: <mohamed.boucadair@orange.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 A6CCD13167B for <multipathtcp@ietfa.amsl.com>; Wed, 22 Mar 2017 02:47:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.62
X-Spam-Level:
X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 STXGmd8J9DpF for <multipathtcp@ietfa.amsl.com>; Wed, 22 Mar 2017 02:47:24 -0700 (PDT)
Received: from relais-inet.orange.com (mta240.mail.business.static.orange.com [80.12.66.40]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 90F0013166D for <multipathtcp@ietf.org>; Wed, 22 Mar 2017 02:47:20 -0700 (PDT)
Received: from opfedar01.francetelecom.fr (unknown [xx.xx.xx.2]) by opfedar21.francetelecom.fr (ESMTP service) with ESMTP id CE8AF10069D; Wed, 22 Mar 2017 10:47:18 +0100 (CET)
Received: from Exchangemail-eme2.itn.ftgroup (unknown [xx.xx.31.33]) by opfedar01.francetelecom.fr (ESMTP service) with ESMTP id B2CDF160078; Wed, 22 Mar 2017 10:47:18 +0100 (CET)
Received: from OPEXCLILMA3.corporate.adroot.infra.ftgroup ([fe80::60a9:abc3:86e6:2541]) by OPEXCLILM42.corporate.adroot.infra.ftgroup ([fe80::d5fd:9c7d:2ee3:39d9%19]) with mapi id 14.03.0319.002; Wed, 22 Mar 2017 10:47:18 +0100
From: <mohamed.boucadair@orange.com>
To: "Olivier.Bonaventure@uclouvain.be" <Olivier.Bonaventure@uclouvain.be>, Yoshifumi Nishida <nishida@sfc.wide.ad.jp>, multipathtcp <multipathtcp@ietf.org>
Thread-Topic: [multipathtcp] q about on-path proxy
Thread-Index: AQHSou+Xjy0a9GTR1U+84LKyZFSQtaGgm0nw
Date: Wed, 22 Mar 2017 09:47:18 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B933009E37584@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
References: <CAO249ydsuoAUn0y6yo62OM8mdp_AfyS1cA+patgQ84ata5piXw@mail.gmail.com> <a5ae92e4-c0c9-96c6-a575-f23891189087@uclouvain.be>
In-Reply-To: <a5ae92e4-c0c9-96c6-a575-f23891189087@uclouvain.be>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.168.234.1]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/UbRFxZ00voE3xcVDQ7OLXn5dIEo>
Subject: Re: [multipathtcp] q about on-path proxy
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.22
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, 22 Mar 2017 09:47:27 -0000

Hi Olivier, 

Please see inline.

Cheers,
Med

> -----Message d'origine-----
> De : multipathtcp [mailto:multipathtcp-bounces@ietf.org] De la part de
> Olivier Bonaventure
> Envoyé : mercredi 22 mars 2017 10:35
> À : Yoshifumi Nishida; multipathtcp
> Objet : Re: [multipathtcp] q about on-path proxy
> 
> Yoshifumi,
> >
> > I am trying to understand on-path proxy scenarios.
> > (BTW, I'm referring draft-nam-mptcp-deployment-considerations-01
> > and draft-boucadair-mptcp-plain-mode-10)
> >
> > In case of on-path proxy (implicit mode),the dest of the primary subflow
> > will be the receiver. It's not very clear to me how MCP intercepts the
> > packets in this subflow.
> 
> 
> There are several techniques that can be deployed by operators to ensure
> that the transparent MCP is on-path for the initial subflow. All these
> techniques operate in the network layer or below and are thus
> transparent for TCP. Let me give an example based on source routing that
> does not match an actual deployment but would illustrate the main
> principle. With source routing, one can add inside the IP header a loose
> hop.
> 
> 
>         +------- R4 ---- R5 --------+
> C --- uMCP ---- R1 ---- R2 ------ dMCP ---- R6 --- R7 --- S
> 
> Consider a TCP connection created by client C towards server S. The uMCP
> is the first hop router for C. It intercepts the connection and
> transparently terminates it, acting as S. It then initiates a Multipath
> TCP connection towards S, acting as C. The packets for this connection
> are sent as IP packet that contain the IP address of the downstream MCP
> as a loose source routing hop. The dMCP removes the source routing
> option, transparently terminates the Multipath TCP connection and then
> initiates a connection towards S, acting as C.
> 
> Three connections exist to transfer data from C et S and vice-versa.
> 
> C<->uMCP  (source address C, destination address S)
> uMCP<->dMCP (source address C, destination address S, using source
> routing to ensure that all downstream packets pass through dMCP, for
> upstream packets, source routing is usually not required because there
> is only one path to the uMCP that advertises C to R1 only )
> dMCP<-> S (source address C, destination address S)
> 
> For the Multipath TCP connection between uMCP and dMCP, the second
> subflow is used without relying on source routing. The uMCP and the dMCP
> have addresses on the R4/R5 network and use the ADD_ADDR option to
> advertise those addresses and create the required subflows.
> 
> > The MCP splits the connection between two nodes and send forged packets
> > to the sender?
> 
> Yes
> 
> > Also, in the two proxy scenario, does the downstream MCP have to be
> > on-path?
> 
> If the downstream MCP is on path, then it does not have to include any
> NAT function which is beneficial from an operational viewpoint.
> 
> 

[Med] Perhaps I misunderstood your point but DNAT/SNAT are still needed for subsequent subflows even for the implicit case. Think about subflows that are placed with a destination address set to the one of the MCP and with a distinct source IP address than the one used to place the initial subflow.