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

Yoshifumi Nishida <nishida@sfc.wide.ad.jp> Tue, 13 November 2012 02:04 UTC

Return-Path: <nishida@sfc.wide.ad.jp>
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 6A97C21F8827 for <multipathtcp@ietfa.amsl.com>; Mon, 12 Nov 2012 18:04:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -98.01
X-Spam-Level:
X-Spam-Status: No, score=-98.01 tagged_above=-999 required=5 tests=[AWL=-0.135, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265, J_CHICKENPOX_33=0.6, RELAY_IS_203=0.994, USER_IN_WHITELIST=-100]
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 BYvbwstIjW9A for <multipathtcp@ietfa.amsl.com>; Mon, 12 Nov 2012 18:04:15 -0800 (PST)
Received: from mail.sfc.wide.ad.jp (shonan.sfc.wide.ad.jp [203.178.142.130]) by ietfa.amsl.com (Postfix) with ESMTP id 4034021F87BF for <multipathtcp@ietf.org>; Mon, 12 Nov 2012 18:04:15 -0800 (PST)
Received: from mail-lb0-f172.google.com (mail-lb0-f172.google.com [209.85.217.172]) by mail.sfc.wide.ad.jp (Postfix) with ESMTPSA id B790A2780BD for <multipathtcp@ietf.org>; Tue, 13 Nov 2012 11:04:08 +0900 (JST)
Received: by mail-lb0-f172.google.com with SMTP id y2so1975216lbk.31 for <multipathtcp@ietf.org>; Mon, 12 Nov 2012 18:04:06 -0800 (PST)
MIME-Version: 1.0
Received: by 10.112.27.97 with SMTP id s1mr8562985lbg.135.1352772246091; Mon, 12 Nov 2012 18:04:06 -0800 (PST)
Received: by 10.112.142.196 with HTTP; Mon, 12 Nov 2012 18:04:06 -0800 (PST)
In-Reply-To: <1434931.3sf8zDIuhj@cpaasch-mac>
References: <50A09CF1.2060302@swin.edu.au> <1434931.3sf8zDIuhj@cpaasch-mac>
Date: Mon, 12 Nov 2012 18:04:06 -0800
Message-ID: <CAO249yfjOVWWsxsmZz1hVqCS5CEPYwWXk7B3CGZTh7ehk8WLTw@mail.gmail.com>
From: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
To: Christoph Paasch <christoph.paasch@uclouvain.be>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] draft terminology: MPTCP control block variable SND.NXT
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.12
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: <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: Tue, 13 Nov 2012 02:04:20 -0000

Hi Christoph, Nigel,

In my understanding, in TCP, seqno before SND.NXT is already sent to
the network, while in case of MPTCP, this is not always correct. So,
in a sense, the meaning of SND.NXT might be slightly different,
although I'm not very sure if this is a problem.

Thanks,
--
Yoshifumi



On Mon, Nov 12, 2012 at 1:14 AM, Christoph Paasch
<christoph.paasch@uclouvain.be> wrote:
> 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
> --
> _______________________________________________
> multipathtcp mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp