TCP的三次握手和四次揮手

2021-09-24 16:35:54 字數 580 閱讀 7971

三次握手

假設a為客戶端,b為服務端

首先b處於listen(監聽)狀態,等待客戶的連線請求。

a向b傳送連線請求報文,syn=1,ack=0,選擇乙個初始的序號x,seq=x

b收到的連線請求報文,如果同意建立連線,則向a傳送連線確認報文,syn=1,ack=1,確認號為x+1,ack=x+1,同時也選擇乙個初始的序號y,seq=y

a收到b的連線確認報文後,還要向b發出確認,確認號為y+1,ack=y+1,序號為x+1,seq=x+1

b收到a的確認後,建立連線。

四次揮手

ack在建立連線之後都為1

a傳送連線釋放報文,fin=1,seq=u

b收到之後發出確認,seq=v,ack=u+1此時tcp屬於半關閉狀態,b能向a傳送資料但是a不能向b傳送資料

當b不需要連線時,傳送連線釋放報文,fin=1,seq=w,ack=u+1

a收到後發出確認,seq=u+1,ack=w+1,進入time-wait狀態,等待2msl(最大報文存活時間)後釋放連線。

b收到a 的確認後釋放連線。

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後,它必須通知應用層另一端已經終止了那個方向的資料傳...