成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

回答了個千贊問題:TCP為什么需要三次握手?

網絡 通信技術
之前我在圖解網絡 PDF 里寫「TCP 為什么需要三次握手?」,給出了三個原因,同時,這個內容也在知乎得到了 1000 多贊。

大家好,我是小林。

之前我在圖解網絡 PDF 里寫「TCP 為什么需要三次握手?」,給出了三個原因:

  • 三次握手才可以阻止歷史連接的初始化(主要原因);
  • 三次握手才可以同步雙方的初始序列號;
  • 三次握手才可以避免資源浪費;

同時,這個內容也在知乎得到了 1000 多贊。

[[439989]]

其中,在講第一個原因的時候,提到「三次握手可以通過上下文判斷當前連接是否是歷史連接,而兩次握手無法判斷」。

因為當時沒有詳細說為什么兩次握手無法判斷歷史連接,導致有很多讀者私信我這個問題。

所以,這次詳細說一下,順便給大家復習下,這個面試被問到發霉的問題。

TCP 兩次握手為什么無法阻止歷史連接?

我之前的圖解網絡 PDF 里寫的是,兩次握手無法判斷歷史連接。

其實這句話,不太準確,因為就像讀者問的那樣,第二次握手的時候,客戶端也可以根據他的序列號和收到的報文中的確認號進行比較。

所以,應該改成「TCP 兩次握手無法阻止歷史連接」。

那為什么 TCP 兩次握手為什么無法阻止歷史連接呢?

我先直接說結論,主要是因為在兩次握手的情況下,「被動發起方」沒有中間狀態給「主動發起方」來阻止歷史連接,導致「被動發起方」可能建立一個歷史連接,造成資源浪費。

你想想,兩次握手的情況下,「被動發起方」在收到 SYN 報文后,就進入 ESTABLISHED 狀態,意味著這時可以給對方發送數據給,但是「主動發」起方此時還沒有進入 ESTABLISHED 狀態,假設這次是歷史連接,主動發起方判斷到此次連接為歷史連接,那么就會回 RST 報文來斷開連接,而「被動發起方」在第一次握手的時候就進入 ESTABLISHED 狀態,所以它可以發送數據的,但是它并不知道這個是歷史連接,它只有在收到 RST 報文后,才會斷開連接。

可以看到,上面這種場景下,「被動發起方」在向「主動發起方」發送數據前,并沒有阻止掉歷史連接,導致「被動發起方」建立了一個歷史連接,又白白發送了數據,妥妥地浪費了「被動發起方」的資源。

因此,要解決這種現象,最好就是在「被動發起方」發送數據前,也就是建立連接之前,要阻止掉歷史連接,這樣就不會造成資源浪費,而要實現這個功能,就需要三次握手。

三次握手阻止歷史連接的過程如下圖,注意圖中的兩個連接的序列號是不一樣的,因此新舊 SYN 報文并不是發生了超時重傳,兩個都是獨立的連接。

客戶端連續發送多次 SYN 建立連接的報文,在網絡擁堵情況下:

  • 一個「舊 SYN 報文」比「最新的 SYN 」 報文早到達了服務端;
  • 那么此時服務端就會回一個 SYN + ACK 報文給客戶端;
  • 客戶端收到后可以根據自身的上下文,判斷這是一個歷史連接(序列號過期),那么客戶端就會發送 RST 報文給服務端,表示中止這一次連接。

可以看到,在三次握手的情況下, 可以在服務端建立連接之前,可以阻止掉了歷史連接,從而保證建立的連接不是歷史連接。

怎么樣,是不是稍微圖解下,就明明白白了!

 

責任編輯:趙寧寧 來源: 小林coding
相關推薦

2023-09-07 16:46:54

TCP數據傳遞

2022-07-25 07:07:35

TCP客戶端服務器

2019-12-12 10:36:43

TCPSYNIP

2024-10-16 08:38:37

TCP編號信息

2021-05-28 09:08:20

TCP連接序列號

2024-07-10 12:00:42

2022-10-10 07:34:36

TCP三次握手區塊鏈

2021-04-30 13:32:17

TCP三次握手網絡協議

2021-09-09 08:47:57

TCP三次握手協議

2022-07-07 09:00:17

TCP 連接HTTP 協議

2019-05-14 10:09:06

TCP連接握手

2023-10-24 15:22:09

TCPUDP

2020-12-08 06:34:16

TCP握手SYN 報文

2015-10-13 09:42:52

TCP網絡協議

2019-06-12 11:26:37

TCP三次握手四次揮手

2024-05-07 08:15:33

TCP四次揮手三次握手

2024-01-12 08:23:11

TCPACK服務器

2021-03-08 18:08:08

TCP Connect 協議

2024-10-09 20:54:16

2018-07-05 14:25:01

TCP握手原理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美国a级毛片免费视频 | 成人午夜视频在线观看 | 在线成人| 亚洲一区二区在线播放 | 亚洲一区 中文字幕 | 99视频久 | 九色在线视频 | 天天天插| 美女天天干 | h视频免费在线观看 | 日本激情一区二区 | 精品国产乱码一区二区三 | 亚洲精品乱码久久久久久蜜桃91 | 国产一级免费视频 | 中文字幕一区二区视频 | 日韩视频精品在线 | 久久久这里只有17精品 | 色综久久 | 国产在线精品一区 | 五月婷婷在线视频 | 亚洲免费在线观看视频 | 国产精品日韩在线 | 国产99久久久国产精品下药 | 久久久成人免费一区二区 | 91精品国产91久久综合桃花 | 亚洲国产一区二区三区四区 | 国产精品一区二区久久久久 | 午夜视频一区二区 | 国产精品99久久久久久宅男 | 国产精品视频网 | 亚洲视频三| 九色91视频 | 四虎在线播放 | 日韩在线观看中文字幕 | 2一3sex性hd| 精品国产免费一区二区三区五区 | 国产一区二区三区网站 | 国产精品一区二区三区久久 | 一区二区三区影院 | 国产精品色av| 久久99国产精一区二区三区 |