tcp建立連線的三次握手過程:
第一次握手:客戶端傳送syn(seq=x)包到伺服器,並進入syn_send狀態等待伺服器確認。
第二次握手:伺服器收到syn包,向客戶端傳送syn(seq=y)包和ack(ack=x+1)確認包給客戶端。伺服器進入syn_recv狀態。
第三次握手:客戶端收到syn+ack包,向伺服器傳送確認包ack(ack=y+1),傳送完畢後,客戶端和伺服器進入establelished狀態。
三次握手完成後,就可以進行資料傳輸了。三次握手才建立連線是因為要初始化sequence number的初始值。
tcp終止連線的四次揮手過程:
第一次揮手:客戶端傳送乙個fin(seq=x)來關閉客戶端到伺服器的資料傳輸,客戶端進入fin_wait_1狀態。
第二次揮手:伺服器收到fin後,傳送乙個ack(seq=x+1)給客戶端,伺服器進入close_wait狀態。
第三次揮手:伺服器傳送乙個fin,用來關閉伺服器到客戶端的資料傳輸。伺服器進入last_ack狀態。
第四次揮手:客戶端收到fin後,進入time_wait狀態,接著傳送乙個ack(seq=收到的ack+1)給服務端,伺服器進入close狀態。
因為是全雙工通訊:傳送方和接收方都需要fin報文和ack報文。
tcp 四次揮手 TCP的三次握手和四次揮手
三次握手 第一次握手 客戶端傳送syn包 syn x 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack x 1 同時自己也傳送乙個syn包 syn y 即syn ack包,此時伺服器進入syn recv狀態 第三次握手 客戶端收到伺服...
TCP三次握手和四次揮手
一 tcp三次握手 three way handshake 1 tcp三次握手的作用 三次握手的目的是連線伺服器指定埠,建立tcp連線,並同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。在socket程式設計中,客戶端執行connect 時,將觸發三次握手。2 tcp三次握手過程 第一步 ...
TCP三次握手和四次揮手
三次握手 四次揮手 需四次揮手原因 由於tcp的半關閉特性,tcp連線時雙全工 即資料在兩個方向上能同時傳遞 因此,每個方向必須單獨的進行關閉。這個原則就是 當一方完成它的資料傳送任務後就能傳送乙個fin來終止這個方向上的連線。當一端收到乙個fin後,它必須通知應用層另一端已經終止了那個方向的資料傳...