rfc793_SEGMENT_ARRIVES_elided.txt   rfc793bis_section_3.10.7.4_updated_no_bullets_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 ... Segments are processed in sequence. Initial tests ...
<new text in bis> In general, the processing of received segments MUST ...
There are four cases for the acceptability test for ... There are four cases for the acceptability test for ...
Segment Receive Test +=========+=========+======================================+
Length Window | Segment | Receive | Test |
------- ------- ------------------------------------ ... | Length | Window | |
+=========+=========+================================== ...
<new text in bis> In implementing sequence number validation as described ...
If the RCV.WND is zero, no segments will be acceptable, ... If the RCV.WND is zero, no segments will be acceptable, ...
If an incoming segment is not acceptable, an ... 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 ... After sending the acknowledgment, drop the unacceptable ...
<new text in bis> Note that for the TIME-WAIT state, there is an improved ...
In the following it is assumed that the segment is the ... 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> 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 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 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 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 SYN-RECEIVED
If the security/compartment and precedence in the segment do not ... If the security/compartment in the segment does not ...
ESTABLISHED STATE 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 ... Note this check is placed following the sequence check ...
fourth, check the SYN bit, fourth, check the SYN bit,
SYN-RECEIVED 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 if the ACK bit is off drop the segment and return
if the ACK bit is on 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 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 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 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 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 ... Do not process the FIN if the state is CLOSED, LISTEN ...
If the FIN bit is set, signal the user "connection ... 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. 141 change blocks. 
142 lines changed or deleted 143 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/