tcp四次揮手

2022-08-21 22:42:09 字數 1367 閱讀 4616

第一次揮手:首先a向

b傳送連線釋放請求報文(資料報),並停止傳送資料。

在連線釋放報文(資料報)的tcp首部中:標誌位:終止

fin=1

,意味著

a要主動釋放a—

>b

的tcp

連線;序號位

seq為u,

u值由a指定。隨後等待

b的確認。

第二次揮手:b收到連線釋放報文之後,給

a傳送確認報文,此時

tcp伺服器程序通知高層應用程序,這樣從a到

b這個方向上的連線就釋放了,

tcp連線處於半關閉狀態。此時

a沒有資料要發給

b了,但是

b還有資料要傳送給a,

a仍可以接收。

在確認報文的tcp首部中:標誌位:確認

ack=1

,表示收到了

a傳送的資料報,同意

a釋放連線;序號位

seq=v,v

值由b指定;確認號

ack=u+1

,表示已經收到

a傳送的

u個位元組資料,並告訴

a下次應從資料的第

u+1個位元組開始傳送,下面同理;此時

b還可以向

a傳輸資料。

第三次握手:若b已經沒有向

a傳送的資料了,其應用程序就通知

tcp釋放連線,並向

a傳送確認報文。

在確認報文的tcp首部中:標誌位:確認

ack=1

,表示b

已經把需要發給

a的資料發完了;標誌位:終止

fin=1

,意味著

b要釋放b—

>a

的tcp

連線;序號

seq=w,w

值由b指定;確認號

ack=u+1

;此後b

不再向a

傳送資料,但能接收資料。

第四次揮手:a收到

b的連線釋放報文段後,向

b發出確認報文。

在確認報文的tcp首部中:標誌位:確認

ack=1

,表示收到

b的確認報文,並同意

b釋放連線;序號

seq=u+1

;確認號

ack=w+1

;最後一次a發出同意

b關閉請求的訊息後還會等兩分鐘,這是為了防止發出的同意訊息

b沒有收到,

b再傳送時可以收到,如果立即關閉,那麼

b就關不掉了,因為a已經

closed

tcp 四次揮手 TCP四次揮手

tcp斷開連線的過程 客戶端傳送fin報文,表明客戶端將不在傳送資料。具體過程 把fin標誌位改為1,序號seq u,之前傳送的資料加1,這裡規定即使不攜帶資料序號也要 1。該過程中客戶端通過close系統呼叫從established狀態進入fin wait 1狀態。第二次揮手 服務端收到客戶端發來...

TCP四次揮手

純給自己看的 發起關閉的一方是客戶端,被動關閉的一方是伺服器。1 客戶端a傳送乙個fin 1,用來關閉客戶a到伺服器b的資料傳送。圖上畫的對,還有乙個seq n 2 伺服器b收到這個fin,它發回乙個ack 1,確認序號ack為收到的序號加1。3 伺服器b關閉與客戶端a的連線,傳送乙個fin 1給客...

TCP四次揮手

四次揮手 1.客戶端程序發出連線釋放報文,並且停止傳送資料。釋放資料報文首部,fin 1,其序列號為seq u 等於前面已經傳送過來的資料的最後乙個位元組的序號加1 此時,客戶端進入fin wait 1 終止等待1 狀態。tcp規定,fin報文段即使不攜帶資料,也要消耗乙個序號。2.伺服器收到連線釋...