Re: [multipathtcp] Submitted drafts

Christoph Paasch <cpaasch@apple.com> Mon, 13 July 2015 06:09 UTC

Return-Path: <cpaasch@apple.com>
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 360F81ACEF2 for <multipathtcp@ietfa.amsl.com>; Sun, 12 Jul 2015 23:09:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.611
X-Spam-Level:
X-Spam-Status: No, score=-1.611 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 xj2JaEDyMYUW for <multipathtcp@ietfa.amsl.com>; Sun, 12 Jul 2015 23:09:24 -0700 (PDT)
Received: from mail-in7.apple.com (mail-out7.apple.com [17.151.62.29]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7E6831AD05F for <multipathtcp@ietf.org>; Sun, 12 Jul 2015 23:09:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1436767764; x=2300681364; 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=TjXJIlgGPaZmIG3IH979rOvR0SY/QKhkYeN6OyzVhM4=; b=Iv5BUoGIxxAsZzto5SY4+Wz26pLU8URF3QOzmql8NOslpyFxvwwWPyt2WWenhPAu 04JoWyDaYLIebZL1UkRoHnbu+xXPFzYm8JdNc+7wYYDFVrueJGvgb6lod2Mcx+8l 6JoDLy45W3/Jg7m8eBOeaUhPfdHi4hRwkv3Jjai+9WfO7xTUzsbUgqJCMscYk9Sn SVZ+3VQwt7mAffjWndDTYQ5YKD7Rf69iN6/tV/sCMPNwIf0Qd+S6O0h8hQMLq+er KeSxmoUeYfdpYKT2LXBEmC4p6IT0fiOSo0cPhX6lcXF2jtZaYn1P7bltnMi6VYVM sbtAX1q9vM9oK6t3iUFoNQ==;
Received: from relay3.apple.com (relay3.apple.com [17.128.113.83]) by mail-in7.apple.com (Apple Secure Mail Relay) with SMTP id F1.2A.09370.41653A55; Sun, 12 Jul 2015 23:09:24 -0700 (PDT)
X-AuditID: 11973e16-f79856d00000249a-7d-55a356145a66
Received: from cilantro.apple.com (cilantro.apple.com [17.128.115.18]) (using TLS with cipher RC4-MD5 (128/128 bits)) (Client did not present a certificate) by relay3.apple.com (Apple SCV relay) with SMTP id 54.A4.32123.31653A55; Sun, 12 Jul 2015 23:09:23 -0700 (PDT)
Received: from localhost ([17.153.36.73]) by cilantro.apple.com (Oracle Communications Messaging Server 7.0.5.30.0 64bit (built Oct 22 2013)) with ESMTPSA id <0NRE00KP5X3NLN70@cilantro.apple.com> for multipathtcp@ietf.org; Sun, 12 Jul 2015 23:09:23 -0700 (PDT)
Date: Sun, 12 Jul 2015 23:09:23 -0700
From: Christoph Paasch <cpaasch@apple.com>
To: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Message-id: <20150713060923.GP1144@Chimay.local>
References: <559E8D85.2060603@uclouvain.be> <cdbfab2b826949a5bf4f824358a995dc@rew09926dag03b.domain1.systemhost.net> <559F65C6.8030305@uclouvain.be> <20150710173600.GO1144@Chimay.local> <55A031A1.90703@uclouvain.be>
MIME-version: 1.0
Content-type: text/plain; charset="us-ascii"
Content-disposition: inline
In-reply-to: <55A031A1.90703@uclouvain.be>
User-Agent: Mutt/1.5.23 (2014-03-12)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrILMWRmVeSWpSXmKPExsUi2FAYrCsStjjUYG+axefV19kcGD2WLPnJ FMAYxWWTkpqTWZZapG+XwJUxYe4ploJzihWzJ6xjbGB8JdHFyMkhIWAi0d+wlRnCFpO4cG89 WxcjF4eQwF5GiZNv/rHDFDXs6GGCSExkkni3/zszhNPFJHHi23xWkCoWAVWJD80TwTrYBLQk 3t5uB4uLCFhJnDo9HSzOLGAgsXTORSCbg0NYQEfi9isRkDAvULh/zQyozXcZJa5t/s4IkRCU +DH5HgtEr5bE+p3HmSBsaYlHf2eAzeQEii/bthbsBVEBFYkrE95CXf2SVeL0TIEJjMKzkIya hWTULCSjFjAyr2IUyk3MzNHNzDPXSywoyEnVS87P3cQICuPpdmI7GB+usjrEKMDBqMTD27Bl UagQa2JZcWXuIUZpDhYlcV6pzwtDhQTSE0tSs1NTC1KL4otKc1KLDzEycXBKNTAe7ryWVejA 83bNk8vB5z8nrp5WKfdiG8PnGUyfWe+svJIWaaj40YB/5/OcVoPmxp4NsUr7VDRqz4U2Sm0r DH3O8ucPQ05kt0ru/pSLh2QU1jLJHViQpsU4R788OiuJR7KW8+wiSce+sxc+Bff2XszIky6e 3epnG6StYL9+bV3gMk7WNXdnMCmxFGckGmoxFxUnAgDGc1meRAIAAA==
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrGLMWRmVeSWpSXmKPExsUi2FAspCsctjjU4OAea4vPq6+zOTB6LFny kymAMYrLJiU1J7MstUjfLoErY8LcUywF5xQrZk9Yx9jA+Eqii5GTQ0LARKJhRw8ThC0mceHe erYuRi4OIYGJTBLv9n9nhnC6mCROfJvPClLFIqAq8aF5IjuIzSagJfH2djtYXETASuLU6elg cWYBA4mlcy4C2RwcwgI6ErdfiYCEeYHC/WtmQC24yyhxbfN3RoiEoMSPyfdYIHq1JNbvPM4E YUtLPPo7A2wmJ1B82ba1zCC2qICKxJUJb9knMArMQtI+C0n7LCTtCxiZVzEKFKXmJFYa6yUW FOSk6iXn525iBIdeYfAOxj/LrA4xCnAwKvHwNmxZFCrEmlhWXJl7iFGCg1lJhPfzWaAQb0pi ZVVqUX58UWlOavEhRmkOFiVxXs0pU0KFBNITS1KzU1MLUotgskwcnFINjExzSttM1/kyXo8+ WaUn6R7LL5Qn+4jlk7KqySNZqS+HY5y634hPcvHPk5HyeZTUpPFlZVCk1idT5qC/rx0kUpf8 /ur1bCLv+ZplfQXqF6cf8V8TknCYxdJ50u1vnwK6pBzyzG8vfaMQupCF5dhMEX8J1bO/jHR6 z1yfpv2o89rjl6c3b+HsVGIpzkg01GIuKk4EAFjnb3k5AgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/x_YOaVohEfB8R1XOV5pNZZEJwTI>
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] Submitted drafts
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 13 Jul 2015 06:09:26 -0000

