TCP是面向 連接的 可靠的 連接
連接指的就是三次握手-> 資料傳輸-> 四次分手

三次握手
如下圖,第一次是客戶端向服務器發送 syn 請求
第二次是服務器 向 客戶端發出回應 syn +ack (ack:acknology)
第三次是客戶端向服務器發出回應ack
打個比喻就像兩個人在打電話
客戶端 : 喂,你好
服務器: 喂,你好,聽得到
客戶端: 我也聽得到
然后完成連接以后,便各自開辟相關的作業空間,進行資料傳輸

socket
socket就是源ip +port 與 目標ip + port對應插上,進而創建了一個絕對唯一的連接

四次分手
首先為什么需要四次分手?
原因就是客戶端和服務器在資料傳輸程序中都為此占用各自的資源,如果一方突然失聯,就會導致另外一方仍然為此占用資源,即使雙方已經沒有資料傳輸
四次分手具體操作如下圖:
客戶端發給服務器 fin
服務器回應客戶端 fin +ack
服務器回應客戶端 fin
客戶端最后回應服務器 ack
以情侶分手做例子
客戶端對服務器說 : 分手吧
服務器回應客戶端 : 嗯?
服務器回應客戶端 : 我早就想分手了
客戶端對服務器說 : 好的

最后補充一個 心跳(keepalive)的概念 ,主要防止一方突然斷線的情況
實際運行狀態


轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/379515.html
標籤:其他
