rfc793_SEGMENT_ARRIVES_elided.txt | rfc793bis_section_3.10.7.4_original_elided.txt | |||
---|---|---|---|---|
Otherwise, | Otherwise, | |||
first check sequence number | first check sequence number | |||
SYN-RECEIVED STATE | - SYN-RECEIVED STATE | |||
ESTABLISHED STATE | ESTABLISHED STATE | |||
FIN-WAIT-1 STATE | FIN-WAIT-1 STATE | |||
FIN-WAIT-2 STATE | FIN-WAIT-2 STATE | |||
CLOSE-WAIT STATE | CLOSE-WAIT STATE | |||
CLOSING STATE | CLOSING STATE | |||
LAST-ACK STATE | LAST-ACK STATE | |||
TIME-WAIT STATE | TIME-WAIT STATE | |||
Segments are processed in sequence. Initial tests ... | o Segments are processed in sequence. Initial tests ... | |||
<new text in bis> | o In general, the processing of received segments MUST ... | |||
There are four cases for the acceptability test for ... | o There are four cases for the acceptability test for ... | |||
Segment Receive Test | Segment Receive Test | |||
Length Window | Length Window | |||
------- ------- ------------------------------------ ... | ------- ------- ------------------------------------ ... | |||
<new text in bis> | o In implementing sequence number validation as described ... | |||
If the RCV.WND is zero, no segments will be acceptable, ... | o If the RCV.WND is zero, no segments will be acceptable, ... | |||
If an incoming segment is not acceptable, an ... | o If an incoming segment is not acceptable, an ... | |||
<SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | + <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
After sending the acknowledgment, drop the unacceptable ... | o After sending the acknowledgment, drop the unacceptable ... | |||
<new text in bis> | o Note that for the TIME-WAIT state, there is an improved ... | |||
In the following it is assumed that the segment is the ... | o In the following it is assumed that the segment is the ... | |||
second check the RST bit, | - second check the RST bit, | |||
<new text in bis> | o RFC 5961 [9] section 3 describes a potential blind reset ... | |||
<new text in bis> | + 1) If the RST bit is set and the sequence number is ... | |||
<new text in bis> | + 2) If the RST bit is set and the sequence number exactly ... | |||
<new text in bis> | + 3) If the RST bit is set and the sequence number does not ... | |||
<new text in bis> | <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
<new text in bis> | After sending the challenge ACK, TCP endpoints MUST ... | |||
SYN-RECEIVED STATE | o SYN-RECEIVED STATE | |||
If the RST bit is set | + If the RST bit is set | |||
If this connection was initiated with a passive ... | * If this connection was initiated with a passive ... | |||
ESTABLISHED | o ESTABLISHED | |||
FIN-WAIT-1 | FIN-WAIT-1 | |||
FIN-WAIT-2 | FIN-WAIT-2 | |||
CLOSE-WAIT | CLOSE-WAIT | |||
If the RST bit is set then, any outstanding RECEIVEs ... | + If the RST bit is set then, any outstanding RECEIVEs ... | |||
CLOSING STATE | o CLOSING STATE | |||
LAST-ACK STATE | LAST-ACK STATE | |||
TIME-WAIT | TIME-WAIT | |||
If the RST bit is set then, enter the CLOSED state ... | + If the RST bit is set then, enter the CLOSED state ... | |||
third check security and precedence | - third check security | |||
SYN-RECEIVED | o SYN-RECEIVED | |||
If the security/compartment and precedence in the segment do not ... | + If the security/compartment in the segment does not ... | |||
ESTABLISHED STATE | o ESTABLISHED | |||
<new text in bis> | FIN-WAIT-1 | |||
<new text in bis> | FIN-WAIT-2 | |||
<new text in bis> | CLOSE-WAIT | |||
<new text in bis> | CLOSING | |||
<new text in bis> | LAST-ACK | |||
<new text in bis> | TIME-WAIT | |||
If the security/compartment and precedence in the segment do not ... | + If the security/compartment in the segment does not ... | |||
Note this check is placed following the sequence check ... | o Note this check is placed following the sequence check ... | |||
fourth, check the SYN bit, | - fourth, check the SYN bit, | |||
SYN-RECEIVED | o SYN-RECEIVED | |||
<new text in bis> | + If the connection was initiated with a passive OPEN ... | |||
ESTABLISHED STATE | ESTABLISHED STATE | |||
FIN-WAIT STATE-1 | FIN-WAIT STATE-1 | |||
FIN-WAIT STATE-2 | FIN-WAIT STATE-2 | |||
CLOSE-WAIT STATE | CLOSE-WAIT STATE | |||
CLOSING STATE | CLOSING STATE | |||
LAST-ACK STATE | LAST-ACK STATE | |||
TIME-WAIT STATE | TIME-WAIT STATE | |||
If the SYN is in the window it is an error, ... | + If the SYN bit is set in these synchronized states ... | |||
<new text in bis> | + <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
<new text in bis> | + After sending the acknowledgement, TCP implementations ... | |||
<new text in bis> | + For implementations that do not follow RFC 5961 ... | |||
If the SYN is not in the window this step would ... | + If the SYN is not in the window this step would ... | |||
fifth check the ACK field, | - fifth check the ACK field, | |||
if the ACK bit is off drop the segment and return | o if the ACK bit is off drop the segment and return | |||
if the ACK bit is on | o if the ACK bit is on | |||
<new text in bis> | + RFC 5961 [9] section 5 describes a potential blind data ... | |||
SYN-RECEIVED STATE | + SYN-RECEIVED STATE | |||
If SND.UNA =< SEG.ACK =< SND.NXT then enter ESTABLISHED ... | * If SND.UNA < SEG.ACK =< SND.NXT then enter ESTABLISHED ... | |||
<new text in bis> | - SND.WND <- SEG.WND | |||
<new text in bis> | SND.WL1 <- SEG.SEQ | |||
<new text in bis> | SND.WL2 <- SEG.ACK | |||
If the segment acknowledgment is not acceptable, form ... | * If the segment acknowledgment is not acceptable, form ... | |||
<SEQ=SEG.ACK><CTL=RST> | - <SEQ=SEG.ACK><CTL=RST> | |||
and send it. | * and send it. | |||
ESTABLISHED STATE | + ESTABLISHED STATE | |||
If SND.UNA < SEG.ACK =< SND.NXT then, set SND.UNA ... | * If SND.UNA < SEG.ACK =< SND.NXT then, set SND.UNA ... | |||
If SND.UNA < SEG.ACK =< SND.NXT, the send window ... | * If SND.UNA =< SEG.ACK =< SND.NXT, the send window ... | |||
Note that SND.WND is an offset from SND.UNA, ... | * Note that SND.WND is an offset from SND.UNA, ... | |||
FIN-WAIT-1 STATE | + FIN-WAIT-1 STATE | |||
In addition to the processing for the ESTABLISHED ... | * In addition to the processing for the ESTABLISHED ... | |||
FIN-WAIT-2 STATE | + FIN-WAIT-2 STATE | |||
In addition to the processing for the ESTABLISHED ... | * In addition to the processing for the ESTABLISHED ... | |||
CLOSE-WAIT STATE | + CLOSE-WAIT STATE | |||
Do the same processing as for the ESTABLISHED state. | * Do the same processing as for the ESTABLISHED state. | |||
CLOSING STATE | + CLOSING STATE | |||
In addition to the processing for the ESTABLISHED ... | * In addition to the processing for the ESTABLISHED ... | |||
LAST-ACK STATE | + LAST-ACK STATE | |||
The only thing that can arrive in this state is ... | * The only thing that can arrive in this state is ... | |||
TIME-WAIT STATE | + TIME-WAIT STATE | |||
The only thing that can arrive in this state is ... | * The only thing that can arrive in this state is ... | |||
sixth, check the URG bit, | - sixth, check the URG bit, | |||
ESTABLISHED STATE | o ESTABLISHED STATE | |||
FIN-WAIT-1 STATE | FIN-WAIT-1 STATE | |||
FIN-WAIT-2 STATE | FIN-WAIT-2 STATE | |||
If the URG bit is set, RCV.UP <- max(RCV.UP,SEG.UP) ... | + If the URG bit is set, RCV.UP <- max(RCV.UP,SEG.UP) ... | |||
CLOSE-WAIT STATE | o CLOSE-WAIT STATE | |||
CLOSING STATE | CLOSING STATE | |||
LAST-ACK STATE | LAST-ACK STATE | |||
TIME-WAIT | TIME-WAIT | |||
This should not occur, since a FIN has been received ... | + This should not occur, since a FIN has been received ... | |||
seventh, process the segment text, | - seventh, process the segment text, | |||
ESTABLISHED STATE | o ESTABLISHED STATE | |||
FIN-WAIT-1 STATE | FIN-WAIT-1 STATE | |||
FIN-WAIT-2 STATE | FIN-WAIT-2 STATE | |||
Once in the ESTABLISHED state, it is possible to ... | + Once in the ESTABLISHED state, it is possible to ... | |||
When the TCP takes responsibility for ... | + When the TCP endpoint takes responsibility for ... | |||
Once the TCP takes responsibility for ... | + Once the TCP endpoint takes responsibility for ... | |||
<new text in bis> | + A TCP implementation MAY send an ACK segment ... | |||
Please note the window management suggestions in ... | + Please note the window management suggestions in ... | |||
Send an acknowledgment of the form: | + Send an acknowledgment of the form: | |||
<SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | * <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
This acknowledgment should be piggybacked on a ... | + This acknowledgment should be piggybacked on a ... | |||
CLOSE-WAIT STATE | o CLOSE-WAIT STATE | |||
CLOSING STATE | CLOSING STATE | |||
LAST-ACK STATE | LAST-ACK STATE | |||
TIME-WAIT STATE | TIME-WAIT STATE | |||
This should not occur, since a FIN has been received ... | + This should not occur, since a FIN has been received ... | |||
eighth, check the FIN bit, | - eighth, check the FIN bit, | |||
Do not process the FIN if the state is CLOSED, LISTEN ... | o Do not process the FIN if the state is CLOSED, LISTEN ... | |||
If the FIN bit is set, signal the user "connection ... | o If the FIN bit is set, signal the user "connection ... | |||
SYN-RECEIVED STATE | + SYN-RECEIVED STATE | |||
ESTABLISHED STATE | ESTABLISHED STATE | |||
Enter the CLOSE-WAIT state. | * Enter the CLOSE-WAIT state. | |||
FIN-WAIT-1 STATE | + FIN-WAIT-1 STATE | |||
If our FIN has been ACKed (perhaps in this ... | * If our FIN has been ACKed (perhaps in this ... | |||
FIN-WAIT-2 STATE | + FIN-WAIT-2 STATE | |||
Enter the TIME-WAIT state. Start the time-wait ... | * Enter the TIME-WAIT state. Start the time-wait ... | |||
CLOSE-WAIT STATE | + CLOSE-WAIT STATE | |||
Remain in the CLOSE-WAIT state. | * Remain in the CLOSE-WAIT state. | |||
CLOSING STATE | + CLOSING STATE | |||
Remain in the CLOSING state. | * Remain in the CLOSING state. | |||
LAST-ACK STATE | + LAST-ACK STATE | |||
Remain in the LAST-ACK state. | * Remain in the LAST-ACK state. | |||
TIME-WAIT STATE | + TIME-WAIT STATE | |||
Remain in the TIME-WAIT state. Restart the 2 MSL ... | * Remain in the TIME-WAIT state. Restart the 2 MSL ... | |||
and return. | - and return. | |||
End of changes. 134 change blocks. | ||||
135 lines changed or deleted | 135 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |