Re: Treatment of ICMP for PMTU

joel jaeggli <joelja@bogus.com> Thu, 28 June 2018 16:51 UTC

Return-Path: <joelja@bogus.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4287D131028 for <quic@ietfa.amsl.com>; Thu, 28 Jun 2018 09:51:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.908
X-Spam-Level:
X-Spam-Status: No, score=-4.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, LOTS_OF_MONEY=0.001, RCVD_IN_DNSWL_HI=-5, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
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 WJElC9NM3_UU for <quic@ietfa.amsl.com>; Thu, 28 Jun 2018 09:51:16 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 974F8130FF3 for <quic@ietf.org>; Thu, 28 Jun 2018 09:51:14 -0700 (PDT)
Received: from MBP.local (c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id w5SGp8XN039235; Thu, 28 Jun 2018 16:51:09 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209] claimed to be MBP.local
Subject: Re: Treatment of ICMP for PMTU
To: "Lubashev, Igor" <ilubashe=40akamai.com@dmarc.ietf.org>, Lucas Pardue <Lucas.Pardue@bbc.co.uk>, Martin Duke <martin.h.duke@gmail.com>, IETF QUIC WG <quic@ietf.org>
References: <924fbd75dbcf4d62a9062570b0d2ba5a@ustx2ex-dag1mb5.msg.corp.akamai.com> <7CF7F94CB496BF4FAB1676F375F9666A3BB5B9DC@bgb01xud1012> <2f0e251a9b274272968a8b3053d3a3a5@ustx2ex-dag1mb5.msg.corp.akamai.com>
From: joel jaeggli <joelja@bogus.com>
Openpgp: preference=signencrypt
Autocrypt: addr=joelja@bogus.com; prefer-encrypt=mutual; keydata= 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
Message-ID: <c2e8be3e-3499-cfec-b885-98009655fbf7@bogus.com>
Date: Thu, 28 Jun 2018 09:51:03 -0700
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
MIME-Version: 1.0
In-Reply-To: <2f0e251a9b274272968a8b3053d3a3a5@ustx2ex-dag1mb5.msg.corp.akamai.com>
Content-Type: multipart/alternative; boundary="------------2F55367C3042C1D9F2821398"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/lRpc7rO-MYES1W2dz3dT3BtkbV8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Jun 2018 16:51:30 -0000


On 6/27/18 4:09 PM, Lubashev, Igor wrote:
>
> Hi Lucas,
>
>  
>
> How is this different from PMTUD in IP-in-IP case?  The endpoint
> computes and caches PMTU per endpoint.  PMTU for connections to proxy
> is kept separately from PMTUs for connections to endpoints that go via
> the proxy.
>
>  
>
> The proxy itself can learn PMTU between itself and the endpoints,
> subtract the overhead, and send ICMP to the sender of the proxied QUIC
> flow.
>
>  
>
> I see the common case of QUIC implementation not being able to make
> use of ICMP is when QUIC is implemented in userspace on a platform
> that does not expose ICMP to the application.  QUIC’s desire to
> receive ICMP will likely cause vendors of such platforms to add the
> missing functionality.
>
It's quite hard to insure that icmp emitted by on path devices to the
same anycast or load balanced destination. you're far better off with
the inband 4821 style signal.
>
>  
>
>   * Igor
>
>  
>
>  
>
> *From:* Lucas Pardue [mailto:Lucas.Pardue@bbc.co.uk]
> *Sent:* Wednesday, June 27, 2018 5:27 PM
> *To:* Lubashev, Igor <ilubashe@akamai.com>; Martin Duke
> <martin.h.duke@gmail.com>; IETF QUIC WG <quic@ietf.org>
> *Subject:* RE: Treatment of ICMP for PMTU
>
>  
>
> Hi Igor,
>
>  
>
> If we consider tunnelling of QUIC within QUIC by means of a proxy (not
> currently specced anywhere but feasible), the tunnelled (end-to-end)
> path MTU is likely to be smaller than the hop-by-hop path MTUs. It may
> not be possible for the proxies to pass on ICMP in a way that the the
> tunnelled QUIC implementation can access it. (D)PLPMTUD seems to fit
> this case nicely as there can be two or more PLPMTUD contexts/values
> (one for the connection to the proxy, one for each tunnel within this
> connection).
>
>  
>
> Lucas
>
> ------------------------------------------------------------------------
>
> *From:*QUIC [quic-bounces@ietf.org] on behalf of Lubashev, Igor
> [ilubashe=40akamai.com@dmarc.ietf.org]
> *Sent:* 27 June 2018 21:36
> *To:* Martin Duke; IETF QUIC WG
> *Subject:* Treatment of ICMP for PMTU
>
> I have a PR for treatment of ICMP for PMTU
> (https://github.com/quicwg/base-drafts/pull/1412
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_quicwg_base-2Ddrafts_pull_1412&d=DwMFIw&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=Z8Jztem09Whn8ur3u4CIXydQ2bFcxT7J8RP_5EIqqN0&s=GfFHhZ-IsLfWzrc3Dd83k__I6Golxxd3W2LduTHYc_I&e=>).
>
> Many thanks to those who gave me ample feedback (both substantive and
> editorial).  I’ve tried to incorporate it all.
>
>  
>
> There are two technical issues that @Martin Duke
> <mailto:martin.h.duke@gmail.com> and I believe deserve a broader
> discussion with the group.
>
>  
>
>  1. Is processing ICMP signals (and, especially, ICMP Packet Too Big
>     signal) a MAY or a SHOULD?
>
>  
>
> In the WG draft, processing ICMP is a MAY, but implementing PLPMTUD
> (RFC4821) is a SHOULD.
>
> However, PLPMTUD claims itself to be an extension of ICMP-based PMTUD
> process. So it makes sense to me that if PLPMTUD is a SHOULD, then
> ICMP itself is a SHOULD.
>
> QUIC implementations w/o access to ICMP would not be able to implement
> the ICMP part, and this is ok albeit unfortunate; and this also points
> to SHOULD (skipping on MAY is not "unfortunate").
>
>  
>
>  
>
>  2. What to do, when an IPv4 ICMP (w/o on-path proof) request a PMTU
>     reduction (after handshake)?
>
>  
>
> There are three main options: ignore it, reduce your PMTU estimate, do
> not reduce but send PLPMTUD probes.  Since this is very likely a valid
> signal, I do not like to ignore in the common case.
>
>  
>
> Hence, the proposal is to allow an immediate PMTU reduction to up to
> some M, where 1280 ≤ M ≤ 1500.  Once the reduction takes place, the
> endpoint can use PLPMTUD recommendations to see if it can probe a
> larger PMTU.  If this sounds reasonable, then the question is picking
> M.  I picked 1392 rather arbitrarily (GRE over IPsec + a few MPLS
> labels).  If the requested reduction is 1280 ≤ X < M, then the
> recommendation is not to reduce but send PLPMTUD probes.  Does this
> make sense, or should we have M=1280 and simplify things?
>
>  
>
> Note: for ICMP w/ on-path proof, I think it makes sense to allow a
> reduction in PMTU up to 1280.  It is hard to forge these, and the
> benefit of the effort for the attacker is minimal (slightly lower
> efficiency of the transport).  So it is less likely that we’ll see
> forged ICMP w/ on-path proof.
>
>  
>
>  
>
> Any feedback is very welcome.
>
>  
>
>   * Igor
>
>  
>