Subject: [quicwg/base-drafts] 51423d: Add a blanket 3x anti-amplification limit

From: Martin Thomson <[email-masked]>
Date: Tue, 27 Oct 2020 17:26:29 -0700

Branch: refs/heads/migration-amplification
  Home:   https://github.com/quicwg/base-drafts
  Commit: 51423d014aa3f4c9674126a6ed038282f8fde366
      https://github.com/quicwg/base-drafts/commit/51423d014aa3f4c9674126a6ed038282f8fde366
  Author: Martin Thomson <[email-masked]>
  Date:   2020-10-28 (Wed, 28 Oct 2020)

  Changed paths:
    M draft-ietf-quic-transport.md

  Log Message:
  -----------
  Add a blanket 3x anti-amplification limit

This touches a lot of places in the document, but I think that the
changes are all fairly minor.

The major cnahge here is a move to a uniform 3x limit on sending
packets toward unvalidated addresses.  Specifically, this applies when
the packets are sent in response to another packet.  In practice, this
means that only servers are affected by this.

The consequence of this change is that PATH_CHALLENGE won't always be
padded, as previously agreed.  That also means that PATH_RESPONSE might
not be as well (if the client migrates, it can send PATH_CHALLENGE in
that packet; though we require that to be padded, we specifically don't
require enforcement, so...).  Address validation using this packet
works, but this doesn't also provide MTU validation.  To fix that, I
have recommended that a second validation be performed when the address
is valid, or there are enough bytes available that the
anti-amplification limit is not a barrier.

The nice part about this is that unifies the response.  We no longer
have weird carve-outs for rate limiting or minimum congestion window
(both of which I removed as part of this).

Closes #4257.