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

為什么TCP需要三次握手而不是兩次?

網絡 網絡管理
由于需要對每片葉子進行編號,因此a向b發送消息之前必須把葉子的初始編號告訴b,又因為b也可以向a發送消息,因此雙方在通信之前必須知道對方葉子的初始編號,這樣才能正確的進行葉子收到后的確認以及對葉子根據編號進行重排。

大家好,我是島主小風哥,今天來聊聊為什么TCP需要3次握手而不是2次。

假設有一條河,河的上下游有兩個人,這兩個人只能借助這條河交流信息:

圖片圖片

岸邊有很多葉子,因此它們把信息寫到岸邊的葉子上:

圖片圖片

并假設上游的葉子會飄向下游,下游的葉子會飄向上游。

圖片圖片

但由于水流的作用,同一個方向葉子先出發的有可能后到(亂序),也有可能沉到水里(丟失)。

也就是說假如a發了四片葉子,每片葉子上寫兩個字,記錄的是“碼農的荒島求生”,a依次把【碼農】【的荒】【島求】【生】放到河里,這四片葉子到達b后可能變成了【島求】【碼農】 【生】 【的荒】(亂序),也有可能丟了一片葉子,變成了【的荒】 【碼農】 【生】(亂序+數據丟失):

圖片圖片

那么在這種情況下該怎么讓b知道a想說的其實是“碼農的荒島求生”呢?

很簡單,只要兩種機制:編號以及確認。

編號針對與亂序問題,確認機制針對的是丟失問題。

a放到河里的任意一片葉子都帶上一個編號,這些編號依次遞增,b收到葉子后根據編號重組起來,這樣即使葉子到達的順序是亂的b也能根據編號恢復信息:

圖片圖片

亂序問題解決了,葉子丟失問題依靠確認機制:b收到每一片葉子后會回復一個收到,并附帶接收葉子的編號+1,也就是期待a發出的下一片葉子的編號:

圖片圖片

這樣a在接收到【3 收到】后就確信b已經收到了【2 的荒】,如果a在一定時間內沒有收到【3 收到】那么就會重新拿起一片葉子再次發送【2 的荒】。

圖片圖片

可以看到利用這種重傳機制確保即使葉子可能沉到水里也能把信息發給b。

有了編號和確認機制,即使在河流這種不可靠的介質中a也可以把信息可靠的傳遞給b。

當然b也可以利用這種機制把消息可靠的發送給a。

由于需要對每片葉子進行編號,因此a向b發送消息之前必須把葉子的初始編號告訴b,又因為b也可以向a發送消息,因此雙方在通信之前必須知道對方葉子的初始編號,這樣才能正確的進行葉子收到后的確認以及對葉子根據編號進行重排。

圖片圖片

于是ab雙方協定,聊天發起方先把編號告訴聊天接收方,聊天接收方收到發起方編號后也把自己的編號告訴發起方。

依然假設a先發起通信,a先發送了一片葉子,寫著“SYN X”,SYN表示這是一片告訴你我的初始編號的葉子(在TCP中SYN是synchronization的簡寫,表示同步,但作用和這里一樣),X表示自己的初始編號。

圖片圖片

根據之前提到的確認機制,b在收到需要對這片葉子進行確認,于是b發送一片葉子:“ACK X+1”,表示“我確認已經接收到了你的葉子,期待接收X+1號葉子”(在TCP中ACK是acknowledge的簡寫,表示確認,作用和這里一樣)。

圖片圖片

不要忘了,b也要把自己的編號告訴a,于是b緊接著又發送了一片葉子“SYN Y”,表示“這是一片告訴你我的初始編號的葉子,我的初始編號是Y”:

圖片圖片

同樣的a收到后也要進行確認,于是a發送一片葉子:“ACK Y+1”,表示“我確認已經接收到了你的葉子,期待接收你Y+1號葉子”。

圖片圖片

就這樣經過最少四片葉子,a和b就能知道對方的初始編號是多少,注意看這里:

圖片圖片

可以看到這兩片葉子都是b發向a的,因此這兩片葉子的信息可以合并在一起,這樣就可以少發送一片葉子:

圖片圖片

可以看到,雙方至少需要發送3片葉子才能知道對方的初始編號,而如果只發送兩片葉子沒辦法保證這一點。

責任編輯:武曉燕 來源: 碼農的荒島求生
相關推薦

2019-05-14 10:09:06

TCP連接握手

2023-09-07 16:46:54

TCP數據傳遞

2021-04-30 13:32:17

TCP三次握手網絡協議

2021-12-02 09:20:33

TCPLinux三次握手

2022-07-25 07:07:35

TCP客戶端服務器

2019-12-12 10:36:43

TCPSYNIP

2021-05-28 09:08:20

TCP連接序列號

2024-07-10 12:00:42

2021-07-26 08:08:56

TCPIP網絡協議

2022-10-10 07:34:36

TCP三次握手區塊鏈

2021-12-13 06:23:14

TCP三次握手網絡

2022-07-05 22:18:08

TCP網絡

2025-05-07 08:25:00

TCPUDP三次握手

2022-07-07 09:00:17

TCP 連接HTTP 協議

2021-09-09 08:47:57

TCP三次握手協議

2023-10-24 15:22:09

TCPUDP

2019-05-05 05:39:23

TCP三次握手網絡協議

2020-03-02 14:41:04

運維架構技術

2015-10-13 09:42:52

TCP網絡協議

2019-06-12 11:26:37

TCP三次握手四次揮手
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品视频在线免费观看 | 成年人视频在线免费观看 | 久久一 | 国产精品久久精品 | 中文在线a在线 | 亚洲图片一区二区三区 | 2018天天干天天操 | 欧美视频二区 | 怡红院成人在线视频 | 亚洲日本欧美日韩高观看 | 午夜一区二区三区 | 日本午夜视频 | 中文字幕1区 | 激情综合五月 | а√中文在线8 | 国产精品色 | www天天操 | 国产精品亚洲第一 | 国产精品视频一二三区 | 久久精品视频在线播放 | 久国产视频| 亚洲成人av在线播放 | 亚洲高清视频在线 | 日韩欧美在线一区 | 成人精品一区二区 | 日韩一级黄色片 | 秋霞在线一区二区 | 欧美国产日韩在线观看 | av色站| 国产伦一区二区三区视频 | 成人一区二区三区在线观看 | 最新日韩精品 | 青青草综合| 狠狠影院 | 亚洲高清在线免费观看 | 亚洲综合在| 成人3d动漫一区二区三区91 | 欧美freesex黑人又粗又大 | 久久精品久久久 | 国产成人精品网站 | 国产精品色婷婷久久58 |