Subject: [quicwg/base-drafts] Retransmitting ACK frames can inflate RTT (#3048)

From: ianswett <[email-masked]>
Date: Tue, 17 Sep 2019 16:14:36 -0700

Fixes #2748
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3048

-- Commit Summary --

  * Retransmitting ACK frames can inflate RTT

-- File Changes --

    M draft-ietf-quic-recovery.md (7)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3048.patch
https://github.com/quicwg/base-drafts/pull/3048.diff

-- 
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/pull/3048

---

From: Martin Thomson <[email-masked]>
Date: Tue, 17 Sep 2019 18:06:00 -0700

martinthomson commented on this pull request.

This is a little weird.

We don't really retransmit frames, and have gone to some lengths to discourage people from thinking that way, so I don't quite understand how this would help.

Yes, this is true, but it's just a very specific example of how regurgitating frames is a bad choice.

> @@ -291,6 +291,13 @@ are received within an RTT.  As suggested in {{?RFC6298}}, doing so might result
 in inadequate history in smoothed_rtt and rttvar.  Ensuring that RTT estimates
 retain sufficient history is an open research question.
 
+### Retransmitted ACK frames
+
+Section 13.3 of {{QUIC-TRANSPORT}} recommends sending the most recent set of
+acknowledgements in ACK frames, but if ACK frames are retransmitted, an inflated
+RTT can be measured.  Some incorrect RTT samples are prevented by only measuring
+RTT when the largest acked increases.

Type the entire word:

```suggestion
RTT when the largest acknowledged increases.
```

> @@ -291,6 +291,13 @@ are received within an RTT.  As suggested in {{?RFC6298}}, doing so might result
 in inadequate history in smoothed_rtt and rttvar.  Ensuring that RTT estimates
 retain sufficient history is an open research question.
 
+### Retransmitted ACK frames
+
+Section 13.3 of {{QUIC-TRANSPORT}} recommends sending the most recent set of
+acknowledgements in ACK frames, but if ACK frames are retransmitted, an inflated

```suggestion
acknowledgements in ACK frames, but if ACK frames are retransmitted without adjusting the Ack Delay, an inflated
```

-- 
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/pull/3048#pullrequestreview-289622595

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 17 Sep 2019 18:33:07 -0700

I agree with @martinthomson. Perhaps it's better to add some text where we discourage retransmitting of frames (at the end of [Section 13.3](https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#rfc.section.13.3)) instead of in recovery.

-- 
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/pull/3048#issuecomment-532480012

---

From: ianswett <[email-masked]>
Date: Tue, 17 Sep 2019 18:47:54 -0700

@ianswett pushed 1 commit.

8ca6082686923931376d316a760573b1ce36d238  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3048/files/b7c497ab227828980837f176a9b6756b8adcdfb8..8ca6082686923931376d316a760573b1ce36d238

---

From: ianswett <[email-masked]>
Date: Tue, 17 Sep 2019 18:49:09 -0700

ianswett commented on this pull request.

I originally wrote that, but it's likely to be inflated anyway, particularly if max_ack_delay is < RTT.

-- 
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/pull/3048#discussion_r325452115

---

From: ianswett <[email-masked]>
Date: Tue, 17 Sep 2019 18:58:02 -0700

I created #3049 as an alternative.  Or we can close this issue and move on.

-- 
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/pull/3048#issuecomment-532485106

---

From: MikkelFJ <[email-masked]>
Date: Tue, 17 Sep 2019 22:36:04 -0700

I agree that ACKs should be sent up to date, but I also think it makes sense the the receiver to protect itself in this regard. Some implementations will mindlessly repeat frames and it is not enough to cause a protocol violation.

-- 
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/pull/3048#issuecomment-532526200