- TCP三次握手
是指建立TCP連接協議時,需要在客戶端和服務器之間發送三個包,握手過程中傳送的包裏不包含數據,三次握手完畢後,客戶端與服務器才正式開始傳送數據。
第一次握手:客戶端發送第一個包,其中SYN標誌位爲1, ACK=0,發送順序號sequence=X(隨機int)。客戶端進入SYN發送狀態,等待服務器確認。
第二次握手:服務器收到這個包後發送第二個包,其中包SYN、ACK標誌位爲1,發送順序號seq=Y(隨機int),接收順序號ACK=X+1,此時服務器進入SYN接收狀態。
第三次握手:客戶端收到服務器傳來的包後,向服務器發送第三個包,SYN=0, ACK=1,接收順序號ACK = Y+1,發送順序號seq=X+1。此包發送完畢,客戶端和服務器進入ESTABLISHED建立成功狀態,完成三次握手。
- TCP四次握手
是指終止TCP連接協議時,需要在客戶端和服務器之間發送四個包
第一次揮手:主動關閉方發送第一個包,其中FIN標誌位爲1,發送順序號seq爲X。
第二次揮手:被動關閉方收到FIN包後發送第二個包,其中發送順序號seq爲Z,接收順序號ack爲X+1。
第三次揮手:被動關閉方再發送第三個包,其中FIN標誌位爲1,發送順序號seq爲Y,接收順序號ack爲X。
第四次揮手:主動關閉方發送第四個包,其中發送順序號爲X,接收順序號爲Y。至此,完成四次揮手。