tcp 提供面向有連線的通訊傳輸。面向有連線是指在資料通訊開始之前先做好兩端之間的準備工作。
所謂三次握手是指建立乙個 tcp 連線時需要客戶端和伺服器端總共傳送三個包以確認連線的建立。在socket程式設計中,這一過程由客戶端執行connect來觸發。
下面來看看三次握手的流程圖:
下面來看看四次揮手的流程圖:
上面是一方主動關閉,另一方被動關閉的情況,實際中還會出現同時發起主動關閉的情況
具體流程如下圖:
在使用視窗控制中, 出現丟包一般分為兩種情況:
確認應答未能返回的情況。在這種情況下,資料已經到達對端,是不需要再進行重發的,如下圖:
某個報文段丟失的情況。接收主機如果收到乙個自己應該接收的序列號以外的資料時,會針對當前為止收到資料返回確認應答。如下圖所示,當某一報文段丟失後,傳送端會一直收到序號為1001的確認應答,因此,在視窗比較大,又出現報文段丟失的情況下,同乙個序列號的確認應答將會被重複不斷地返回。而傳送端主機如果連續3次收到同乙個確認應答,就會將其對應的資料進行重發。這種機制比之前提到的超時管理更加高效,因此也被稱為高速重發控制。
TCP三次握手四次揮手過程詳解
在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線,如圖1所示。1 第一次握手 建立連線時,客戶端a傳送syn包 syn j 到伺服器b,並進入syn send狀態,等待伺服器b確認。2 第二次握手 伺服器b收到syn包,必須確認客戶a的syn ack j 1 同時自己也傳...
TCP 三次握手 四次握手
http常見狀態碼 200 ok 伺服器成功處理了請求 301 302 moved permanently 重定向 response中應該包含乙個location url,說明資源現在所處的位置 304 not modified 未修改 客戶的快取資源是最新的,要客戶端使用快取 404 not fo...
TCP三次握手四次揮手過程
tcp三次握手四次揮手過程 三次握手 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線 第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認。第二次握手 伺服器收到syn包,必須確認客戶的syn ack j 1 同時...