Re: [tcpm] Exceeding value in MSS option?
Markku Kojo <kojo@cs.helsinki.fi> Wed, 21 October 2020 10:04 UTC
Return-Path: <kojo@cs.helsinki.fi>
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 177B63A1598 for <tcpm@ietfa.amsl.com>; Wed, 21 Oct 2020 03:04:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cs.helsinki.fi
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 OfZMAokH6wH9 for <tcpm@ietfa.amsl.com>; Wed, 21 Oct 2020 03:04:27 -0700 (PDT)
Received: from script.cs.helsinki.fi (script.cs.helsinki.fi [128.214.11.1]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BEA2E3A159B for <tcpm@ietf.org>; Wed, 21 Oct 2020 03:04:26 -0700 (PDT)
X-DKIM: Courier DKIM Filter v0.50+pk-2017-10-25 mail.cs.helsinki.fi Wed, 21 Oct 2020 13:04:09 +0300
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.helsinki.fi; h=date:from:to:cc:subject:in-reply-to:message-id:references :mime-version:content-type; s=dkim20130528; bh=ijobRNtAPiLFJWXAW JfzXfTOYq2egC0lo8cdC1tBOYk=; b=WcY2uW9kzNHbgxl6fVySwuCR7/cdHJwS+ HGs+8zT7Pv/4XLwleiAY6wy3wQURwP7aEExnPs/mYUUIhzCu3Ei7KXQbe9Ojmn93 S0u7Q6BOe+nqz/qLIjX04RN/9SzMuMOa9nakWaba6f6HLKQH4GkFzv1+eH0c13mv huu0csXGBY=
Received: from hp8x-60 (85-76-65-98-nat.elisa-mobile.fi [85.76.65.98]) (AUTH: PLAIN kojo, TLS: TLSv1/SSLv3,256bits,AES256-GCM-SHA384) by mail.cs.helsinki.fi with ESMTPSA; Wed, 21 Oct 2020 13:04:09 +0300 id 00000000005A01BC.000000005F900799.00000603
Date: Wed, 21 Oct 2020 13:04:09 +0300
From: Markku Kojo <kojo@cs.helsinki.fi>
To: Michael Scharf <Michael.Scharf@hs-esslingen.de>
cc: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
In-Reply-To: <9d31403a88944c5b97eedbe9a465de6d@hs-esslingen.de>
Message-ID: <alpine.DEB.2.21.2010211245480.3738@hp8x-60.cs.helsinki.fi>
References: <CAM4esxQzydPBTjVQvtp3766mCH5L65LdRSkFzQkdeKgUfhKacA@mail.gmail.com> <78558F1C-9194-4797-BE22-E553E1412E46@lurchi.franken.de> <7ded391321f94d0fb90fb5296de9fe43@hs-esslingen.de> <6AEBE48D-11BC-4837-BDB1-13E93CE11C84@lurchi.franken.de> <9d31403a88944c5b97eedbe9a465de6d@hs-esslingen.de>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="US-ASCII"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/BtM1Nfr3S6feitQBKnY0SxrwIVw>
Subject: Re: [tcpm] Exceeding value in MSS option?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 21 Oct 2020 10:04:29 -0000
Hi, see inline. On Wed, 21 Oct 2020, Michael Scharf wrote: >>> On 20. Oct 2020, at 21:56, Scharf, Michael <Michael.Scharf@hs- >> esslingen.de> wrote: >>> >>> Hi all, >>> >>> Sorry for the delayed reply. More inline... >>> >>>>> On 19. Oct 2020, at 21:22, Martin Duke <martin.h.duke@gmail.com> >> wrote: >>>>> >>>>> Hello tcpm, >>>>> >>>>> Section 4.2.2.6 of RFC 1122 is pretty clear that the TCP sender MUST >>>> consider all IP and TCP options when sizing payloads with respect to the >>>> advertised MSS option. >>>>> >>>>> I'm reviewing a document that advises that some endpoints may want to >>>> reduce their advertised MSS on IPv6 connections in case the peer isn't >>>> respecting that guidance. Is noncompliance with this provision a problem >> in >>>> the internet? Are there middleboxes injecting options that cause PMTU >>>> drops or fragmentation? >>>> Hi Martin, >>>> >>>> the document you are reviewing says: >>>> >>>> An IPv6 datagram size exceeding 1280 bytes can be avoided by setting >>>> the TCP MSS not larger than 1220 bytes. This assumes that the remote >>>> sender will use no TCP options, aside from possibly the MSS option, >>>> which is only used in the initial TCP SYN packet. >>>> >>>> The first sentence is correct. The second is not. I would suggest to simply >>>> remove it. >>> >>> The statements regarding the MSS were discussed and also rewritten many >> times. And, sorry, apparently I have not carefully read the second sentence >> (but, well, that sentence was also in the version of the draft that was last >> called in TCPM...) >>> >>> Given this discussion now, I agree that the second sentence could probably >> be removed. >>> >>>> Then the text says: >>>> >>>> In order to accommodate unrequested TCP options that may be used by >>>> some TCP implementations, a constrained device may advertise an MSS >>>> smaller than 1220 bytes (e.g. not larger than 1200 bytes). Note that >>>> it is advised for TCP implementations to consume payload space >>>> instead of increasing datagram size when including IP or TCP options >>>> in an IP packet to be sent [RFC6691]. Therefore, the suggestion of >>>> advertising an MSS smaller than 1220 bytes is likely to be >>>> overcautious and its suitability should be considered carefully. >>>> >>>> I read this as "use a smaller MSS", but this is "likely to be >>>> overcautious and its suitability should be considered carefully." >>>> >>>> I think the careful consideration is to remove this paragraph. >>> >>> I am not sure if we should simply remove the whole paragraph, including >> e.g. the reference to RFC 6691. Readers >> The paragraph starts with: >> >> In order to accommodate unrequested TCP options that may be used by >> some TCP implementations, a constrained device may advertise an MSS >> smaller than 1220 bytes (e.g. not larger than 1200 bytes). >> >> I don't think the selection of the MSS should depend on TCP options. >> A TCP stack may send an MSS option with a value lower then 1220, but >> it should not do it due to any TCP options. > > OK, thanks, now I actually get the point. Sorry, it was late yesterday. I agree. This is all what RFC 6691 is about. > > But I still wonder whether we should keep a reference to RFC 6691, given that this topic has repeatedly caused confusion. > >> That is the reason, why >> I suggested to remove the paragraph. > > What about the following shorter paragraph with three sentences: > > An IPv6 datagram size exceeding 1280 bytes can be avoided by setting > the TCP MSS not larger than 1220 bytes. Note that > it is advised for TCP implementations to consume payload space > instead of increasing datagram size when including IP or TCP options > in an IP packet to be sent [RFC6691]. Therefore, it is not required to > advertise an MSS smaller than 1220 bytes in order to accommodate > TCP options. > > Would that be reasonable? That's much better but I would say it even more strongly because this is MUST in RFC 1122 as pointed out earlier: " ... Note that it is advised for TCP implementations to consume payload space instead of increasing datagram size when including IP or TCP options in an IP packet to be sent [RFC6691]. ..." -> " ... Note that TCP implementations MUST consume payload space instead of increasing datagram size when including IP or TCP options in an IP packet to be sent [RFC1122, RFC6691]. ..." OR (if RFC 2119 language is not used in this doc, and currently it is not used although section 2 exists): " ... Note that it is required for TCP implementations to consume payload space instead of increasing datagram size when including IP or TCP options in an IP packet to be sent [RFC1122, RFC6691]. ..." BR, /Markku > Michael > >> >> Best regards >> Michael >> >>> of this document may not be aware of RFC 6691, so a pointer may be >> useful, no? Also, during the IETF last call there was a discussion on MSS >> values significantly smaller than 1220 byte. People apparently *do* think >> about smaller MSS values on constrained devices and this document is a >> place to provide guidance to that community (as far as possible). This specific >> wording came up in earlier reviews of the draft, too. Thus, the final proposal >> "likely to be overcautious and its suitability should be considered carefully" is >> a result of several past discussions. IMHO we should carefully consider >> changes to this statement... >>> >>> BTW, personally, I really wonder if using an MSS of 1220 byte (for IPv6) >> indeed causes real-world problems on constrained devices, i.e., if in year >> 2020 there is any real-world benefit of an MSS smaller than 1220 byte. But, >> unfortunately, I don't have measurement data that would back a different >> statement in the draft. >>> >>> Michael >>> >>>> Best regards >>>> Michael >>>> >>>> >>>> >>>> >>>>> >>>>> I have not heard of such problems, but thought I'd check with the >>>> community to see if this precaution makes any sense at all. >>>>> >>>>> Thanks, >>>>> Martin >>>>> >>>>> >>>>> _______________________________________________ >>>>> tcpm mailing list >>>>> tcpm@ietf.org >>>>> https://www.ietf.org/mailman/listinfo/tcpm >>>> >>>> _______________________________________________ >>>> tcpm mailing list >>>> tcpm@ietf.org >>>> https://www.ietf.org/mailman/listinfo/tcpm > > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm >
- [tcpm] Exceeding value in MSS option? Martin Duke
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Michael Tuexen
- Re: [tcpm] Exceeding value in MSS option? Martin Duke
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Gorry Fairhurst
- Re: [tcpm] Exceeding value in MSS option? Mirja Kuehlewind
- Re: [tcpm] Exceeding value in MSS option? Gorry Fairhurst
- Re: [tcpm] Exceeding value in MSS option? Scharf, Michael
- Re: [tcpm] Exceeding value in MSS option? Scharf, Michael
- Re: [tcpm] Exceeding value in MSS option? Michael Tuexen
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Scharf, Michael
- Re: [tcpm] Exceeding value in MSS option? Michael Tuexen
- Re: [tcpm] Exceeding value in MSS option? Gorry Fairhurst
- Re: [tcpm] Exceeding value in MSS option? Markku Kojo
- Re: [tcpm] Exceeding value in MSS option? Michael Tuexen
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Martin Duke
- Re: [tcpm] Exceeding value in MSS option? Joe Touch
- Re: [tcpm] Exceeding value in MSS option? Frode Kileng
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Frode Kileng
- Re: [tcpm] Exceeding value in MSS option? Michael Tuexen
- Re: [tcpm] Exceeding value in MSS option? Joe Touch
- Re: [tcpm] Exceeding value in MSS option? Frode Kileng
- Re: [tcpm] Exceeding value in MSS option? Joe Touch
- Re: [tcpm] Exceeding value in MSS option? Frode Kileng
- Re: [tcpm] Exceeding value in MSS option? Joseph Touch
- Re: [tcpm] Exceeding value in MSS option? Steven Sommars
- Re: [tcpm] Exceeding value in MSS option? Joe Touch