-
Notifications
You must be signed in to change notification settings - Fork 203
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
Specify MaxAckDelay for TLP and RTO #991
Changes from 1 commit
989207a
372c318
7c508ce
e1d7bac
2578425
f14f41f
a1b6798
3ba73be
ddcf6d9
6f644ac
c58974b
69547db
ba55348
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -310,10 +310,13 @@ conditions: | |
PTO SHOULD be scheduled for min(RTO, PTO). | ||
|
||
MaxAckDelay is the maximum ack delay supplied in an incoming ack frame. | ||
Ack delays that are aren't used for an RTT sample or reference ack-only packets | ||
are excluded. When there is exactly one unacknowledged packet, the alarm | ||
duration includes time for a delayed acknowledgment to be received by including | ||
MaxAckDelay. | ||
MaxAckDelay excludes Ack delays that aren't included in an RTT sample because | ||
they're too large and those which reference an ack-only packet. When there is | ||
exactly one unacknowledged packet, the alarm duration includes time for a | ||
delayed acknowledgment to be received by including MaxAckDelay. | ||
|
||
QUIC diverges from TCP by calculating MaxAckDelay dynamically, instead of | ||
assuming a constant value for all connections. | ||
|
||
A PTO value of at least 2*SRTT ensures that the ACK is overdue. Using a PTO of | ||
exactly 1*SRTT may generate spurious probes, and 2*SRTT is simply the next | ||
|
@@ -370,10 +373,17 @@ one significantly increases resilience to packet drop in both directions, thus | |
reducing the probability of consecutive RTO events. | ||
|
||
QUIC's RTO algorithm differs from TCP in that the firing of an RTO alarm is not | ||
considered a strong enough signal of packet loss. An RTO alarm fires only when | ||
considered a strong enough signal of packet loss, so does not result in an | ||
immediate change to CWND or recovery state. An RTO alarm fires only when | ||
there's a prolonged period of network silence, which could be caused by a change | ||
in the underlying network RTT. | ||
|
||
QUIC also diverges from TCP by including MaxAckDelay in the RTO period. QUIC is | ||
able to explicitly model the ack delay via the ack delay field in the ack frame. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/model the ack delay/model delay at the receiver/ |
||
Because QUIC is subtracting this delay from both SRTT and it is expected to | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/is subtracting/subtracts/ There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed, fixed. |
||
reduce RTTVar, it is necessary to add it back, in order to compensate for | ||
the smaller SRTT and RTTVar. | ||
|
||
When an acknowledgment is received for a packet sent on an RTO event, any | ||
unacknowledged packets with lower packet numbers than those acknowledged MUST be | ||
marked as lost. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is CWND defined by here? or should it be "congestion window"? I'd prefer spelling it out in any case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done