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

Reference RFC5681 and RFC6928 #1245

Merged
merged 12 commits into from Jul 14, 2018
19 changes: 7 additions & 12 deletions draft-ietf-quic-recovery.md
Expand Up @@ -998,15 +998,17 @@ Constants used in congestion control are based on a combination of RFCs,
papers, and common practice. Some may need to be changed or negotiated
in order to better suit a variety of environments.

kInitialMss (RECOMMENDED 1460 bytes):
: The max packet size is used for calculating initial and minimum
congestion windows.
kMaxDatagramSize (RECOMMENDED 1200 bytes):
: The sender's maximum payload size. Does not include UDP or IP
overhead. The max packet size is used for calculating initial and
minimum congestion windows.

kInitialWindow (RECOMMENDED min (10*MSS, max (2*MSS, 14600))):
kInitialWindow (RECOMMENDED min(10 * kMaxDatagramSize,
max(2* kMaxDatagramSize, 14600))):
: Default limit on the initial amount of outstanding data in bytes.
Copy link
Contributor

Choose a reason for hiding this comment

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

I would note that RFC 6928 states the following as the TCP initial window:

More precisely, the upper bound for the initial window will be

     min (10*MSS, max (2*MSS, 14600))                            (1)

I would recommend that one do calculate this value for the Initial value, as MSS may be based on a 9K MTU, thus allowing two full packets in those cases.

Copy link
Contributor

Choose a reason for hiding this comment

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

Also if mss is smaller than 1460 then more than 10 packets can be sent. Is that intentional? I am slightly worried about packet bursts. Are there a pacing requirement?

Taken from {{?RFC6928}}.

kMinimumWindow (RECOMMENDED 2 * kInitialMss):
kMinimumWindow (RECOMMENDED 2 * kMaxDatagramSize):
: Minimum congestion window in bytes.

kLossReductionFactor (RECOMMENDED 0.5):
Expand All @@ -1018,13 +1020,6 @@ kLossReductionFactor (RECOMMENDED 0.5):
Variables required to implement the congestion control mechanisms
are described in this section.

max_datagram_size:
: The sender's maximum payload size. Does not include UDP or IP
overhead. Similar to SMSS defined for TCP in {{?RFC5681}}

minimum_window :
: Minimum congestion window. Set to 2 * max_datagram_size.

ecn_ce_counter:

: The highest value reported for the ECN-CE counter by the peer in an ACK_ECN
Expand Down