Re: [multipathtcp] draft terminology: MPTCP control block variable SND.NXT

Christoph Paasch <christoph.paasch@uclouvain.be> Mon, 12 November 2012 09:14 UTC

Return-Path: <christoph.paasch@uclouvain.be>
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 E5CC121F854C for <multipathtcp@ietfa.amsl.com>; Mon, 12 Nov 2012 01:14:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.999
X-Spam-Level:
X-Spam-Status: No, score=-5.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_33=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0lTPlQJGF4l8 for <multipathtcp@ietfa.amsl.com>; Mon, 12 Nov 2012 01:14:44 -0800 (PST)
Received: from smtp6.sgsi.ucl.ac.be (smtp.sgsi.ucl.ac.be [130.104.5.67]) by ietfa.amsl.com (Postfix) with ESMTP id 7968C21F854B for <multipathtcp@ietf.org>; Mon, 12 Nov 2012 01:14:38 -0800 (PST)
Received: from cpaasch-mac.localnet (unknown [172.17.0.12]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: cpaasch@smtp6.sgsi.ucl.ac.be) by smtp6.sgsi.ucl.ac.be (Postfix) with ESMTPSA id 669B11C5A2C; Mon, 12 Nov 2012 10:14:31 +0100 (CET)
X-DKIM: Sendmail DKIM Filter v2.8.3 smtp6.sgsi.ucl.ac.be 669B11C5A2C
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uclouvain.be; s=selucl; t=1352711671; bh=1xVaaIPsw0hPZC7hIg7BvMHHXmIoQVrwZT6s2QbGF2I=; h=From:To:Reply-To:Cc:Subject:Date:Message-ID:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:Content-Type; b=WL4Ao9fo32teXksCI7NQS2fSYkC+Aymc8gvj3+C9nq84QCdfEEsa3wLgL4q9W3p5f Oif9B9vvFOvKBv9sS+1xdN//5PM0+w2b5Q2VwJurCnc6vYAirgJngsbpRS527BMK/S TX+cKXuB120oZGfGZeoCXmKv/YmolnNzHiY/IaN8=
From: Christoph Paasch <christoph.paasch@uclouvain.be>
To: multipathtcp@ietf.org
Date: Mon, 12 Nov 2012 10:14:27 +0100
Message-ID: <1434931.3sf8zDIuhj@cpaasch-mac>
Organization: Université Catholique de Louvain
User-Agent: KMail/4.9.2 (Linux/3.2.0-33-mptcp-proxy; KDE/4.9.2; x86_64; ; )
In-Reply-To: <50A09CF1.2060302@swin.edu.au>
References: <50A09CF1.2060302@swin.edu.au>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"
X-Virus-Scanned: clamav-milter 0.97.3-exp at smtp-6.sipr-dc.ucl.ac.be
X-Virus-Status: Clean
X-Sgsi-Spamcheck: SASL authenticated,
X-SGSI-MailScanner-ID: 669B11C5A2C.AFD9C
X-SGSI-MailScanner: Found to be clean
X-SGSI-From: christoph.paasch@uclouvain.be
X-SGSI-Spam-Status: No
Subject: Re: [multipathtcp] draft terminology: MPTCP control block variable SND.NXT
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: Christoph Paasch <christoph.paasch@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: <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: Mon, 12 Nov 2012 09:14:49 -0000

Hi Nigel,

On Monday 12 November 2012 17:53:37 Nigel Williams wrote:
>  From the draft [1] v12, p59, Section B.1.2 (variables in the MPTCP
> control block):
> "SND.NXT (64 bits):  This is the Data Sequence Number of the next byte
> to be sent.  SND.NXT is used to determine the value of the DSN in the
> DSS option."
> 
> This terminology is borrowed from regular single flow TCP, but it's
> meaning does not seem to us to be the same in the MPTCP context. When a
> subflow asks the scheduler for new data to send, the scheduler allocates
> a chunk of the TX socket buffer to the subflow, tells the subflow the
> starting DS value for the chunk and the length of the chunk. The subflow
> then proceeds to send a DS map for the chunk and all the associated data
> before calling back up to the scheduler to get a new chunk allocated.
> 
> Each subflow's internal concept of snd.nxt makes sense as in the regular
> single flow TCP case, but at the DS level, packets leave the machine
> with DS-level sequence numbers that jump all over the place (when using
> mappings > 1-MSS on multiple subflows).

This depends on the scheduler, and I don't see why mappings > 1-MSS affects 
this.

Is the data leaving the sender out-of-order on the data-sequence number space 
in your implementation?

In our implementation, even if the mapping would be > 1-MSS, the SND.NXT is 
simply increasing as new data is pushed out on the network.
I believe that. sending the data in-order on the DS-level allows an easier 
handling of the meta-level retransmission timer.


Cheers,
Christoph

> The interesting variable at the
> DS level is really the largest DS value mapped to a subflow i.e. the
> right most edge of the TX socket buffer which designates the boundary
> between bytes which have been mapped into subflows and bytes which have
> not. This is not analogous to an individual TCP flow's SND.NXT though,
> hence the point of discussion.
> 
> cheers,
> nigel
> 
> 
> [1] http://www.ietf.org/id/draft-ietf-mptcp-multiaddressed-12.txt
> _______________________________________________
> multipathtcp mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp
-- 
IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://mptcp.info.ucl.ac.be
Université Catholique de Louvain
--