Re: [tcpm] Definition of SMSS/RMSS in RFC5681 are inaccurate?!

Yuchung Cheng <ycheng@google.com> Mon, 26 July 2010 21:53 UTC

Return-Path: <ycheng@google.com>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 785FD3A6A0A for <tcpm@core3.amsl.com>; Mon, 26 Jul 2010 14:53:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.887
X-Spam-Level:
X-Spam-Status: No, score=-104.887 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, PLING_QUERY=1.39, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 jZaTbfn9s-as for <tcpm@core3.amsl.com>; Mon, 26 Jul 2010 14:53:07 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 49C5F3A6881 for <tcpm@ietf.org>; Mon, 26 Jul 2010 14:53:07 -0700 (PDT)
Received: from kpbe16.cbf.corp.google.com (kpbe16.cbf.corp.google.com [172.25.105.80]) by smtp-out.google.com with ESMTP id o6QLrRnI003778 for <tcpm@ietf.org>; Mon, 26 Jul 2010 14:53:27 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1280181208; bh=rdm9kwfhKtIYInx+MaK2PVj56SQ=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=UXhNU22dosgl3esH5dbYJRwPyRTVtsEfCo4uPZNemSwCbZBO8/oq2nxRfkhd5D27F kJgI1RYd/kFgf08Rn1/KA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:from:date:message-id: subject:to:cc:content-type:content-transfer-encoding:x-system-of-record; b=FydyNpjzmWpXjE90bw5GVKDmt7hzH8nzYx+CeK4MLYx/u9iLhiBPW868d1By/pNaJ GnGwncxt3HXGhCXDI6T/g==
Received: from vws20 (vws20.prod.google.com [10.241.21.148]) by kpbe16.cbf.corp.google.com with ESMTP id o6QLpqtE031125 for <tcpm@ietf.org>; Mon, 26 Jul 2010 14:53:26 -0700
Received: by vws20 with SMTP id 20so3299225vws.24 for <tcpm@ietf.org>; Mon, 26 Jul 2010 14:53:26 -0700 (PDT)
Received: by 10.220.60.204 with SMTP id q12mr4536077vch.45.1280181206180; Mon, 26 Jul 2010 14:53:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.193.13 with HTTP; Mon, 26 Jul 2010 14:53:06 -0700 (PDT)
In-Reply-To: <85215538-1FDC-47D9-8278-A6F8E948C085@nets.rwth-aachen.de>
References: <62315AD7-72BE-42A1-AEFB-E706C54BF50A@nets.rwth-aachen.de> <07e7e311cf5541066605d58353cc4681@localhost> <4C4DB091.8030506@isi.edu> <6B3B04D7-0B67-41E9-8E02-022F8CE41E7C@nets.rwth-aachen.de> <20100726170646.GC23686@colt> <4C4DC9B0.3030203@isi.edu> <85215538-1FDC-47D9-8278-A6F8E948C085@nets.rwth-aachen.de>
From: Yuchung Cheng <ycheng@google.com>
Date: Mon, 26 Jul 2010 23:53:06 +0200
Message-ID: <AANLkTimMCKTLNXPT6CDCzsjEq9WvAH_6FVLnAAQc4kor@mail.gmail.com>
To: Alexander Zimmermann <alexander.zimmermann@nets.rwth-aachen.de>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Joe Touch <touch@isi.edu>
Subject: Re: [tcpm] Definition of SMSS/RMSS in RFC5681 are inaccurate?!
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Jul 2010 21:53:08 -0000

How about rename "Sender Maximum Segment Size" to "Sender Maximum
Payload Size"? It's headache to me and perhaps other developers that
SMSS and RMSS include different parts of the segment.  In addition,
if RFC1122's definition of TCP segment includes fixed headers and
options, shouldn't "maximum segment size" literally include both as
well?

Yuchung


On Mon, Jul 26, 2010 at 8:15 PM, Alexander Zimmermann
<alexander.zimmermann@nets.rwth-aachen.de> wrote:
> Hi Joe,
>
> maybe a stupid question but why do we write in both cases (SMSS/RMSS) "is the size of the
> largest segment"? According RFC1122 (page 19), a TCP segment is data structure that
> include the TCP header. And than later on in the definition "The size does not include the
> header". These gives IMO really room for interpretation...
>
> Why do we not write in both cases something like "is the size of the
> largest TCP payload".
>
> Alex
>
>
> Am 26.07.2010 um 19:45 schrieb Joe Touch:
>
>> Hi, all,
>>
>> On 7/26/2010 10:06 AM, Ethan Blanton wrote:
>>> Alexander Zimmermann spake unto us the following wisdom:
>>>>> Yes, RFC5681 is correct,
>>>>
>>>> Sorry, but I disagree. I cite the sentence in question again:
>>>>
>>>> "The size does not include the TCP/IP headers and options."
>>>>
>>>> The "and" in the sentence is IMO wrong or at least very very misleading.
>>>> Either we write: "The size does include ONLY the fixed TCP/IP headers."
>>>> or we write "The size does not include the TCP/IP options"
>>>
>>> I believe (as one of the authors) that 5681 is correct.  Neither the
>>> fixed TCP header size nor the option space are included in this
>>> calculation for the purposes of 5681.
>>
>> draft-ietf-tcpm-tcpmss states that the MSS option includes the fixed TCP and IP headers and NOT the options.
>>
>> I think Alex did find a bug here (I had commented on his misquoted earlier post), as per below... it's not in BOTH descriptions, though.
>>
>> In 5681, RMSS is in error as follows:
>>
>>   RECEIVER MAXIMUM SEGMENT SIZE (RMSS): The RMSS is the size of the
>>      largest segment the receiver is willing to accept.  This is the
>>      value specified in the MSS option sent by the receiver during
>>      connection startup.  Or, if the MSS option is not used, it is 536
>>      bytes [RFC1122].  The size does not include the TCP/IP headers and
>>      options.
>>
>> If RMSS is ever the value in the MSS option, it would include the fixed headers but not the options.
>>
>> > It is concerned only with data
>>> bytes sent in-band.  If SMSS is used differently elsewhere, that is
>>> unfortunate, but it does not affect the definition within 5681.
>>
>> Only RMSS is in error; as you note, SMSS is correct.
>> 5681 says SMSS is based on RMSS (where "based on" isn't explained):
>>
>>   SENDER MAXIMUM SEGMENT SIZE (SMSS): The SMSS is the size of the
>>      largest segment that the sender can transmit.  This value can be
>>      based on the maximum transmission unit of the network, the path
>>      MTU discovery [RFC1191, RFC4821] algorithm, RMSS (see next item),
>>      or other factors.  The size does not include the TCP/IP headers
>>      and options.
>>
>> SMSS clearly must omit all TCP and IP headers, because it is the value that updates cwnd.
>>
>> So, IMO, yes, there's a bug, but it's in RMSS's description. There may be a useful clarification that defines SMSS in terms of RMSS explicitly as well.
>>
>> Joe
>>
>>
>
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>
>