TCP UDP區別 心跳包機制

2021-09-20 01:12:13 字數 1072 閱讀 6654

tcp

udp傳送

安全送達

只管傳送

接收與建立連線

是(三次握手)

否(有資料報,無需連線)

資料大小

無限制每個資料報64k

可靠性可靠

不可靠速度

慢(三次握手才能完成連線)

快(無需連線)

應用流**

qq 什麼是三次握手?

握手次數

具體情況

1建立連線時,客戶端傳送同步序列編號到伺服器,並進入傳送狀態,等待伺服器確認

2伺服器收到同步序列編號,確認並同時自己也傳送乙個同步序列編號+確認標識,此時伺服器進入接收狀態

3客戶端收到伺服器傳送的包,並向伺服器傳送確認標識,隨後連線成功

注意:是在連線成功後進行資料傳輸

什麼是四次揮手?

揮手次數

具體情況

1客戶端向伺服器傳送乙個帶有結束標記的報文

2伺服器收到報文後,向客戶端傳送乙個確認序號,同時通知自己相應的應用程式:對方要求關閉連線

3伺服器向客戶端傳送乙個帶有結束標記的報文

4客戶端收到報文後,向伺服器傳送乙個確認序號,連線關閉

心跳機制

心跳機制是定時傳送乙個自定義的結構體(心跳包),讓對方知道自己還活著,以確保連線的有效性的機制。(看下圖)

心跳檢測步驟:1.客戶端每隔乙個時間間隔發生乙個探測包給伺服器

2.客戶端發包時啟動乙個超時定時器

3.伺服器端接收到檢測包,應該回應乙個包

4.如果客戶機收到伺服器的應答包,則說明伺服器正常,刪除超時定時器

5.如果客戶端的超時定時器超時,依然沒有收到應答包,則說明伺服器掛了

心跳包的傳送,通常有兩種技術

心跳包機制

心跳包機制 跳包之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so kee...

心跳包機制

之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so keepalive。系...

心跳包機制

心跳包之所以叫心跳包是因為 它像心跳一樣每隔固定時間發一次,以此來告訴伺服器,這個客戶端還活著。事實上這是為了保持長連線,至於這個包的內容,是沒有什麼特別規定的,不過一般都是很小的包,或者只包含包頭的乙個空包。在tcp的機制裡面,本身是存在有心跳包的機制的,也就是tcp的選項 so keepaliv...