由於tcp連線是全雙工的,斷開乙個tcp連線,需要客戶端與伺服器傳送四個包來確認連線的斷開
因為tcp是全雙工的,因此,每個方向都要單獨關閉
當一方完成資料傳送任務後,傳送乙個fin來終止這一方向的連線,收到乙個fin只是意味著
一方向不會再收到資料了,但是這個tcp連線上仍然能夠傳送資料,直到這一方也傳送了fin.
首先進行關閉的一方執行主動關閉,另一方執行被動關閉.第乙個關閉的最後等待2msl
第一次揮手:client將fin置為1,序號seq=m,傳送給server,進入fin_wait_1狀態
第二次揮手server收到後,將ack置為1,ack=m+1,響應給client,進入close_wait狀態
client收到響應後,進入fin_wait_2狀態
第三次揮手server在結束所有資料傳輸後,將fin置為1,seq=n+1,傳送給client,進入
last_ack狀態
第四次揮手client收到後,將ack置為1,ack=n+1,響應給server,進入time_wait狀態,等待
2msl後,進入closed狀態
server收到後,進入closed狀態
tcp 四次揮手 TCP四次揮手
tcp斷開連線的過程 客戶端傳送fin報文,表明客戶端將不在傳送資料。具體過程 把fin標誌位改為1,序號seq u,之前傳送的資料加1,這裡規定即使不攜帶資料序號也要 1。該過程中客戶端通過close系統呼叫從established狀態進入fin wait 1狀態。第二次揮手 服務端收到客戶端發來...
簡述tcp三次握手 四次揮手
1 建立連線協議 三次握手 1 客戶端傳送乙個帶syn標誌的tcp報文到伺服器。客戶端進入syn send狀態 2 伺服器端回應客戶端的,這個報文同時帶ack標誌和syn標誌。此時伺服器進入syn recv狀態。因為伺服器表示對剛才客戶端syn報文的回應需要用ack確認,同時自己又要傳送syn給客戶...
簡述三次握手與四次揮手
tcp在傳送資料前必須在彼此間建立連線,建立連線之前,我們要了解tcp的報文格式。序列號seq 佔4個位元組,用來標記資料段的順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個報文段指派乙個序號 序列號seq就是這個報文段中的第乙...