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/ |