TCP的那些事兒

2021-09-29 20:16:36 字數 756 閱讀 4518

傳送方(client) 接收方(server)

tcp三次握手是建立連線的過程。

第一次握手:client問server:你在嗎?

第二次握手:server回應client:我在!

第三次握手:client告訴server:東西給你!

為什麼三次握手就夠了?

第一次握手如果成功,server就知道自己可以收到client傳送的東西。

第二次握手如果成功過,client就知道server可以接收自己的東西並且自己可以得到server的回應。

第三次握手就是雙方都確定了狀態後,保證資料準確送達後,真正的交付資料。

tcp四次揮手是斷開連線的過程。

第一次揮手:client問server:我要關閉連線了,你要是有資料還沒發完,你就回個ack=1,我等你發第二次確認關閉。

第二次揮手:server回client:好,我還沒發完,ack=1。

client開始等待…

第三次揮手:server回client:我發完啦,你關閉連線吧。

第四次揮手:client回server:好,我關閉連線啦!

然而client並不相信網路,所以等待乙個時延,希望server能在這個時間內收到最後關閉的回應。

什麼最後還需要等待時延?

因為client怕對方收不到,可以在該時延內重傳ack。

TCP的那些事兒(2)

tcp要保證所有的資料報都到達,就必須要採取重傳機制,注意 接收端給傳送端的ack只能確定最大連續的包,比如,傳送端傳送了1,2,3,4,5個資料報,但是接收端只收到了1,2,所以ack 3,然後收到了4 這時候3還沒有收到 此時的tcp會怎麼辦呢?正如前面所說的,sequence number都是...

TCP和UDP的那些事兒

下面我們將根據這些問題,做一些簡單的解釋 應用 同樣的我們來解剖一下tcp看一下它的首部 可靠性保證 你可能會有這樣的疑問,握手為什麼非得三次,如果說因為tcp是全雙工的,需要雙方先自報家門,兩次完全就夠了,為什麼最後還要再經過客戶端的一次確認,這不是多餘的嗎?這樣的疑問不是沒有道理,我們先來看乙個...

object的那些事兒

昨天和大姐qq。說給我看了,今年找到物件。我就在那裡騙他們。說我找了乙個 人。明年去 以後就沒有多少機會見到他們了。呵呵,大姐就說這樣我不聽話,那樣不聽話,不讓我去,說還借我錢買房子,不能去,去了父母白養這麼大了,我總是騙他們,逗他們。以前還騙他們說我出家。有一段時間,工作不順心,我壓力挺大的。不知...