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

Move MUST not send bursts up in the pacing section #3664

Merged
merged 2 commits into from May 30, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 5 additions & 8 deletions draft-ietf-quic-recovery.md
Expand Up @@ -880,9 +880,10 @@ similar to a sender's response on a Retransmission Timeout (RTO) in TCP

This document does not specify a pacer, but it is RECOMMENDED that a sender pace
sending of all in-flight packets based on input from the congestion
controller. For example, a pacer might distribute the congestion window over
the smoothed RTT when used with a window-based controller, or a pacer might use
the rate estimate of a rate-based controller.
Comment on lines -883 to -885
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm OK with leaving this out, but I'm interested in why you did.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought it was redundant to the text you added below.

controller. Sending multiple packets into the network without any delay between
them creates a packet burst that might cause short-term congestion and losses.
Implementations MUST either use pacing or another method to limit such bursts
to the initial congestion window; see {{initial-cwnd}}.

An implementation should take care to architect its congestion controller to
work well with a pacer. For instance, a pacer might wrap the congestion
Expand Down Expand Up @@ -917,11 +918,7 @@ intervals.

Practical considerations, such as packetization, scheduling delays, and
computational efficiency, can cause a sender to deviate from this rate over time
periods that are much shorter than a round-trip time. Sending multiple packets
into the network without any delay between them creates a packet burst that
might cause short-term congestion and losses. Implementations MUST either use
pacing or limit such bursts to the initial congestion window; see
{{initial-cwnd}}.
periods that are much shorter than a round-trip time.

One possible implementation strategy for pacing uses a leaky bucket algorithm,
where the capacity of the "bucket" is limited to the maximum burst size and the
Expand Down