溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TCP協議的三次握手和四次揮手的理解

發布時間:2020-05-26 17:34:04 來源:億速云 閱讀:240 作者:鴿子 欄目:web開發

今天就與大家探討下對TCP協議的三次握手和四次揮手的理解問題。希望可以幫助到更多新手小白或基礎不太牢固的同學,加深對此的理解和感悟。

TCP協議的三次握手和四次揮手的理解
為什么會用到三次握手和四次揮手?

為了對每次發送的數據量進行跟蹤與協商,確保數據段的發送和接收同步,根據所接收到的數據量而確認數據發送、接收完畢后何時撤消聯系,并建立虛連接。就需要三次握手。三次握手的意義在于防止已過期的連接再次傳到被連接的主機。

當客戶端和服務器通過三次握手建立了TCP連接以后,當數據傳送完畢,當需要斷開TCP連接時,這里就有了四次揮手。

三次握手是什么?

簡單說來,第一次握手是發送帶有SYN標志的數據包從客戶端到服務端。第二次握手是發送帶有SYN/ACK標志的數據包從服務端到客戶端。第三次握手是發送帶有帶有ACK標志的數據包從客戶端到服務端。

四次揮手是什么?

由于TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成它的數據發送任務后就能發送一個FIN來終止這個方向的連接。收到一個 FIN只意味著這一方向上沒有數據流動,一個TCP連接在收到一個FIN后仍能發送數據。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。

為什么要進行三次握手?

客戶端只有確定了自己能與服務端連接上才能開始發數據。所以兩次握手肯定是最基本的。假設如果沒有第三次握手,而是兩次握手后我們就認為連接成功了,那么會發生什么?第三次握手是為了防止已經失效的連接請求報文段突然又傳到服務端,因而產生錯誤。

為什么建立連接是三次握手,而關閉連接卻是四次揮手呢?

這是因為服務端在LISTEN狀態下,收到建立連接請求的SYN報文后,把ACK和SYN放在一個報文里發送給客戶端。而關閉連接時,當收到對方的FIN報文時,僅僅表示對方不再發送數據了但是還能接收數據,己方是否現在關閉發送數據通道,需要上層應用來決定,因此,己方ACK和FIN一般都會分開發送。

你,明白了嗎?

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女