TCP、三次握手、四次揮手(圖解)


傳輸控制協議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,為了在不可靠的互聯網絡上提供可靠的端到端字節流而專門設計的一個傳輸協議。TCP使用三次握手協議建立連接,使用四次揮手終止連接。具體過程如下所示:

1、三次握手

(1)客戶端與服務端建立連接時,需要發送請求連接消息,請求號syn=1,序列號seq=123(假設為123),此時客戶端進入SYN_SEND狀態;

(2)服務端接收數據后,會發送確認操作(確認號ack=1,ack=123+1),然后服務端會發送與客戶端建立連接的請求(請求號syn=1,序列號seq=456(假設為456)),此時服務端進入SYN_RECV狀態;

(3)客戶端收到數據之后,會再返回一個確認的操作(確認號ack=1,ack=456+1),至此服務端到客戶端的鏈路建立成功;此時客戶端進入ESTABLISHED狀態,服務端收到ack后進入ESTABLISHED狀態。

 2、四次揮手

(1)客戶端發送完數據之后,向服務器請求斷開連接,此時客戶端進入FIN_WAIT_1狀態;

(2)服務端收到FIN包之后,回復ACK包表示已經收到,但此時服務端可能還有數據沒發送完成,此時服務端進入CLOSE_WAIT狀態;客戶端進入FIN_WAIT_2狀態;

(3)服務端數據發送完成之后,發送FIN包給客戶端,此時服務端進入LAST_ACK狀態;

(4)客戶端收到FIN包后,回復一個ACK包,此時客戶端進入TIME_WAIT狀態;

(5)服務端接收到ACK包后,此時服務端進入CLOSE狀態。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM