Re: [multipathtcp] Preparing for Prague meeting - things to delete or add to MPTCP protocol bis

Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be> Wed, 15 July 2015 14:48 UTC

Return-Path: <olivier.bonaventure@uclouvain.be>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77BAB1AC417 for <multipathtcp@ietfa.amsl.com>; Wed, 15 Jul 2015 07:48:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 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_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 dad_iqT_3GVT for <multipathtcp@ietfa.amsl.com>; Wed, 15 Jul 2015 07:48:55 -0700 (PDT)
Received: from smtp6.sgsi.ucl.ac.be (smtp.sgsi.ucl.ac.be [130.104.5.67]) by ietfa.amsl.com (Postfix) with ESMTP id 8C6A21AC40F for <multipathtcp@ietf.org>; Wed, 15 Jul 2015 07:48:55 -0700 (PDT)
Received: from mbpobo.dhcp.info.ucl.ac.be (mbpobo.dhcp.info.ucl.ac.be [130.104.228.16]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: obonaventure@smtp6.sgsi.ucl.ac.be) by smtp6.sgsi.ucl.ac.be (Postfix) with ESMTPSA id B32AF1834A7; Wed, 15 Jul 2015 16:48:40 +0200 (CEST)
X-DKIM: Sendmail DKIM Filter v2.8.3 smtp6.sgsi.ucl.ac.be B32AF1834A7
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uclouvain.be; s=selucl; t=1436971720; bh=KEsEOIW91XCzlKV9dZ6c2hYiySmCOihL5SBjsBcNDpM=; h=Reply-To:Subject:References:To:From:Message-ID:Date:MIME-Version: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=0dINKphItq+rVVwRskS2WqiM1tQl184Wgpw3xQ3CvIptJr8bHItdRq3tvxxb5HCRf c7ZcJWqKq3y837D21cGLo0Z2vBRgpammfPMdveyFLU48MB7ZkLe3F4V7dtsRZr4viD te4KKIcRb5Msg8f8LXg3C5FnwZxVupzXdkN4eTU0=
References: <1436204168109.20146@bt.com> <1436205703501.53882@bt.com> <787AE7BB302AE849A7480A190F8B933005359DAA@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <559FD6FF.3040003@uclouvain.be> <787AE7BB302AE849A7480A190F8B93300535BCE9@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
To: mohamed.boucadair@orange.com, "philip.eardley@bt.com" <philip.eardley@bt.com>, "multipathtcp@ietf.org" <multipathtcp@ietf.org>
From: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Message-ID: <55A672C8.7060901@uclouvain.be>
Date: Wed, 15 Jul 2015 16:48:40 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.0.1
MIME-Version: 1.0
In-Reply-To: <787AE7BB302AE849A7480A190F8B93300535BCE9@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.99-beta1 at smtp-6.sipr-dc.ucl.ac.be
X-Virus-Status: Clean
X-Sgsi-Spamcheck: SASL authenticated,
X-SGSI-MailScanner-ID: B32AF1834A7.A2E13
X-SGSI-MailScanner: Found to be clean
X-SGSI-From: olivier.bonaventure@uclouvain.be
X-SGSI-Spam-Status: No
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/fgyiqFt4_8VKf07BOSZtlr7jbkE>
Subject: Re: [multipathtcp] Preparing for Prague meeting - things to delete or add to MPTCP protocol bis
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Olivier.Bonaventure@uclouvain.be
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, 15 Jul 2015 14:48:57 -0000

Med,

>>
>>>                                           +-+-+-+-+
>>>
>>>         Flags is a set of 4 flags:        |C|r|r|r|
>>>
>>>                                           +-+-+-+-+
>>>
>>>         C flag MUST be set to 1 when the address/port are checked.
>>>
>>>         "rrr" are for future assignment as additional flag bits.
>>>
>>>         r bits MUST each be sent as zero and MUST be ignored on receipt.
>>>
>>
>> However, I'm stil not convinced by the usefulness of using the C bit
>> that you propose. If a host knows that it cannot receive a SYN over a
>> given address, then the best solution is to not advertise this address.
>
> [Med] Agree. An implementation that supports the "C" flag is likely to advertise addresses/ports for which pinholes have been created in NATs/FWs and address/ports that can be used to receive incoming packets successfully.


> The issue with the implicit approach (i.e., no C-flag) is at the server side: should the server interpret the advertisement of an address/port as an indication that packets can be sent without experiencing reachability issues or not?

This is what RFC6824 assumes today. ADD_ADDR is only a hint about the 
possibility of trying to reach this address. Anyway it will be a SYN and 
the host will wait for a SYN+ACK to confirm the reachability

> The experience has shown that only the endpoint who initiated the first subflow can create new ones even if addresses/ports have been announced to the remote peer.

AFAIK, there has been no experience on letting the server create 
subflows on the Internet and see what happens. The existing 
implementation have assumed that this would be difficult and they have 
not implemented the code to allow the server to create subflows, but 
this could be done. It will likelly work in private networks or datacenters

>
> The explicit approach (c-flag) explores an alternate approach that is worth to be investigated, IMHO.

We should probably first try to create subflows from the server. We 
might be able to install a test server to analyse this on
multipath-tcp.org after the holidays. This could give use data on the
possibility of creating subflows from the server and the problems that 
such a feature could cause.
>
>> This will typically be the case when a host is behind a NAT or a
>> firewall (I guess that at some point middlebox vendors will include
>> software to parse ADD_ADDR and remove the ADD_ADDR that correspond to
>> addresses that are not reachable accoring to their policies)
>
> [Med] We can also consider some middleboxes (read CPEs) that will set the C-flag on behalf of an endpoints for a better quality of experience.

I'm not sure that expecting middleboxes to change the content of the 
ADD_ADDR is a good approach in the long term. We've seen various 
problems with middleboxes that change the content of packets


Olivier