Re: [multipathtcp] The point about multiple listening sockets at theclient side

"Ford, Alan" <alan.ford@roke.co.uk> Wed, 11 November 2009 01:06 UTC

Return-Path: <alan.ford@roke.co.uk>
X-Original-To: multipathtcp@core3.amsl.com
Delivered-To: multipathtcp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 747593A68B3 for <multipathtcp@core3.amsl.com>; Tue, 10 Nov 2009 17:06:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.498
X-Spam-Level:
X-Spam-Status: No, score=-3.498 tagged_above=-999 required=5 tests=[AWL=0.101, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YHwOpm9UCxB8 for <multipathtcp@core3.amsl.com>; Tue, 10 Nov 2009 17:06:50 -0800 (PST)
Received: from rsys002x.roke.co.uk (rsys002x.roke.co.uk [193.118.201.109]) by core3.amsl.com (Postfix) with ESMTP id 6332D3A689C for <multipathtcp@ietf.org>; Tue, 10 Nov 2009 17:06:50 -0800 (PST)
Received: from rsys005a.comm.ad.roke.co.uk ([193.118.193.85]) by rsys002x.roke.co.uk (8.13.1/8.13.1) with ESMTP id nAB175iT030549; Wed, 11 Nov 2009 01:07:05 GMT
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Wed, 11 Nov 2009 01:07:13 -0000
Message-ID: <2181C5F19DD0254692452BFF3EAF1D6808D7BDEE@rsys005a.comm.ad.roke.co.uk>
In-Reply-To: <3c3e3fca0911101220g55f84f79nf62526d8693d39fa@mail.gmail.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [multipathtcp] The point about multiple listening sockets at theclient side
Thread-Index: AcpiQ1KJ+8bIwAg0RrOPhsXcilrchAAJk98g
References: <4AF8B8A5.4040602@ismailov.eu> <2181C5F19DD0254692452BFF3EAF1D6808D7BB53@rsys005a.comm.ad.roke.co.uk> <3c3e3fca0911101220g55f84f79nf62526d8693d39fa@mail.gmail.com>
From: "Ford, Alan" <alan.ford@roke.co.uk>
To: William Herrin <bill@herrin.us>
X-roke-co-uk-MailScanner-ID: nAB175iT030549
X-roke-co-uk-MailScanner: Found to be clean
X-roke-co-uk-MailScanner-SpamCheck:
X-roke-co-uk-MailScanner-From: alan.ford@roke.co.uk
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] The point about multiple listening sockets at theclient side
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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, 11 Nov 2009 01:06:51 -0000

Hi Bill, all,

> On Mon, Nov 9, 2009 at 8:06 PM, Ford, Alan <alan.ford@roke.co.uk>
wrote:
> > The client (in terms of software) does not need to open listening
> > sockets in this case. But the MPTCP stack itself will be listening
on
> > all interfaces for potential incoming subflows from the server,
which
> > when initiated are joined to the existing connection. The
application
> > does not need to do anything for this to happen (but if an extended
API
> > were in use it could, for example, have callbacks to be informed).
> 
> Hi Alan,
> 
> Two thoughts:
> 
> 1. When the initiator (of the overall connection) tries to add a
> subflow, he'll want to use the same destination port number and a full
> syn-syn/ack-ack handshake to maximize the chances of getting through
> the acceptor's firewall unscathed.

Agreed - and not to upset port-based traffic engineering either.

> 2. When the acceptor tries to add a subflow, he best not offer a syn.
> The syn won't get through the initiator's firewall. Nor should it: a
> SYN packet to a non-multipath host would be interpreted as a plain
> connection attempt.

Disagree. Well, I can see what you're saying, but subflows /need/ to be
SYN+SYN/ACKed, whichever way they go, since they are essentially
standard TCP sessions, reassembled at the endpoints. In particular,
although there may be some firewalls that would let that traffic
through, many others would not (not part of a known TCP session), not to
mention other middleboxes anywhere along the path, including many NATs,
that would not know what to do with TCP packets that do not appear to be
part of a session they know about (since they haven't seen a SYN for
that particular 5-tuple).

Regards,
Alan