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