Lifecycle in TCP.
During the lifetime of a TCP connection the local end-point undergoes a series of state changes.
State names vary with UNIX dialects, so it's not possible to provide a complete list. Some common TCP state names are: CLOSED, IDLE, BOUND, LISTEN, ESTABLISHED, SYN_SENT, SYN_RCDV, ESTABLISHED, CLOSE_WAIT, FIN_WAIT1, CLOSING, LAST_ACK, FIN_WAIT_2, and TIME_WAIT.
Rfc 793 Description:
State | Description |
---|---|
CLOSE WAIT | represents waiting for a connection termination request from the local user. |
CLOSED | represents no connection state at all. |
CLOSING | represents waiting for a connection termination request acknowledgment from the remote TCP. |
ESTAB | represents an open connection, data received can be delivered to the user. The normal state for the data transfer phase of the connection. |
FINWAIT-1 | represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent. |
FINWAIT-2 | represents waiting for a connection termination request from the remote TCP. |
LAST-ACK | represents waiting for an acknowledgment of the connection termination request previously sent to the remote TCP (which includes an acknowledgment of its connection termination request). |
LISTEN | represents waiting for a connection request from any remote TCP and port. |
SYN RCVD | represents waiting for a confirming connection request acknowledgment after having both received and sent a connection request. |
SYN SENT | represents waiting for a matching connection request after having sent a connection request. |
TIME WAIT | represents waiting for enough time to pass to be sure the remote TCP received the acknowledgment of its connection termination request. |