일반적인 경우 아래 내용은 모두 Sokcet 내에서 처리되기 때문에 필요없지만
TCP 스택을 포팅하거나 수정해야할 경우에는 중요하게 처리해야될 TCP State 값의 설명입니다.
TCP/IP State Transition Diagram (RFC793)
A connection progresses through a series of states during its lifetime. The states are: LISTEN, SYN-SENT, SYNRECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, and the fictional state CLOSED. CLOSED is fictional because it represents the state when there is no TCB, and therefore, no connection. Briefly the meanings of the states are:
represents waiting for a connection request from any remote TCP and port.
represents waiting for a matching connection request after having sent a connection request.
represents waiting for a confirming connection request acknowledgment after having both received and sent a connection request.
represents an open connection, data received can be delivered to the user. The normal state for the data transfer phase of the connection.
represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent.
represents waiting for a connection termination request from the remote TCP.
represents waiting for a connection termination request from the local user.
represents waiting for a connection termination request acknowledgment from the remote TCP.
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).
represents waiting for enough time to pass to be sure the remote TCP received the acknowledgment of its connection termination request.
represents no connection state at all.
A TCP connection progresses from one state to another in response to events. The events are the user calls, OPEN, SEND, RECEIVE, CLOSE, ABORT, and STATUS; the incoming segments, particularly those containing the SYN, ACK, RST and FIN flags; and timeouts.