| rfc793bis_section_3.10.7.4_original_elided.txt | rfc793bis_section_3.10.7.4_updated_bullets_elided.txt | |||
|---|---|---|---|---|
| Otherwise, | Otherwise, | |||
| first check sequence number | 1. 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 | |||
| o Segments are processed in sequence. Initial tests ... | - Segments are processed in sequence. Initial tests ... | |||
| o In general, the processing of received segments MUST ... | - In general, the processing of received segments MUST ... | |||
| o 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 | | | |||
| +=========+=========+========================== .... | ||||
| o In implementing sequence number validation as described ... | - In implementing sequence number validation as described ... | |||
| o If the RCV.WND is zero, no segments will be acceptable, ... | - If the RCV.WND is zero, no segments will be acceptable, ... | |||
| o If an incoming segment is not acceptable, an ... | - If an incoming segment is not acceptable, an ... | |||
| + <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | o <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
| o After sending the acknowledgment, drop the unacceptable ... | - After sending the acknowledgment, drop the unacceptable ... | |||
| o Note that for the TIME-WAIT state, there is an improved ... | - Note that for the TIME-WAIT state, there is an improved ... | |||
| o 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, | 2. second check the RST bit, | |||
| o RFC 5961 [9] section 3 describes a potential blind reset ... | * RFC 5961 [9] section 3 describes a potential blind reset ... | |||
| + 1) If the RST bit is set and the sequence number is ... | 1) If the RST bit is set and the sequence number is ... | |||
| + 2) If the RST bit is set and the sequence number exactly ... | 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 ... | 3) If the RST bit is set and the sequence number does not ... | |||
| <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
| After sending the challenge ACK, TCP endpoints MUST ... | After sending the challenge ACK, TCP endpoints MUST ... | |||
| o 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 ... | o If this connection was initiated with a passive ... | |||
| o 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 ... | |||
| o 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 | 3. third check security | |||
| o SYN-RECEIVED | * SYN-RECEIVED | |||
| + If the security/compartment in the segment does not ... | - If the security/compartment in the segment does not ... | |||
| o ESTABLISHED | * ESTABLISHED | |||
| FIN-WAIT-1 | * FIN-WAIT-1 | |||
| FIN-WAIT-2 | * FIN-WAIT-2 | |||
| CLOSE-WAIT | * CLOSE-WAIT | |||
| CLOSING | * CLOSING | |||
| LAST-ACK | * LAST-ACK | |||
| TIME-WAIT | * TIME-WAIT | |||
| + If the security/compartment in the segment does not ... | - If the security/compartment in the segment does not ... | |||
| o Note this check is placed following the sequence check ... | * Note this check is placed following the sequence check ... | |||
| - fourth, check the SYN bit, | 4. fourth, check the SYN bit, | |||
| o SYN-RECEIVED | * SYN-RECEIVED | |||
| + If the connection was initiated with a passive OPEN ... | - 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 bit is set in these synchronized states ... | - If the SYN bit is set in these synchronized states ... | |||
| + <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | - <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
| + After sending the acknowledgement, TCP implementations ... | - After sending the acknowledgement, TCP implementations ... | |||
| + For implementations that do not follow RFC 5961 ... | - 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, | 5. fifth check the ACK field, | |||
| o if the ACK bit is off drop the segment and return | * if the ACK bit is off drop the segment and return | |||
| o if the ACK bit is on | * if the ACK bit is on | |||
| + RFC 5961 [9] section 5 describes a potential blind data ... | - 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 ... | o If SND.UNA < SEG.ACK =< SND.NXT then enter ESTABLISHED ... | |||
| - SND.WND <- SEG.WND | + SND.WND <- SEG.WND | |||
| SND.WL1 <- SEG.SEQ | + SND.WL1 <- SEG.SEQ | |||
| SND.WL2 <- SEG.ACK | + SND.WL2 <- SEG.ACK | |||
| * If the segment acknowledgment is not acceptable, form ... | o If the segment acknowledgment is not acceptable, form ... | |||
| - <SEQ=SEG.ACK><CTL=RST> | + <SEQ=SEG.ACK><CTL=RST> | |||
| * and send it. | o and send it. | |||
| + ESTABLISHED STATE | - ESTABLISHED STATE | |||
| * If SND.UNA < SEG.ACK =< SND.NXT then, set SND.UNA ... | o If SND.UNA < SEG.ACK =< SND.NXT then, set SND.UNA ... | |||
| * If SND.UNA =< SEG.ACK =< SND.NXT, the send window ... | o If SND.UNA =< SEG.ACK =< SND.NXT, the send window ... | |||
| * Note that SND.WND is an offset from SND.UNA, ... | o 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 ... | o In addition to the processing for the ESTABLISHED ... | |||
| + FIN-WAIT-2 STATE | - FIN-WAIT-2 STATE | |||
| * In addition to the processing for the ESTABLISHED ... | o In addition to the processing for the ESTABLISHED ... | |||
| + CLOSE-WAIT STATE | - CLOSE-WAIT STATE | |||
| * Do the same processing as for the ESTABLISHED state. | o Do the same processing as for the ESTABLISHED state. | |||
| + CLOSING STATE | - CLOSING STATE | |||
| * In addition to the processing for the ESTABLISHED ... | o In addition to the processing for the ESTABLISHED ... | |||
| + LAST-ACK STATE | - LAST-ACK STATE | |||
| * The only thing that can arrive in this state is ... | o 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 ... | o The only thing that can arrive in this state is ... | |||
| - sixth, check the URG bit, | 6. sixth, check the URG bit, | |||
| o 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) ... | |||
| o 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, | 7. seventh, process the segment text, | |||
| o 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 endpoint takes responsibility for ... | - When the TCP endpoint takes responsibility for ... | |||
| + Once the TCP endpoint takes responsibility for ... | - Once the TCP endpoint takes responsibility for ... | |||
| + A TCP implementation MAY send an ACK segment ... | - 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> | o <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK> | |||
| + This acknowledgment should be piggybacked on a ... | - This acknowledgment should be piggybacked on a ... | |||
| o 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, | 8. eighth, check the FIN bit, | |||
| o Do not process the FIN if the state is CLOSED, LISTEN ... | * Do not process the FIN if the state is CLOSED, LISTEN ... | |||
| o 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. | o Enter the CLOSE-WAIT state. | |||
| + FIN-WAIT-1 STATE | - FIN-WAIT-1 STATE | |||
| * If our FIN has been ACKed (perhaps in this ... | o 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 ... | o Enter the TIME-WAIT state. Start the time-wait ... | |||
| + CLOSE-WAIT STATE | - CLOSE-WAIT STATE | |||
| * Remain in the CLOSE-WAIT state. | o Remain in the CLOSE-WAIT state. | |||
| + CLOSING STATE | - CLOSING STATE | |||
| * Remain in the CLOSING state. | o Remain in the CLOSING state. | |||
| + LAST-ACK STATE | - LAST-ACK STATE | |||
| * Remain in the LAST-ACK state. | o Remain in the LAST-ACK state. | |||
| + TIME-WAIT STATE | - TIME-WAIT STATE | |||
| * Remain in the TIME-WAIT state. Restart the 2 MSL ... | o Remain in the TIME-WAIT state. Restart the 2 MSL ... | |||
| - and return. | 9. and return. | |||
| End of changes. 140 change blocks. | ||||
| 141 lines changed or deleted | 142 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/ | ||||