TCP状态时序总结
TCP狀態時序圖:
1.主動發起連接請求端:CLOSE ----發送 SYN ---- SEND_SYN ----接收 ACK, SYN ---- SEND_SYN ---- 發送 ACK ----ESTABLISED(數據通信態)
2.主動關閉連接請求端:ESTABLISED(數據通信態) ---- 發送FIN ----FIN_WAIT_1 ----接收ACK ----FIN_WAIT_2(半關閉) ---- 接收對端發送FIN ----FIN_WAIT_2(半關閉) ---- 回發ACK ---- TIME_WAIT(只有主動關閉連接方,會經歷該狀態)---- 等2MSL時長 ---- CLOSE
3.被動接收請求連接端: CLOSE ---- LISTEN ----發送ACK.SYN ---- SYN_RCVD ----接收ACK ----ESTABLISED(數據通信態)
4 . 被動關閉連接請求端: ESTABLISED(數據通信態)----接收FIN ----ESTABLISED(數據通信態) ----發送ACK ---- CLOSE_WAIT(說明對端(主動關閉連接)處于半關閉狀態) ----發送FIN ----LAST_ACK ---- CLOSE
重點記憶: ESTABLISED FIN_WAIT_2 <------>CLOSE_WAIT TIME_WAIT(2MSL)
2MSL時長:
一定出現在(主動關閉連接請求端) TIME_WAIT(此狀態也只會出現在主動連接請求端)
保證最后一個ACK能成功被對端接收。(等待期間,對端沒收到所發ACK,對端會再次發FIN請求)
總結
- 上一篇: JVM字节码指令集大全及其介绍
- 下一篇: 端口复用和半关闭补充