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

碼仔漫畫 | TCP的三次握手

網(wǎng)絡(luò) 通信技術(shù)
如果不是歷史連接,則第三次發(fā)送的報(bào)文是 ACK 報(bào)文,通信雙方就會(huì)成功建立連接;所以, TCP 使用三次握手建立連接的最主要原因是防止歷史連接初始化了連接。

[[356210]]

本文轉(zhuǎn)載自微信公眾號「碼個(gè)蛋」,作者陳宇明。轉(zhuǎn)載本文請聯(lián)系碼個(gè)蛋公眾號。  

1、三次握手才可以阻止重復(fù)歷史連接的初始化(主要原因)

2、三次握手才可以同步雙方的初始序列號

3、三次握手才可以避免資源浪費(fèi)

如圖:

客戶端連續(xù)發(fā)送多次 SYN 建立連接的報(bào)文,在網(wǎng)絡(luò)擁堵等情況下:

一個(gè)「舊 SYN 報(bào)文」比「最新的 SYN 」 報(bào)文早到達(dá)了服務(wù)端;

那么此時(shí)服務(wù)端就會(huì)回一個(gè) SYN + ACK 報(bào)文給客戶端;

客戶端收到后可以根據(jù)自身的上下文,判斷這是一個(gè)歷史連接(序列號過期或超時(shí)),那么客戶端就會(huì)發(fā)送 RST 報(bào)文給服務(wù)端,表示中止這一次連接。

如果是兩次握手連接,就不能判斷當(dāng)前連接是否是歷史連接,三次握手則可以在客戶端(發(fā)送方)準(zhǔn)備發(fā)送第三次報(bào)文時(shí),客戶端因有足夠的上下文來判斷當(dāng)前連接是否是歷史連接:

如果是歷史連接(序列號過期或超時(shí)),則第三次握手發(fā)送的報(bào)文是 RST 報(bào)文,以此中止歷史連接;

如果不是歷史連接,則第三次發(fā)送的報(bào)文是 ACK 報(bào)文,通信雙方就會(huì)成功建立連接;

所以, TCP 使用三次握手建立連接的最主要原因是防止歷史連接初始化了連接。

TCP 協(xié)議的通信雙方, 都必須維護(hù)一個(gè)「序列號」, 序列號是可靠傳輸?shù)囊粋€(gè)關(guān)鍵因素,它的作用:

接收方可以去除重復(fù)的數(shù)據(jù);

接收方可以根據(jù)數(shù)據(jù)包的序列號按序接收;

可以標(biāo)識(shí)發(fā)送出去的數(shù)據(jù)包中, 哪些是已經(jīng)被對方收到的;

可見,序列號在 TCP 連接中占據(jù)著非常重要的作用,所以當(dāng)客戶端發(fā)送攜帶「初始序列號」的 SYN 報(bào)文的時(shí)候,需要服務(wù)端回一個(gè) ACK 應(yīng)答報(bào)文,表示客戶端的 SYN 報(bào)文已被服務(wù)端成功接收,那當(dāng)服務(wù)端發(fā)送「初始序列號」給客戶端的時(shí)候,依然也要得到客戶端的應(yīng)答回應(yīng),這樣一來一回,才能確保雙方的初始序列號能被可靠的同步。

在給你補(bǔ)充一點(diǎn):

如果只有「兩次握手」,當(dāng)客戶端的 SYN 請求連接在網(wǎng)絡(luò)中阻塞,客戶端沒有接收到 ACK 報(bào)文,就會(huì)重新發(fā)送 SYN ,由于沒有第三次握手,服務(wù)器不清楚客戶端是否收到了自己發(fā)送的建立連接的 ACK 確認(rèn)信號,所以每收到一個(gè) SYN 就只能先主動(dòng)建立一個(gè)連接,這會(huì)造成什么情況呢?

如果客戶端的 SYN 阻塞了,重復(fù)發(fā)送多次 SYN 報(bào)文,那么服務(wù)器在收到請求后就會(huì)建立多個(gè)冗余的無效鏈接,造成不必要的資源浪費(fèi)。

 

責(zé)任編輯:武曉燕 來源: 碼個(gè)蛋
相關(guān)推薦

2023-09-07 16:46:54

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

2015-10-13 09:42:52

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

2024-01-12 08:23:11

TCPACK服務(wù)器

2023-10-24 15:22:09

TCPUDP

2024-10-09 20:54:16

2022-10-10 07:34:36

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

2022-07-07 09:00:17

TCP 連接HTTP 協(xié)議

2021-01-29 06:11:08

TCP通信三次握手

2021-05-18 12:27:40

TCP控制協(xié)議

2019-06-12 11:26:37

TCP三次握手四次揮手

2021-03-08 18:08:08

TCP Connect 協(xié)議

2022-07-25 07:07:35

TCP客戶端服務(wù)器

2019-12-12 10:36:43

TCPSYNIP

2020-08-27 07:41:28

TCP協(xié)議數(shù)據(jù)

2023-03-06 15:43:56

2023-09-02 21:57:52

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

2018-07-05 14:25:01

TCP握手原理

2018-10-15 08:06:33

TCP握手原理

2020-02-17 10:10:43

TCP三次握手四次揮手

2017-09-25 21:27:07

TCP協(xié)議數(shù)據(jù)鏈
點(diǎn)贊
收藏

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