Re: [tcpm] Fwd: comment about draft-nishida-tcpm-maxwin-02

marcelo bagnulo braun <marcelo@it.uc3m.es> Fri, 20 January 2017 20:28 UTC

Return-Path: <marcelo@it.uc3m.es>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5E586129430 for <tcpm@ietfa.amsl.com>; Fri, 20 Jan 2017 12:28:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=it-uc3m-es.20150623.gappssmtp.com
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 fGQi3CFq5zqH for <tcpm@ietfa.amsl.com>; Fri, 20 Jan 2017 12:28:16 -0800 (PST)
Received: from mail-wm0-x231.google.com (mail-wm0-x231.google.com [IPv6:2a00:1450:400c:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6E2E112940F for <tcpm@ietf.org>; Fri, 20 Jan 2017 12:28:16 -0800 (PST)
Received: by mail-wm0-x231.google.com with SMTP id r144so61779818wme.1 for <tcpm@ietf.org>; Fri, 20 Jan 2017 12:28:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=it-uc3m-es.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=rArsuDzJBgsHfB8j9BCar4m32BSTHLPxZWKICQCwr0g=; b=yMbt4ne496PEZDm0S1IbI9epu2rRgpPUpeTniQn0v5Ry9PGGg3hYXBhaUFQYjwHoQj EJr+uUUeGQ54mIQsMhxUpf/R8OeU3jmL0UsTG1sAl2aTiYeXJTdc/fOveQpmt3Ikor6E qbaPfiwD8dIw2jSIYghIB82jwWLWFgZMgX/BKWjf57qbFhMt+Ceqa9uuC31c9NNkBWNs 2UEEJRLYW4PuuCzWh4/55pUrkJ1+cuxEnEMlq73i4i7sEs+Gb0I1HqtPYmJPX9fJHSYD KGNAPvN2/umAlQBuU/xWDCsnUou8Ea080g/Vg8rXmAJnAkA9GOJKMkJb/EXydVIKRkxH I6Xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=rArsuDzJBgsHfB8j9BCar4m32BSTHLPxZWKICQCwr0g=; b=hDkyaw55UWk/M3yazl3zE77t3aCgEdhzHlbcpmqtJX9HM/fly6F2bU0E/R1OpTRw+L yiGVrQoLyLwvrA+JG0Oy3+Hfdl3Oi1xeCc5qYeb0i6J9fTPtEgDhlP9MYCcig2GCSIo2 kn3jNbDoP8K++nwXEh0Q5iIpVGXOY3V2dOGcuPKA1aU+3CymWD6F33JI41d7lVuUqlTc TLd/5GG9YUt519KRZW/HfxinkzAHtJqNZEZRHSeNBo7M0rEW/KsYuD/DBTcBFv15Tipe By/qeWNzOWCzU/l0Yoo/iuxgARcORd0jct09BU4TguCoJFxn7HWzh/wocB/Tfpq3H4X0 ko7Q==
X-Gm-Message-State: AIkVDXJ5/c3ktZJDuQufjmZjVAFSl3c5qz4Xl1Hjcy91b2kE4ddyrwTxqvB5ZM1PgeJq4T3z
X-Received: by 10.28.129.147 with SMTP id c141mr5209115wmd.12.1484944094562; Fri, 20 Jan 2017 12:28:14 -0800 (PST)
Received: from Macintosh-6.local (73.175.16.95.dynamic.jazztel.es. [95.16.175.73]) by smtp.gmail.com with ESMTPSA id u81sm7757337wmu.10.2017.01.20.12.28.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Jan 2017 12:28:12 -0800 (PST)
To: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
References: <7df22790-f177-e61f-47a7-10c246f52535@it.uc3m.es> <CAO249yeWXDbpzifzr=7XinO7BYctkVG_F9MEK7SwsUKq_rNw3Q@mail.gmail.com> <CAO249ydbdho0_SfDApjWp7g+AFgSW7gnXAxZS9=tCC8e=m6G-Q@mail.gmail.com> <44c23acf-a271-71e4-3e8d-f1169f2a2f6f@it.uc3m.es> <CAO249yfw_Bs4-d2muYOhhqv1ZS+5RmK5tUXNa6csUmXQ8mW35Q@mail.gmail.com>
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Message-ID: <a3d9acc5-f7e3-d0e9-ac8c-c5d65d481c1f@it.uc3m.es>
Date: Fri, 20 Jan 2017 21:28:12 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.6.0
MIME-Version: 1.0
In-Reply-To: <CAO249yfw_Bs4-d2muYOhhqv1ZS+5RmK5tUXNa6csUmXQ8mW35Q@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/v51nUFxSC47RP9dVZs_pt8ApXyk>
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] Fwd: comment about draft-nishida-tcpm-maxwin-02
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Fri, 20 Jan 2017 20:28:19 -0000

below...



El 20/01/17 a las 20:32, Yoshifumi Nishida escribió:
>
>     What about this:
>     The shift count is expressed in a byte, but only the values
>     between 1 and 14 are acceptable as per RFC 7323.
>     With this draft, the 15 shift count value would become acceptable,
>     but it seems we will never need more than 16 values in the shift
>     count (unless we increase the TCP seq number).
>     So, this means that we have 4 bits to play with in the shift count
>     field.
>     One way of using it would be the following:
>     We divide the shift count filed in two fields of 4 bits. The first
>     4 bits are used to express the shift count for legacy (RFC7323)
>     endpoints.
>     The last 4 bits are used to express the shift count for endpoints
>     that support this specification.
>
>     So, this would result in the following combinations:
>     - updated client talks to updated server: it expresses its own
>     shift count using the last 4 bits, the server replies expressing
>     its own shift count in the last 4 bits. Both endpoints understand
>     that they are talking to updated endpoints, so they use the new
>     values.
>     - updated client talks to legacy server. It expresses its own
>     shift count using the last bits. The legacy server receives the
>     option, checks that the value is larger than 14 and then uses 14
>     as shift count for this client. The server replies with its own
>     shift count encoded in the first 4 bits. The client understands
>     that the server is legacy and uses a 14 shift count for its own
>     shift count.
>     - legacy client talking to legacy or updated server, behaves as
>     described in RFC7323
>
>     If we do this, then when both endpoints are updated, one of the
>     endpoints can use a smaller shift count even if the other endpoint
>     uses a 15 shift count. This doesnt help in the situation where the
>     server is legacy, but at least in the long run if this extension
>     is widely deployed, the behaviour is the desired one.
>
>     what do you think?
>
>
> I've thought about it and I think it's a pretty good idea. It's more 
> explicit than the current scheme, but doesn't consume extra option space.
> In this scheme, when an updated endpoint talks to a non-updated 
> endpoint, the shift count will automatically 14. But, I guess this 
> cannot be solved without adding extra negotiation scheme. So, I think 
> it's acceptable.
> One question I have is if we need to use 4bits for this. It might be 
> ok to use just one bit in the last 4 bits to indicate it supports new 
> version.

agree.
So, the shift count field in the WSO could then look like this:

+----------+
|SSSS|L|RRR|
+----------+

With SSSS being 4 bits used to express the shift count, L, being the bit 
to express the Large window support and RRR 3 reserved bits.

Makes sense?

Regards, marcelo



> But, this might be a very minor point.
>
>             - The second paragraph in section 4, it talks about
>         "performance
>             degradation caused by misinterpretation of the shift
>         count" I dont
>             understand what you are referring to, can you clarify?
>
>
>         When an endpoint A offers shift count 15 but a conventional
>         endpoint B regards it as 14, we could have performance
>         degradation issue.
>         Because when A says "I have X<<15 buffer", B will think "A has
>         X<<14 buffer".
>
>         But, when X=65535, we shouldn't see performance degradation
>         issue because 65535<<14 is the max window size that B can support.
>         So, if A allocates 65535<<15 + 65535<<14 buffer, A can always
>         send X=65535 because B's buffer is at most 65535<<14, it
>         cannot consume the buffer at A more than that.
>
>
>     So, there is no performance degradation issue :-)
>     I guess we agree, i guess just find it confusing when the draft
>     talks about a performance degradation issue where this is not one.
>
>
> Got it. I might think about finding less confusing texts.
> Or, with your proposed scheme, we don't need this part.
>
> Thanks,
> --
> Yoshi