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

面試突擊:為什么 TCP 需要三次握手?

網(wǎng)絡(luò) 通信技術(shù)
TCP 之所以需要 3 次握手,是因?yàn)?TCP 通訊雙方都是全雙工的,所以要經(jīng)過 3 次交互才能確認(rèn)雙方的發(fā)送能力和接收能力,并且 TCP 握手必須是 3 次,如果是 2 次握手,不能證明服務(wù)器端的發(fā)送能力和客戶端的接收能力;也不能是 4 次握手,因?yàn)?3 次已經(jīng)能證明的事情,再交互握手 1 次完全沒有必要。

TCP 三次握手是一道經(jīng)典的面試題,它是指 TCP 在傳遞數(shù)據(jù)之前,需要進(jìn)行 3 次交互才能正式建立起連接,并進(jìn)行數(shù)據(jù)傳遞。TCP 之所以需要 3 次握手是因?yàn)?TCP 雙方都是全雙工的。所謂全雙工指的是,TCP 任何一端既是發(fā)送數(shù)據(jù)方,又是接收數(shù)據(jù)方,因此這就要求 TCP 通訊雙方既要保證自己的發(fā)送能力,又要保證自己的接收能力才行。這就好像打電話時(shí),通訊雙方都要保證自己能話筒(傳遞聲音)和耳機(jī)(接收聲音)都是正常的才行,這樣才能進(jìn)行有效的交流,通常打電話時(shí),都是這樣開頭的:

  • 我:喂,能聽到我說話嗎?
  • 對(duì)方:能聽到你說話,你能聽到我說話嗎?
  • 我:能聽到你說話,那我們就來聊正事吧。

TCP 三次握手也是相同的道理,3 次握手證明的能力詳情如下:

圖片

TCP 三次握手流程

TCP 三次握手流程如下:

  • 客戶端發(fā)送 SYN 給服務(wù)器端,表示希望建立連接;
  • 服務(wù)器端接收到消息之后,回應(yīng)一個(gè) SYN 和 ACK(確認(rèn)應(yīng)答)給客戶端;
  • 客戶端收到服務(wù)器端的 SYN 報(bào)文之后,回應(yīng)一個(gè) ACK 報(bào)文。

具體執(zhí)行流程如下圖所示:

圖片

總結(jié)

TCP 之所以需要 3 次握手,是因?yàn)?TCP 通訊雙方都是全雙工的,所以要經(jīng)過 3 次交互才能確認(rèn)雙方的發(fā)送能力和接收能力,并且 TCP 握手必須是 3 次,如果是 2 次握手,不能證明服務(wù)器端的發(fā)送能力和客戶端的接收能力;也不能是 4 次握手,因?yàn)?3 次已經(jīng)能證明的事情,再交互握手 1 次完全沒有必要。

參考 & 鳴謝

《碼出高效:Java開發(fā)手冊(cè)》

《Offer 來了》

責(zé)任編輯:武曉燕 來源: Java面試真題解析
相關(guān)推薦

2023-09-07 16:46:54

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

2019-12-12 10:36:43

TCPSYNIP

2024-10-16 08:38:37

TCP編號(hào)信息

2021-05-28 09:08:20

TCP連接序列號(hào)

2024-07-10 12:00:42

2021-12-13 06:23:14

TCP三次握手網(wǎng)絡(luò)

2021-04-30 13:32:17

TCP三次握手網(wǎng)絡(luò)協(xié)議

2021-09-09 08:47:57

TCP三次握手協(xié)議

2022-07-07 09:00:17

TCP 連接HTTP 協(xié)議

2024-05-07 08:15:33

TCP四次揮手三次握手

2019-05-14 10:09:06

TCP連接握手

2023-10-24 15:22:09

TCPUDP

2023-10-28 09:07:57

TCP面試三次握手

2022-10-10 07:34:36

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

2020-12-08 06:34:16

TCP握手SYN 報(bào)文

2022-07-27 07:36:01

TCP可靠性

2024-01-12 08:23:11

TCPACK服務(wù)器

2015-10-13 09:42:52

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

2019-06-12 11:26:37

TCP三次握手四次揮手

2021-03-08 18:08:08

TCP Connect 協(xié)議
點(diǎn)贊
收藏

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