您好,登錄后才能下訂單哦!
三次握手(three times handshake;three-way handshake)所謂的"三次握手"即對每次發送的數據量是怎樣跟蹤進行協商使數據段的發送和接收同步,根據所接收到的數據量而確定的數據確認數及數據發送、接收完畢后何時撤消聯系,并建立虛連接。
為了提供可靠的傳送,TCP在發送新的數據之前,以特定的順序將數據包的序號,并需要這些包傳送給目標機之后的確認消息。TCP總是用來發送大批量的數據。當應用程序在收到數據后要做出確認時也要用到TCP。
過程:
(1)客戶端向服務端發出連接請求SYN,等待服務端響應
(2)服務端做出響應ACK和連接信號SYN
(3)為防止數據丟失,客戶端也要做出響應ACK,確認是否有效
數據傳輸總是從 客戶端---》服務端,因此客戶端和服務端不是固定的。
由于TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。這原則是當一方完成它的數據發送任務后就能發送一個FIN來終止這個方向的連接。收到一個 FIN只意味著這一方向上沒有數據流動,一個TCP連接在收到一個FIN后仍能發送數據。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。
1.(客戶端:終止等待1)客戶端向服務端發起關閉連接的請求,不再發送數據了,但如果服務器發送數據,客戶端還要接收
2.(服務端:關閉等待)服務端可能還有數據為傳輸完畢,所以還無法完成關閉。所以先響應客戶端ACK,,表示收到關閉請求。客戶端向服務器的方向釋放,整個處于半關閉狀態
3.(客戶端:終止等待2)客戶端收到服務器的確認請求后,客戶端進入終止等待2,等待服務端發送連接釋放報文
4.(服務端:最后確認)等服務器的數據傳輸工作完成,就把FIN信號(連接釋放報文)發送給客戶端,可能還會發送一些數據
5.(客戶端:時間等待)客戶端收到服務器的連接釋放報文。發出確認ACK
6.(服務端:CLOSED)服務端收到客戶端的確認,立即進入CLOSED狀態
7.服務器結束TCP連接的時間比客戶端早
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。