TCP 協議 三次握手 四次揮手 資料傳輸

2021-08-09 10:48:35 字數 1027 閱讀 1418

為什麼要三次握手

在一次溝通過程中,當然是要兩方的,我們就來甲乙好了

甲說:hi!

乙如果沒聽到,或者中途斷了,那麼乙根本不知道甲要和他溝通

甲也不知道乙沒有聽到 所以一次握手是不行的

甲說:hi!

乙說:hi!

同樣的,甲知道乙收到了,但是乙不知道甲收到沒有,只是單向的建立了連線

那麼四次呢,甲2次知道了乙收到了,這就多餘了,浪費網路資源

這就是為什麼要3次握手

那麼tcp發了些什麼呢

甲:hi!我要建立連線,這是我發的第1個資訊10001

乙:hi,我收到了你的連線請求,這是我發的第1個資訊 20002,你的驗證資訊是10002

甲:好的,我收到了,你的驗證資訊是20003

這裡的發的第1個資訊就相當於syn seq=10001

乙收到後返回乙個自己的syn seq=20002 然後驗證資訊相當於ack 這個ack的內容就是發的第1個資訊加1

甲收到後返回乙個驗證資訊 是乙發過來的syn seq=20002 +1 ack=20003

甲:我要傳資料了 seq=10002 ack=20003

乙:我收到了 ack=20004

為什麼要四次揮手

用2次揮手斷開其中一邊連線,用另外2次揮手斷開另一邊的連線,最終完成整個連線關閉。

之所以這樣設計是因為有可能某一邊資料還未傳輸完,連線還未關閉

甲:我要斷開連線了 fin seq=10003 ack=20003

乙:我收到了 ack=10004

乙:我要斷開連線了 fin seq= 20003

甲:我收到了 ack=20004

這裡的syn ack fin 都是標識位

seq an 是資料報序列號

syn=1, ack=0, seq=200 的意思是:傳送的為乙個syn請求,傳送端的初始資料報序號為200

syn=1, ack=1, seq=4800, an=201 的意思是:接收端的確認資訊,且接收端的初始資料報序號為4800

tcp協議三次握手 四次揮手

起初,伺服器和客戶端都為closed狀態。在通訊開始前,雙方都得建立各自的傳輸控制塊 tcb 伺服器建立完tcb後遍進入listen狀態,此時準備接收客戶端發來的連線請求。第一次握手 客戶端向服務端傳送連線請求報文段。該報文段的頭部中syn 1,ack 0,seq x。請求傳送後,客戶端便進入syn...

TCP協議三次握手四次揮手

1.什麼是tcp協議 tcp協議是作用在傳輸層的傳輸控制協議 tcp 提供一種面向連線的 可靠的位元組流服務 在乙個 tcp 連線中,僅有兩方進行彼此通訊。廣播和多播不能用於 tcp tcp 使用校驗和,確認和重傳機制來保證可靠傳輸 tcp 給資料分節進行排序,並使用累積確認保證資料的順序不變和非重...

TCP協議三次握手四次揮手

tcp有哪些過程?a.建立連線 b.資料傳輸 c.終止連線 tcp三次握手和四次揮手的過程?syn,ack是什麼?syn 請求建立連線 含有同步序列號的標誌位的資料,tcp建立連線時,將這個 位 置1 ack 針對syn的確認應答 fin是什麼?fin 傳送端完成傳送任務 位 當tcp完成資料傳輸需...