自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你需要知道的 TCP 三次握手

開發(fā) 前端
如果要在客戶端和服務端創(chuàng)建 TCP 連接,我們需要在開始的時候發(fā)送三個請求確認雙方的通信能力正常,這三次連接就被稱為 TCP 的三次握手。

TCP,全稱 Transmission Control Protocal。從名字可以知道這是一個用于 控制傳輸 的位于傳輸層的協(xié)議。

TCP 位于 TCP/IP 和 OSI 模型的傳輸層。我們最常使用的 HTTP 協(xié)議,底層通常使用的就是 TCP 協(xié)議。

如果要在客戶端和服務端創(chuàng)建 TCP 連接,我們需要在開始的時候發(fā)送三個請求確認雙方的通信能力正常,這三次連接就被稱為 TCP 的三次握手。

TCP 的三次握手

下圖為 TCP 頭部的結(jié)構(gòu),我們的 TCP 三次握手主要用到其中的標黃的部分。

你需要知道的 TCP 三次握手

下面開始講解這三次握手。

第一次握手

客戶端給服務端發(fā)送一個 TCP 報文。在 TCP 頭部中:

  1. 將 SYN 標志位設(shè)置為 1。
  2. 然后給 seq 賦予一個隨機數(shù)(假設(shè)這個隨機數(shù)是 x)。

所謂標志位,其實就是一個比特的數(shù)據(jù),設(shè)置為 1 ,其實就類似編程中將一個布爾值設(shè)置為 true。

SYN 代表同步(sync)的意思,seq 是序列號(Sequence number)的意思,是一個可以裝載數(shù)值的地方,我們給它設(shè)置為隨機數(shù),是用來做憑證(token)的,稍后服務端會使用它。

第二次握手

服務端收到 SYN,知悉客戶端希望建立 TCP 連接,并拿到了一個 seq 隨機數(shù)。

服務端于是向客戶端發(fā)送 TCP 報文,TCP 頭中:

  1. 將 ACK 標志位設(shè)置為 1,表示已知悉(acknowledge)客戶端的連接請求。
  2. ack 的值設(shè)置為客戶端傳過來的 seq 值 + 1(即 x+1)。
  3. 將 SYN 標志位設(shè)置為 1,表示服務端也要連接。
  4. seq 的值設(shè)置一個隨機數(shù)(假設(shè)隨機數(shù)為 y)。

服務端通過 ACK 和 ack 來告知客戶端已知悉連接請求,并發(fā)送自己的 SYN 和 seq 來請求和客戶端的連接。

第三次握手

客戶端收到 TCP 請求,首先驗證 ACK 是否為 1, ack 是否為 x+1。

如果是,說明服務端的這個發(fā)送是對應第一次握手的返回??蛻舳藭侔l(fā)送一個 TCP 請求:

  1. ACK 設(shè)置為 1。
  2. ack 設(shè)置為服務端 ack 的值 + 1(即 y + 1)。

三次握手后,TCP 連接就建立了。

總結(jié)

三次握手,簡單來說,就是這樣的:

  1. 客戶端 -> 服務端:SYN=1, seq=x (x為隨機數(shù))。
  2. 服務端 -> 客戶端:ACK=1, ack=x+1, SYN=1, seq=y (y為隨機數(shù))。
  3. 客戶端 -> 服務端:ACK=1, ack=y+1。

你需要知道的 TCP 三次握手

責任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2018-10-15 08:06:33

TCP握手原理

2023-09-07 16:46:54

TCP數(shù)據(jù)傳遞

2022-07-25 07:07:35

TCP客戶端服務器

2019-12-12 10:36:43

TCPSYNIP

2018-07-05 14:25:01

TCP握手原理

2022-08-05 11:03:59

TCP 四次揮手三次握手

2019-02-01 09:38:16

2020-12-08 06:34:16

TCP握手SYN 報文

2024-10-16 08:38:37

TCP編號信息

2015-10-13 09:42:52

TCP網(wǎng)絡協(xié)議

2024-01-12 08:23:11

TCPACK服務器

2023-10-24 15:22:09

TCPUDP

2021-05-28 09:08:20

TCP連接序列號

2024-10-09 20:54:16

2022-10-10 07:34:36

TCP三次握手區(qū)塊鏈

2021-01-29 06:11:08

TCP通信三次握手

2021-05-18 12:27:40

TCP控制協(xié)議

2019-06-12 11:26:37

TCP三次握手四次揮手

2024-07-10 12:00:42

2023-10-17 15:44:19

TCP四次揮手
點贊
收藏

51CTO技術(shù)棧公眾號