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

說說TCP為什么需要三次握手和四次揮手?

網絡 網絡管理
三次握手(Three-way Handshake)其實就是指建立一個TCP連接時,需要客戶端和服務器總共發送3個包,主要作用就是為了確認雙方的接收能力和發送能力是否正常、指定自己的初始化序列號為后面的可靠性傳送做準備。

 [[402116]]

本文轉載自微信公眾號「JS每日一題」,作者灰灰。轉載本文請聯系JS每日一題公眾號。

一、三次握手

三次握手(Three-way Handshake)其實就是指建立一個TCP連接時,需要客戶端和服務器總共發送3個包

主要作用就是為了確認雙方的接收能力和發送能力是否正常、指定自己的初始化序列號為后面的可靠性傳送做準備

過程如下:

  • 第一次握手:客戶端給服務端發一個 SYN 報文,并指明客戶端的初始化序列號 ISN(c),此時客戶端處于 SYN_SENT 狀態
  • 第二次握手:服務器收到客戶端的 SYN 報文之后,會以自己的 SYN 報文作為應答,為了確認客戶端的 SYN,將客戶端的 ISN+1作為ACK的值,此時服務器處于 SYN_RCVD 的狀態
  • 第三次握手:客戶端收到 SYN 報文之后,會發送一個 ACK 報文,值為服務器的ISN+1。此時客戶端處于 ESTABLISHED 狀態。服務器收到 ACK 報文之后,也處于 ESTABLISHED 狀態,此時,雙方已建立起了連接

上述每一次握手的作用如下:

  • 第一次握手:客戶端發送網絡包,服務端收到了 這樣服務端就能得出結論:客戶端的發送能力、服務端的接收能力是正常的。
  • 第二次握手:服務端發包,客戶端收到了 這樣客戶端就能得出結論:服務端的接收、發送能力,客戶端的接收、發送能力是正常的。不過此時服務器并不能確認客戶端的接收能力是否正常
  • 第三次握手:客戶端發包,服務端收到了。這樣服務端就能得出結論:客戶端的接收、發送能力正常,服務器自己的發送、接收能力也正常

通過三次握手,就能確定雙方的接收和發送能力是正常的。之后就可以正常通信了

為什么不是兩次握手?

如果是兩次握手,發送端可以確定自己發送的信息能對方能收到,也能確定對方發的包自己能收到,但接收端只能確定對方發的包自己能收到 無法確定自己發的包對方能收到

并且兩次握手的話, 客戶端有可能因為網絡阻塞等原因會發送多個請求報文,延時到達的請求又會與服務器建立連接,浪費掉許多服務器的資源

二、四次揮手

tcp終止一個連接,需要經過四次揮手

過程如下:

  • 第一次揮手:客戶端發送一個 FIN 報文,報文中會指定一個序列號。此時客戶端處于 FIN_WAIT1 狀態,停止發送數據,等待服務端的確認
  • 第二次揮手:服務端收到 FIN 之后,會發送 ACK 報文,且把客戶端的序列號值 +1 作為 ACK 報文的序列號值,表明已經收到客戶端的報文了,此時服務端處于 CLOSE_WAIT狀態
  • 第三次揮手:如果服務端也想斷開連接了,和客戶端的第一次揮手一樣,發給 FIN 報文,且指定一個序列號。此時服務端處于 LAST_ACK 的狀態
  • 第四次揮手:客戶端收到 FIN 之后,一樣發送一個 ACK 報文作為應答,且把服務端的序列號值 +1 作為自己 ACK 報文的序列號值,此時客戶端處于 TIME_WAIT狀態。需要過一陣子以確保服務端收到自己的 ACK 報文之后才會進入 CLOSED 狀態,服務端收到 ACK 報文之后,就處于關閉連接了,處于 CLOSED 狀態

四次揮手原因

服務端在收到客戶端斷開連接Fin報文后,并不會立即關閉連接,而是先發送一個ACK包先告訴客戶端收到關閉連接的請求,只有當服務器的所有報文發送完畢之后,才發送FIN報文斷開連接,因此需要四次揮手

三、總結

一個完整的三次握手四次揮手如下圖所示:

參考文獻

https://zhuanlan.zhihu.com/p/53374516

https://segmentfault.com/a/1190000020610336

 

責任編輯:武曉燕 來源: JS每日一題
相關推薦

2021-01-29 06:11:08

TCP通信三次握手

2021-05-18 12:27:40

TCP控制協議

2015-10-13 09:42:52

TCP網絡協議

2023-10-24 15:22:09

TCPUDP

2019-06-12 11:26:37

TCP三次握手四次揮手

2024-01-12 08:23:11

TCPACK服務器

2017-09-25 21:27:07

TCP協議數據鏈

2021-07-03 17:47:25

TCP控制協議

2019-02-01 09:38:16

2023-03-07 08:38:23

三次握手四次揮手服務端

2020-06-29 14:50:47

TCP狀態ACK

2023-10-28 09:07:57

TCP面試三次握手

2020-02-17 10:10:43

TCP三次握手四次揮手

2014-09-19 09:46:46

TCPIP

2023-11-01 08:04:08

WiresharkTCP協議

2023-09-07 16:46:54

TCP數據傳遞

2024-05-07 08:15:33

TCP四次揮手三次握手

2021-04-30 13:32:17

TCP三次握手網絡協議

2025-05-20 08:38:03

2015-11-09 09:58:56

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久网站 | 久久99精品久久 | 亚洲视频一区在线观看 | 欧美一级欧美一级在线播放 | 欧美视频 | 欧美在线一区二区三区 | av免费网站在线观看 | 亚洲一区二区三区四区五区午夜 | 日韩不卡一区二区 | 99热精品国产 | 亚洲国产一区二区三区在线观看 | 成年人精品视频 | 国产一级在线 | 牛牛热在线视频 | 91在线精品视频 | 久久av一区 | 国产欧美日韩在线一区 | 日本久久久久久久久 | 亚洲欧美综合精品久久成人 | 精品国产乱码久久久久久久久 | 九九热精| 一区二区在线不卡 | 久久四虎| 国产一区久久 | 成人日b视频 | 日韩成人在线观看 | 中文精品视频 | 国产精品久久久久久久久 | 欧美精品久久久 | 美女精品一区 | 在线播放国产视频 | 国产精品视频区 | 天天操综合网站 | 欧美三区| 国产一级毛片视频 | 久久一二区 | 国产成人综合亚洲欧美94在线 | 国产亚洲成av人在线观看导航 | 99精品久久| 中文字幕亚洲国产 | 国产精品自拍一区 |