Subject: [quicwg/base-drafts] Guidance on path retransmission timer (#2130)

From: ekr <[email-masked]>
Date: Wed, 12 Dec 2018 08:49:52 -0800

```
Endpoints SHOULD abandon path validation based on a timer. When setting this
timer, implementations are cautioned that the new path could have a longer
round-trip time than the original.  A value of three times the current
Retransmittion Timeout (RTO) as defined in {{QUIC-RECOVERY}} is RECOMMENDED.
```

We should probably give some guidance about the size of this timer, maybe matching whatever guidance we give for Initial retransmit

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2130

---

From: janaiyengar <[email-masked]>
Date: Wed, 12 Dec 2018 17:29:00 -0800

The recommendation is 3 RTO, and the RTO computation includes a rule for initial values when no RTT measurement has happened. Did you mean a different recommendation? FWIW, initial retransmit can be a bit aggressive, for latency reasons, and I don't think path validation needs to be aggressive.

That said, it has always bothered me that we say 3RTO when we know that this is a different path, and the RTO measurement from other paths are unlikely to hold true. I'm fine with stipulating a constant here. I propose 3 x Initial RTOs = 600ms.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2130#issuecomment-446808444

---

From: Martin Thomson <[email-masked]>
Date: Wed, 12 Dec 2018 19:57:44 -0800

@janaiyengar, the RTO was chosen carefully - as long as it has a minimum it is still probably the right answer.  If we assume that the RTT on the old path is approximately correct, and that the minimum RTO will prevent the worst problems resulting from migration to a longer path, I think that this is OK.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2130#issuecomment-446834591

---

From: janaiyengar <[email-masked]>
Date: Wed, 12 Dec 2018 22:23:31 -0800

I don't think we should rely on the min RTO -- that may or may not exist in this or future versions. If we want that min, it makes sense to encode it directly here instead of this indirection.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2130#issuecomment-446856197

---

From: ekr <[email-masked]>
Date: Thu, 13 Dec 2018 03:52:42 -0800

@janaiyengar I dont't necessarily have problem with 3RTO here, but I don't see it in the doc. Can you point me to where it is?

With that said, it seems like the timeout for path validation actually ought to be quite aggressive because given the current migration design, it's actually a sensitive security parameter. Consider the case where you have an on-path attacker and A and B are quiescent. A sends B a packet containing data that doesn't need a reply (e.g., part of an HTTP request). At this point, the on-path attacker takes B's ACK and then forwards it to A with a different source address. From this point forward, A is sending to the wrong place for the duration of this timer. That's a pretty serious attack.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2130#issuecomment-446941980

---

From: Martin Thomson <[email-masked]>
Date: Thu, 20 Dec 2018 21:08:23 -0800

@ekr
> I dont't necessarily have problem with 3RTO here, but I don't see it in the doc. Can you point me to where it is?

You quoted the text that says 3RTO.

Please take a look at https://github.com/quicwg/base-drafts/pull/2238/files#diff-db016291106766877c4921a79f8596e0 which amends this value.  I think that closes this issue, but I'd like to confirm that.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2130#issuecomment-449253247