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
Proposal for adding ECN support to QUIC. #1372
Changes from 1 commit
961d5d9
b50fe18
57278fe
44a70f8
afd15f2
da68127
a9755ce
3a95c40
12b1054
bfe80d5
88f76dc
f14134f
71c2794
2ff5ac9
19d3b53
f71e933
fc94546
66505a3
d525046
28ef4c1
6dd9237
0bb5bad
0f94847
0e7d43b
822aded
345f593
e60cc8f
fdf9df7
ec97fd8
bf30190
60468a7
f577c8e
2d76935
4af108c
55fa3d6
e06a2a0
1636ebc
139f1ee
dbfe4d8
73bf8cb
be91e8f
f8d3d5c
cf312f9
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 |
---|---|---|
|
@@ -2971,7 +2971,7 @@ number of packets that were received with the corresponding ECN codepoint in the | |
IP header. If the header is not readable from the application, the codepoint 00 | ||
(Not-ECT) MUST be assumed. If any packet are duplicated by the network then only | ||
the value of the ECN field of the packet copy first received SHALL be included | ||
in the counters. This to prevent the on-side attack ({{security-ecn}}) and | ||
in the counters. This to prevent the on-the-side attack ({{security-ecn}}) and | ||
ensure that ACK_ECN frames becomes idempotent in the event of packet | ||
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/becomes/are/ |
||
duplication. Note, a receiver is not required to maintain indefinite state for | ||
which packet numbers have been received far into the history. Packets discarded | ||
|
@@ -2985,8 +2985,7 @@ had an IP header with the ECN field marked as Not-ECT. | |
The ACK_ECN frame is used by the receiver to echo the value of these counters | ||
back to the sender of these packets. This allows the sender to utilize these | ||
counter values for congestion control. The ACK_ECN frame contains all the | ||
elements of the ACK frame ({{frame-ack}}) with the addition of an ECN block | ||
appended at the end. | ||
elements of the ACK frame ({{frame-ack}}) with the addition of the ECN counters. | ||
|
||
|
||
~~~ | ||
|
@@ -2997,40 +2996,23 @@ appended at the end. | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ACK Delay (i) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ACK Block Count (i) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ECN Block ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ACK Blocks (*) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
~~~ | ||
{: #ACN_ECN_FRAME_FORMAT title="ACK_ECN Frame Format"} | ||
|
||
|
||
### ECN Block {#ECN-Block} | ||
|
||
The ECN block is described below. The size (i) indicates variable-length | ||
encoding, explained in {{integer-encoding}}. | ||
|
||
~~~ | ||
0 1 2 3 | ||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ECT(0) Count (i) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ECT(1) Count (i) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ECN-CE Count (i) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ACK Block Count (i) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| ACK Blocks (*) ... | ||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
~~~ | ||
{: #ECN-BLOCK-FIG title="ECN Block"} | ||
|
||
|
||
### ECN Counters | ||
{: #ACN_ECN_FRAME_FORMAT title="ACK_ECN Frame Format"} | ||
|
||
The receiver side report three ECN counters in the ECN block part of the ACK_ECN | ||
frame. These counters counts the number of packets marked with this codepoint | ||
since the start of the QUIC connection. | ||
The receiver side report three ECN counters in the ACK_ECN frame. These counters | ||
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/side // |
||
counts the number of packets marked with this codepoint since the start of the | ||
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/counts/count/ |
||
QUIC connection. The size (i) indicates variable-length encoding, explained in | ||
{{integer-encoding}}. | ||
|
||
ECT(0) Count: | ||
: A variable-length integer representing the number of ECT(0) marked packets | ||
|
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.
s/packet/packets/
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.
s/by the network/by the network,/