Hello,

On 10/07/15 - 22:57:05, Olivier Bonaventure wrote:
> >>>>* https://www.ietf.org/internet-drafts/draft-bonaventure-mptcp-addr-
> >>>>00.txt
> >>
> >>This draft includes a slight modification of the handling of the address
> >>identifier for the initial subflow. Comments from other implementors would
> >>be useful on this draft.
> >
> >I agree with section 2.1 that having a different address-ID for the
> >initial subflow is very cumbersome. An implementation has to store the local
> >address-id's within the state-machine of each subflow. It would be much
> >easier if we could have a fully global address-table.
> >
> >However, I'm not sure whether it is good to solve it through an empty
> >ADD_ADDR-option. Because, the option is not sent reliably. Even if it gets
> >combined with data, we have an issue with unidirectional streams. And
> >communicating this ADD_ADDR-option reliably to the peer is here in this case
> >even more important than for the "regular" ADD_ADDR option.
> >
> >It would be better if we could put the address-ID inside the MP_CAPABLE.
> >Maybe we can use 8 bits of the key?
> 
> Then the entropy for the key is lower because it is reduced to 56 bits.
> 
> >
> >(also, a little nit: Adding the IPVer within this ADD_ADDR-option is not
> >necessary and will bring issues in NAT64-environments).
> 
> Agreed.
> 
> An alternative is to use the same approach as in
> https://www.ietf.org/internet-drafts/draft-bonaventure-mptcp-exp-option-00.txt
> 
> to make ADD_ADDR reliable
> 
> We can remove the IPVer from ADD_ADDR2 that AFAIK nobody has implemented and
> replace it with a set of flags.
> 
>                           1                   2                   3
>        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>       +---------------+---------------+-------+-------+---------------+
>       |     Kind      |     Length    |Subtype| ABCD  |  Address ID   |
>       +---------------+---------------+-------+-------+---------------+
>       |          Address (IPv4 - 4 octets / IPv6 - 16 octets)         |
>       +-------------------------------+-------------------------------+
>       |   Port (2 octets, optional)   |                               |
>       +-------------------------------+                               |
>       |                      Truncated HMAC (8 octets)                |
>       |                               +-------------------------------+
>       |                               |
>       +-------------------------------+
> 
> 
> 
> For example, the A flag could be set to zero when a host announces a new
> address. The host that receives an ADD_ADDR2 with the A flag set to zero
> must set the A flag to one and  return it to acknowledge it.
> 
> A host should retransmit the ADD_ADDR2 option up to n times if it wants to
> ensure that the ADD_ADDR2 option is delivered reliably.

Yes, I think it would be good to have such a reliable ADD_ADDR2 exchange.

> This would work for the ADD_ADDR2 option that does not contain any address
> and has thus a total length of 32 bits.

Concerning the address-ID of the initial subflow, I am not sure whether it
is worth it to replace the complexity in the implementations of handling the
implicit zero address-ID, with a reliable empty ADD_ADDR-exchange (which
will also add complexity of its own).

If we could add the address-ID in the MP_CAPABLE it would be great (as this
will simplify a lot), but I understand that we do not want to lose
the entropy of the 64 bits.



In general, if the MP_CAPABLE could transport all the information that is
relevant for this subflow (address-ID and backup-bit), would be great.
Because, as of today, if a stack sends a SYN+MP_CAPABLE on a subflow that is
actually meant to operate as a "backup" subflow (as soon as another subflow with
higher priority can be established), a stack has to send an MP_PRIO
immediately after the 3-way handshake. The reliability of the MP_CAPABLE in
the SYN could actually get exploited to send such information immediately
(as is already done in the MP_JOIN).

Considering that the keys are already sent in plaintext, maybe the loss of
entropy is not such a big deal?



Cheers,
Christoph