Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Safety issue during incipient persistent congestion episode #3259

Closed
pravb opened this issue Nov 18, 2019 · 4 comments · Fixed by #3441
Closed

Safety issue during incipient persistent congestion episode #3259

pravb opened this issue Nov 18, 2019 · 4 comments · Fixed by #3441
Assignees
Labels
-recovery design has-consensus

Comments

@pravb
Copy link

@pravb pravb commented Nov 18, 2019

"When an ACK frame is received that establishes loss of all in-flight packets sent over a long enough period of time, the network is considered to be experiencing persistent congestion."

QUIC declares persistent congestion only upon receipt of an ACK for a packet sent after entering loss recovery. This means that the cwnd will remain large and usable even if there is prolonged network silence with packets outstanding. If the state of the transport was application limited, this can cause a large burst on the network.

In TCP, an RTO causes immediate drop of the cwnd to min_cwnd.

Ideally QUIC should drop the cwnd in the same timescale as TCP would. Typically minrto for the Internet is 200 msec or 300 msec (and larger if the RTT is larger).

@mnot mnot added the design label Nov 25, 2019
@mnot mnot added this to Design Issues in Late Stage Processing Nov 25, 2019
@ianswett ianswett self-assigned this Feb 4, 2020
@ianswett
Copy link
Contributor

@ianswett ianswett commented Feb 4, 2020

I do not want to change the existing algorithm, because the app-limited case is the case when the sender is strictly less aggressive than the congestion controller limits, so I believe it's less likely to cause issues for the network.

I can write text pointing out this difference.

@larseggert
Copy link
Member

@larseggert larseggert commented Feb 5, 2020

Discussed in ZRH. Proposed resolution is to close with no action. Editorial issue to explain the difference to TCP and its safety.

@larseggert larseggert added the proposal-ready label Feb 5, 2020
@project-bot project-bot bot moved this from Design Issues to Consensus Emerging in Late Stage Processing Feb 5, 2020
@LPardue LPardue moved this from Consensus Emerging to Consensus Call issued in Late Stage Processing Feb 19, 2020
@LPardue LPardue removed the proposal-ready label Feb 19, 2020
@martinthomson martinthomson added the proposal-ready label Feb 25, 2020
@project-bot project-bot bot moved this from Consensus Call issued to Consensus Emerging in Late Stage Processing Feb 25, 2020
@martinthomson
Copy link
Member

@martinthomson martinthomson commented Mar 5, 2020

@LPardue, this was in the latest batch of consensus calls, but you didn't mark it has having consensus. Can you review please?

@LPardue
Copy link
Member

@LPardue LPardue commented Mar 7, 2020

You are correct, I missed this one somehow sorry so moving to has consensus

@LPardue LPardue added has-consensus and removed proposal-ready labels Mar 7, 2020
@project-bot project-bot bot moved this from Consensus Emerging to Consensus Declared in Late Stage Processing Mar 7, 2020
Late Stage Processing automation moved this from Consensus Declared to Text Incorporated Mar 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-recovery design has-consensus
Projects
Late Stage Processing
  
Issue Handled
Development

Successfully merging a pull request may close this issue.

6 participants