第一次揮手:首先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.伺服器收到連線釋...