(保留版权,欢迎转载。请保留出处,注明原始链接!谢谢。)
1. 11 states
CLOSE, LISTEN, SYN_SENT, SNY_RCV, ESTABLISHED
FIN_WAIT_1, FIN_WAIT_2, CLOSING, TIME_WAIT, CLOSE_WAIT, LAST_ACK
2. 6 Primary Paths
Active Open: CLOSE => SYN_SENT => SYN_RCV => ESTABLISHED
Passive Open: CLOSE => LISTEN => SYN_RCV => ESTABLISHED
Active Close: ESTABLISHED => FIN_WAIT_1 => FIN_WAIT_2 => TIME_WAIT (2MSL) => CLOSE
Passive Close: ESTABLISHED => CLOSE_WAIT => LAST_ACK => CLOSE
Half Close: ESTABLISHED => FIN_WAIT_1 => FIN_WAIT_2
Half Open: ESTABLISHED => CLOSE_WAIT
3. 2 Misc Paths
Simultaneous Open: (Both Active) CLOSE => SYN_SENT => SYN_RCV => ESTABLISHED
Simultaneous Close: (Both Active) ESTABLISHED => FIN_WAIT_1 => CLOSING => TIME_WAIT (2MSL) => CLOSE
* ACK is Sent or Carried before a state transition.