Posts

  • Home -
  • news -
  • TCP state transition diagram
research
  • 02/20
  • 2017

TCP state transition diagram

TCP/IP State Transition Diagram (RFC793) 
Gordon McKinney (23 Feb 2002) 
 
 
A connection progresses through a series of states during its lifetime. The states are: LISTEN, SYN-SENT, SYN-
RECEIVED, 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: 
 
 
LISTEN  represents waiting for a connection request from any remote TCP and port. 
 
 
SYN-SENT  represents waiting for a matching connection request after having sent a connection request. 
 
 
SYN-RECEIVED   represents  waiting  for  a  confirming  connection  request  acknowledgment  after  having  both 
received and sent a connection request. 
 
 
ESTABLISHED    represents an open connection, data received can be delivered to the user. The normal state 
for the data transfer phase of the connection. 
 
 
FIN-WAIT-1          represents  waiting  for  a  connection  termination  request  from  the  remote  TCP,  or  an 
acknowledgment of the connection termination request previously sent. 
 
 
FIN-WAIT-2          represents waiting for a connection termination request from the remote TCP. 
 
 
CLOSE-WAIT       represents waiting for a connection termination request from the local user. 
 
 
CLOSING  represents  waiting  for  a  connection  termination  request  acknowledgment  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). 
 
 
TIME-WAIT           represents  waiting  for  enough  time  to  pass  to  be  sure  the  remote  TCP  received  the 
acknowledgment of its connection termination request. 
 
 
CLOSED  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.