[tsvwg] DPLPMTUD comments

Wesley Eddy <wes@mti-systems.com> Thu, 18 July 2019 01:30 UTC

Return-Path: <wes@mti-systems.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2684A12051E for <tsvwg@ietfa.amsl.com>; Wed, 17 Jul 2019 18:30:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mti-systems-com.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 6HUcZo02g4IH for <tsvwg@ietfa.amsl.com>; Wed, 17 Jul 2019 18:30:30 -0700 (PDT)
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) (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 12D111205CC for <tsvwg@ietf.org>; Wed, 17 Jul 2019 18:30:30 -0700 (PDT)
Received: by mail-qk1-x736.google.com with SMTP id t8so19139433qkt.1 for <tsvwg@ietf.org>; Wed, 17 Jul 2019 18:30:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mti-systems-com.20150623.gappssmtp.com; s=20150623; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=yy5KHDpznDUCuBeafgFuKyFmrGtjv5FjtpaOBL8g0hs=; b=ZMjfI+bNg+xehSRtSv05iG2JIzxx4S+wzc3vxtchMWu1aTgr4LsBv05I9w6/UYbhk4 AIfdjC5v1WatjHnOnyAbcSr6lv5WcAJSwL9nPhq6OkKqKqNRDX3hm7wgOcF+A1Ml4tnB mQiSibvv1rAVaviMrl8qxPo0vMx3Edb0AXcg45TUZZ5lMRWXDL0IWHDqcAlIjPOQ24+L BRZJZCO6EEbfOxKyXa4AVDp1N5wzrfWWZVyKT4IN1FLgR5TA4QkxNjpStV4INGgsh7Sf HVmjr7YO4+Nv9dqa6VZNCcwFom4BOoPCiddwRMYLkxASn3xCAVDoOQSS0/CNqKHxkERE KheA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=yy5KHDpznDUCuBeafgFuKyFmrGtjv5FjtpaOBL8g0hs=; b=uWeA/l3Vcv9SI2h0gklhMkXsismxH+ZhW80PusC56RY9V45lAxZLDID5vBC2kdjyAz QuuL/e0/QR47LV8dmC1BXx9TVi/B6w93xW/zT0X3rJxxxFDryZvZg7L7gKSJos8J5k5D NMvYmxAvRquICGqS4w3NIbvoUJvD688GgEmbZKdya4e4u9r6BSckgWRG89WeXK9uMFVw OQ/692d7uZaKcBYv2keKch2ZDS+MCkrPblRJKvU5O0QNg9hiFSbJjsyYgMx+TxihhA6M KP0+iWvTGAl43rWV3CTnAUanci2UwS+sdIzBP4wzfFIowFs59QHa2pyNozLLVlTkRiV2 Ma/A==
X-Gm-Message-State: APjAAAUKQvZqnG7d05HsMmNjeYWxuXxVxglWnLKkpZkSHX7eSs6wvvp4 UMM6tM0/j+qrhrTBm8PKS9IaoHP+
X-Google-Smtp-Source: APXvYqxmwBa3hOchIpkgTRv5TK4j0NqwHd6DgX4c9r2v3Mevw70JJ3mVwQ7RLspQnW4pZb4HjqCD+Q==
X-Received: by 2002:a05:620a:15b3:: with SMTP id f19mr27931368qkk.314.1563413427979; Wed, 17 Jul 2019 18:30:27 -0700 (PDT)
Received: from [192.168.1.14] (user-12l31c7.cable.mindspring.com. [69.81.133.135]) by smtp.gmail.com with ESMTPSA id n5sm14465694qta.29.2019.07.17.18.30.27 for <tsvwg@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jul 2019 18:30:27 -0700 (PDT)
To: "tsvwg@ietf.org" <tsvwg@ietf.org>
From: Wesley Eddy <wes@mti-systems.com>
Message-ID: <3b0fad58-5fbd-33ca-7cab-a2fa119612b2@mti-systems.com>
Date: Wed, 17 Jul 2019 21:30:25 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/trnnX-ncA9x1t02t_SwLdXYmUAk>
Subject: [tsvwg] DPLPMTUD comments
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Jul 2019 01:30:33 -0000

Here are some questions and comments I had on reading the DPLPMTUD draft 
(version -08):

Technical items:

-  Interaction w/ UDP optoins: I think there is an implicit assumption 
about code for DPLPMTUD needing to be aware of the actual UDP datagram 
size when UDP options are used, and not the length from the UDP 
header?   So, the application that's asking for UDP options to be tacked 
on needs to also know how big those options will wind up being, 
including possible padding, in order to stay within the PMTU.  It seems 
like there should be some description  of how this interaction needs to 
work or be handled in an application or library.

- Reading Section 1.1 & 1.2, I was wondering if another motivation could 
be that ICMP is totally unauthenticated, making it another problem to 
rely on for classical PMTUD (it can be spoofed, etc).

- Sec. 3 bullet #8 saying "MUST be robust to the wide variety of 
underlying network forwarding behaviors" seems pretty useless to me 
(even though I don't argue that it's true).  It's just not specific 
enough for an implementer to do anything specific with. I believe that's 
more of a rationale for why we do things in the specification rather 
than a requirement for implementation.

- Section 3 in the bullet on "When to probe", I'm not sure how path 
changes would actually be known to the end host.  Can we give a hint 
about what some of these methods for determining a path change might 
be?  Are you thinking about L2 and L3 triggers and signalling?

- In 4.4.2, the rule uses the symbol MIN_PMTU, but the text below uses 
68 and 1280 bytes sepaately for IPv4 and IPv6 paths ... is that really 
necessary since the whole point of having MIN_PMTU defined seems to be 
to represent the correct value?

- I'm not sure if there are any complications with regard to IPv4/IPv6 
protocol translation / NAT-PT in the path?

- In 4.4.2, the bullet "The information could be utilized as an input to 
trigger enabling a resilience mode." ... I have no idea what this is 
trying to say.  Either we should recommend some specific behavior be 
triggered or not, but this statement seems like a vague hint.

- There's an author's note at the end of Sec. 4 about how to handle 
PTB_SIZE = 0.  I was wondering what would cause this, if it's a real 
possibility or not?  Also, wouldn't PTB_SIZE < BASE_PMTU be the more 
general  condition to handle, that would also encompass the zero value?

- Section 5 says "DPLPMTUD SHOULD NOT be used by an application if it is 
already used in a lower layer", but there doesn't seem to be rationale 
for that ... is it just something that scares us, or is there a problem 
we're trying to avoid?  Also, how would a higher layer know if a lower 
layer implements it or not?

- The relation between phases and the actual state machine is slightly 
fuzzy.  It seems kind of duplicative, since it seems like the state 
machine description is sufficient by itself, and the description of 
phases is just a higher-level version of what it contains?

- Security considerations says "Parallel forwarding paths SHOULD be 
considered."  This seems to need a bit more work.  Of course it's true, 
but it seems like we the working group need to consider it and say what 
the security threats and risks are, or where in the spec the correct 
behavior is described that makes it robust.


Purely editorial:

- In Sec. 1.1, first paragraph, should "method that from" be "method from"?

- Sec. 3 bullet #8 mentions the destination cache and 6.1 mentions the 
"PLPMTU cache", but I think these both need to be first mentioned in the 
terminology section.

- In 4.4.2, the BASE_PMTU and MIN_PMTU are used, even though they're 
undefined at this point.  They come later in 5.1.2 where constants are 
defined.

- Change "folloowing" to "following"