-
Notifications
You must be signed in to change notification settings - Fork 5
Editorial suggestions from Benjamin Kaduk's IESG review #79
base: master
Are you sure you want to change the base?
Changes from all commits
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 |
|---|---|---|
|
|
@@ -146,7 +146,7 @@ as SYN attacks.</t></li> | |
| for which all of these limitations of TCP are relevant. | ||
| While this application directly motivated the development of SCTP, other | ||
| applications might find SCTP a good match to their requirements. | ||
| One example for this are datachannels in the WebRTC infrastructure.</t> | ||
| One example of this is the use of data channels in the WebRTC infrastructure.</t> | ||
| </section> | ||
|
|
||
| <section> | ||
|
|
@@ -217,7 +217,7 @@ addresses.</t> | |
| </dd> | ||
| <dt>Bundling:</dt> | ||
| <dd> | ||
| <t>An optional multiplexing operation, whereby more than one user message can | ||
| <t>An optional multiplexing operation, whereby more than one user or control message can | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| be carried in the same SCTP packet. | ||
| Each user message occupies its own DATA chunk.</t> | ||
| </dd> | ||
|
|
@@ -244,7 +244,7 @@ the Cumulative TSN Ack field of a SACK chunk.</t> | |
| </dd> | ||
| <dt>Flightsize:</dt> | ||
| <dd> | ||
| <t>The amount of bytes of outstanding data to a particular destination transport | ||
| <t>The number of bytes of outstanding data to a particular destination transport | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| address at any given time.</t> | ||
| </dd> | ||
| <dt>Idle destination address:</dt> | ||
|
|
@@ -272,7 +272,7 @@ messages sent within the stream on which the message was sent.</t> | |
| </dd> | ||
| <dt>Outstanding data (or "data outstanding" or "data in flight"):</dt> | ||
| <dd> | ||
| <t>The total amount of the DATA chunks associated with outstanding TSNs. | ||
| <t>The total size of the DATA chunks associated with outstanding TSNs. | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| A retransmitted DATA chunk is counted once in outstanding data. | ||
| A DATA chunk that is classified as lost but that has not yet been | ||
| retransmitted is not in outstanding data.</t> | ||
|
|
@@ -382,7 +382,7 @@ correlations if they are so desired.</t> | |
| <dd> | ||
| <t>A 16-bit sequence number used internally by SCTP to ensure sequenced delivery | ||
| of the user messages within a given stream. | ||
| One Stream Sequence Number is attached to each user message.</t> | ||
| One Stream Sequence Number is attached to each (ordered) user message.</t> | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| </dd> | ||
| <dt>Tie-Tags:</dt> | ||
| <dd> | ||
|
|
@@ -699,7 +699,7 @@ have been incorporated in this document:</t> | |
| <li><t>Describe the packet size handling more precise by introducing PMTU, | ||
| PMDCS and AMDCS.</t></li> | ||
| <li><t>Add the definition of control chunk.</t></li> | ||
| <li><t>Improve the description of the handling of INIT chunks with invalid | ||
| <li><t>Improve the description of the handling of INIT and INIT ACK chunks with invalid | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| mandatory parameters.</t></li> | ||
| <li><t>Allow using L > 1 for Appropriate Byte Counting (ABC) during | ||
| slow start.</t></li> | ||
|
|
@@ -708,7 +708,7 @@ have been incorporated in this document:</t> | |
| <li><t>Improve the terminology to make clear that this specification does not | ||
| describe a full mesh architecture.</t></li> | ||
| <li><t>Improve the description of sequence number generation | ||
| (TSN and SSN).</t></li> | ||
| (TSN and Stream Sequence Number).</t></li> | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| <li><t>Improve the description of reneging.</t></li> | ||
| <li><t>Don't require the change of the cumulative TSN ACK anymore for increasing | ||
| the congestion window. | ||
|
|
@@ -740,7 +740,7 @@ A chunk contains either control information or user data.</t> | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| </artwork> | ||
| <t>INIT, INIT ACK and SHUTDOWN COMPLETE chunks MUST NOT be bundled | ||
| into one SCTP packet. | ||
| with any other chunks into an SCTP packet. | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| All other chunks MAY be bundled to form an SCTP packet that does not exceed | ||
| the PMTU. | ||
| See <xref target='sec_bundling'/> for more details on chunk bundling.</t> | ||
|
|
@@ -899,7 +899,7 @@ Chunk Flags, Chunk Length, and Chunk Value fields. | |
| Therefore, if the Chunk Value field is zero-length, the Length field will be | ||
| set to 4. | ||
| The Chunk Length field does not count any chunk padding. | ||
| However, it does include padding of any variable-length parameter except the | ||
| However, it does include any padding of variable-length parameters other than the | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| last parameter in the chunk.</t> | ||
| <t>Note: A robust implementation is expected to accept the chunk whether or not | ||
| the final padding has been included in the Chunk Length.</t> | ||
|
|
@@ -1021,9 +1021,10 @@ parameters and has to report them according to | |
| <xref target='sec_parameter_format'/>, it SHOULD bundle the ERROR chunk | ||
| containing the "Unrecognized Parameters" error cause with the chunk sent | ||
| in response (e.g., COOKIE ECHO). | ||
| If the receiver of the INIT ACK chunk cannot bundle the COOKIE ECHO chunk with | ||
| the ERROR chunk, the ERROR chunk MAY be sent separately but not before the | ||
| COOKIE ACK chunk has been received.</t> | ||
| If the receiver of the chunk with unrecognized parameters cannot bundle the | ||
| ERROR chunk with the chunk sent in response, | ||
| the ERROR chunk MAY be sent separately but not before the | ||
| chunk sent in response has been received.</t> | ||
|
Member
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. I think your suggestion misses the point we want to make: In the special case of unrecognized parameters in the INIT ACK chunk and the inability of bundling the COOKIE-ECHO chunk with the ERROR chunk, the ERROR chunk can be sent separately, but only after the COOKIE ACK has been received. This avoids the case that if the packet containing the ERROR chunk arrives before the packet containing the COOKIE ECHO chunk arrives. If that would happen, the ERROR would result in destroying the association. In other situations, there should not be a problem with arriving the packet with the ERROR chunk first. Therefore I think this change is not needed.
Member
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. I'm marking this as resolved. If you don't agree, please unresolve this conversation.
Author
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. This was trying to be editorial consistency -- in the previous sentence we say "the chunk sent in response (e.g., COOKIE ECHO)". To me, that suggests that "the chunk sent in response" is the preferred identifier for that chunk, and "e.g., COOKIE ECHO" indicates that COOKIE ECHO is a typical type of chunk to be sent in response but that other types of chunk are possible. Your first response suggests that the COOKIE ECHO nature is quite important here, and points out that I had conflated COOKIE ECHO and COOKIE ACK in part of my suggested change. So, the COOKIE ACK text needs to stay as COOKIE ACK, I definitely agree. Additionally, if the only possible "chunk sent in response" is COOKIE ECHO, my proposal would be to s/e.g./i.e./ in the previous sentence and continue to use COOKIE ECHO (and COOKIE ACK) in this sentence. If other chunk types are possible, then my proposal would be to apply s/the/a/ in a few places (and continue to use COOKIE ECHO and COOKIE ACK), since the use of the definite article implies that there is always exactly one in the situation being described.
Member
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.
The text in the sentence you are improving proves a consideration for a special case, which has two prerequisites:
Only if these two conditions are met, the sending of the ERROR needs to be delayed until the COOKIE ACK has been received. How about using: Does that address your issue? |
||
| <t>Any time a COOKIE ECHO chunk is sent in a packet, it MUST be the first | ||
| chunk.</t> | ||
| </section> | ||
|
|
@@ -1242,7 +1243,7 @@ to the INIT chunk.</t> | |
| <t>The Chunk Flags field in INIT chunks is reserved, and all bits in it SHOULD | ||
| be set to 0 by the sender and ignored by the receiver. | ||
| The sequence of parameters within an INIT chunk can be processed in any | ||
| order.</t> | ||
| order (but must appear within the chunk in the order indicated above).</t> | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| <dl newline="true"> | ||
| <dt>Initiate Tag: 32 bits (unsigned integer)</dt> | ||
| <dd> | ||
|
|
@@ -1275,8 +1276,8 @@ however, an endpoint MAY change the value of a_rwnd it sends in SACK chunks.</t> | |
| to create in this association. | ||
| The value of 0 MUST NOT be used.</t> | ||
| <t>A receiver of an INIT chunk with the OS value set to 0 MUST discard the | ||
| packet, SHOULD send a packet in response containing an ABORT chunk and using | ||
| the Initiate Tag as the Verification Tag, and MUST NOT change the state of any | ||
| packet, SHOULD send a packet in response containing an ABORT chunk with the | ||
| T bit set, and MUST NOT change the state of any | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| existing association.</t> | ||
| </dd> | ||
| <dt>Number of Inbound Streams (MIS): 16 bits (unsigned integer)</dt> | ||
|
|
@@ -1288,8 +1289,8 @@ The value 0 MUST NOT be used.</t> | |
| two endpoints will use the min(requested, offered). | ||
| See <xref target='sec_handle_stream_parameters'/> for details.</t> | ||
| <t>A receiver of an INIT chunk with the MIS value set to 0 MUST discard the | ||
| packet, SHOULD send a packet in response containing an ABORT chunk and using | ||
| the Initiate Tag as the Verification Tag, and MUST NOT change the state of any | ||
| packet, SHOULD send a packet in response containing an ABORT chunk with the | ||
| T bit set, and MUST NOT change the state of any | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| existing association.</t> | ||
| </dd> | ||
| <dt>Initial TSN (I-TSN): 32 bits (unsigned integer)</dt> | ||
|
|
@@ -1377,8 +1378,8 @@ Address Translation (NAT).</t> | |
|
|
||
| <section> | ||
| <name>Cookie Preservative (9)</name> | ||
| <t>The sender of the INIT chunk SHOULD use this parameter to suggest to the | ||
| receiver of the INIT chunk for a longer life-span of the State Cookie.</t> | ||
| <t>The sender of the INIT chunk uses this parameter to suggest to the | ||
| receiver of the INIT chunk a longer life-span for the State Cookie.</t> | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| <artwork align='center'> | ||
| 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 | ||
|
|
@@ -1904,7 +1905,7 @@ chunk (see <xref target='sec_heartbeat_ack_chunk'/>). | |
| Note also that the HEARTBEAT chunk is both for reachability checking and for | ||
| path verification (see <xref target='sec_path_verifiation'/>). | ||
| When a HEARTBEAT chunk is being used for path verification purposes, it MUST | ||
| hold a random nonce of length 64-bit or longer (<xref target='RFC4086'/> | ||
| include a random nonce of length 64-bit or longer (<xref target='RFC4086'/> | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| provides some information on randomness guidelines).</t> | ||
| </dd> | ||
| </dl> | ||
|
|
@@ -3110,8 +3111,8 @@ respond with an INIT ACK chunk using the same parameters it sent in its | |
| original INIT chunk (including its Initiate Tag, unchanged), provided | ||
| that no NEW address has been added to the forming association. | ||
| If the INIT chunk indicates that a new address has been added to the | ||
| association, then the entire INIT chunk MUST be discarded, and SHOULD NOT do any | ||
| changes to the existing association. | ||
| association, then the entire INIT chunk MUST be discarded, and SHOULD NOT | ||
| change the state of any existing association. | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| An ABORT chunk SHOULD be sent in response that MAY include the error | ||
| 'Restart of an association with new addresses'. | ||
| The error SHOULD list the addresses that were added to the restarting | ||
|
|
@@ -4433,7 +4434,7 @@ transmission.</t></li> | |
| the destination addresses it can send to (not each source-destination pair but | ||
| for each destination). | ||
| The parameters SHOULD decay if the address is not used for a long enough time | ||
| period. <xref target='RFC5681'/> specifies this long enough time as a | ||
| period. <xref target='RFC5681'/> specifies this "long enough time" as a | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| retransmission timeout.</t></li> | ||
| <li><t>For each of the destination addresses, an endpoint does slow start upon | ||
| the first transmission to that address.</t></li> | ||
|
|
@@ -6480,7 +6481,7 @@ clear this flag.</t> | |
| <dt>last-time:</dt> | ||
| <dd> | ||
| <t>The time to which this destination was last sent. | ||
| This can be to determine if the sending of a HEARTBEAT chunk is needed.</t> | ||
| This can be used to determine if the sending of a HEARTBEAT chunk is needed.</t> | ||
tuexen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| </dd> | ||
| </dl> | ||
| </section> | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.