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

動(dòng)畫(huà):用動(dòng)畫(huà)給女朋友講解 TCP 四次分手過(guò)程

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
上次的用動(dòng)畫(huà)的形式講解了TCP三次握手過(guò)程,很多讀者留言說(shuō)什么時(shí)候用動(dòng)畫(huà)講一講 TCP 四次揮手的過(guò)程,為了應(yīng)大家的要求,今天我們就生動(dòng)有趣的用動(dòng)畫(huà)給大家分享 TCP 四次揮手(分手)過(guò)程。

寫(xiě)在前邊

大家好,我們又見(jiàn)面了,做為一個(gè)業(yè)余的動(dòng)畫(huà)師,上次的用動(dòng)畫(huà)的形式講解 TCP 三次握手過(guò)程在各大平臺(tái)收到了廣大讀者的喜愛(ài),說(shuō)文章有趣、有貨、有內(nèi)容,也受到了很多讀者的關(guān)注。很多讀者留言說(shuō)什么時(shí)候用動(dòng)畫(huà)講一講 TCP 四次揮手的過(guò)程,為了應(yīng)大家的要求,今天我們就生動(dòng)有趣的用動(dòng)畫(huà)給大家分享 TCP 四次揮手(分手)過(guò)程。

[[279936]]

動(dòng)畫(huà):用動(dòng)畫(huà)給面試官解釋 TCP 三次握手過(guò)程

上次的三次握手動(dòng)畫(huà)是給面試官看的,那么今天咱們換種更加有樂(lè)趣的方式,用動(dòng)畫(huà)和你女(男)朋友講解 TCP 四次分手過(guò)程,講解完,考驗(yàn)一下你女(男)朋友和不和你分手呢。什么?首先你先有一個(gè)女(男)朋友,這一點(diǎn)小鹿早就考慮到了各大單身人士。

思維導(dǎo)圖

1. 為何要進(jìn)行 TCP 三次握手/四次分手?

TCP 的三次握手和四次分手和你戀愛(ài)是一模一樣的,從相識(shí)到相戀到分手,然后認(rèn)識(shí)另一個(gè)女孩再不管重復(fù)這個(gè)過(guò)程就是數(shù)據(jù)傳輸在網(wǎng)絡(luò)中不斷建立起三次握手和四次分手過(guò)程。

戀愛(ài)就戀愛(ài)吧,分手就分手吧,握手握來(lái)握去,揮手揮來(lái)?yè)]去不嫌麻煩嗎?

因?yàn)樯掀恼?TCP 三次握手中的為什么要進(jìn)行三次握手部分講解的不怎么詳細(xì),小鹿課下就收集了一些資料,做了一個(gè)總結(jié),在這里補(bǔ)充下。

(1) 為什么要進(jìn)行三次握手?

在謝希仁著《計(jì)算機(jī)網(wǎng)絡(luò)》第四版中講“三次握手”的目的是“為了防止已失效的連接請(qǐng)求報(bào)文段突然又傳送到了服務(wù)端,因而產(chǎn)生錯(cuò)誤”。

舉個(gè)簡(jiǎn)單易懂的例子,你在微信對(duì)一個(gè)女孩表白,這條信息由于網(wǎng)絡(luò)問(wèn)題延遲發(fā)送了。

然后此時(shí)你不耐煩了,去和微信另一個(gè)女孩表白,然后另一個(gè)女孩告訴你同意了,然后你心里很高興,把高興的心情分享給了女孩,女孩知道了你和她在一起很高興,此時(shí)三次握完畢,你戀愛(ài)了。

突然,到了第二天,發(fā)給第一個(gè)女孩的信息才收到,女孩認(rèn)為你要和他表白,此時(shí)你已經(jīng)和另一個(gè)女孩戀愛(ài)了,然后第一個(gè)女孩給你發(fā)微信同意了你的表白,但是你不理睬,那個(gè)女孩還在苦苦等待你給她分享此時(shí)的高興心情。現(xiàn)在我們發(fā)現(xiàn)如果沒(méi)有分享高興的心情給女孩(也就是第三次握手過(guò)程),那么那個(gè)女孩一直等待,白白浪費(fèi)了心思,所謂的千年都等不了一回。

如果你是客戶(hù)端,女孩是服務(wù)端,服務(wù)端收到延遲的報(bào)文,以為你要和它連接,所以會(huì)給你發(fā)送確認(rèn)同意連接,但你一直不搭理它,所以服務(wù)端的資源也就這么白白浪費(fèi)掉了。所以知道為什么要進(jìn)行三次握手了吧。

在《計(jì)算機(jī)網(wǎng)絡(luò)》書(shū)中講“三次握手”的目的是為了解決“網(wǎng)絡(luò)中存在延遲的重復(fù)分組”的問(wèn)題。

(2) 為什么要 TCP 四次分手?

我們知道,TCP協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議,而且TCP是全雙工模式。

對(duì)于初學(xué)者來(lái)說(shuō),定義太枯燥、無(wú)味,其實(shí)意思就是你和你女朋友聊天是面向連接的,只有連接起來(lái)才可以通信的,可靠就是你發(fā)送的信息可以保證送達(dá)到對(duì)方,全雙工意思就是你不僅可以給你女朋友發(fā)消息,而且她也可以給你發(fā)信息。

為什么非要進(jìn)行 TCP 四次分手?我們接著上回說(shuō)到,你現(xiàn)在和第二個(gè)女孩子戀愛(ài)了,突然有一天發(fā)現(xiàn)第一個(gè)女孩子是因?yàn)闆](méi)有收到你的表白而錯(cuò)過(guò)了在一起的時(shí)機(jī),那么你要和第二個(gè)女孩子分手,那過(guò)程對(duì)應(yīng)在 TCP 四次分手是怎么樣子的?

你要給第二個(gè)女孩子微信發(fā)消息,我們分手吧,此時(shí)第二個(gè)女孩子收到消息知道了,非常傷心,就屏蔽了你。但是,此時(shí)你還沒(méi)有屏蔽她,她完全可以給你繼續(xù)發(fā)消息,她給你發(fā)消息說(shuō),好吧,此時(shí)你收到了確認(rèn)消息,此時(shí)是第二次分手過(guò)程。那么女孩又給你發(fā)送消息,渣男,永遠(yuǎn)不要來(lái)找我。此時(shí)你又接收到消息,看到消息之后發(fā)了一個(gè)拜拜,然后你就直接屏蔽拉黑了對(duì)方,此時(shí)女孩微信顯示你刪除了對(duì)方,然后就把你也拉黑刪除了。那么四次分手到此為止,恭喜你,成功獲得下一個(gè)女孩子。

上述過(guò)程就闡述了為什么要進(jìn)行 TCP 四次分手,為了能夠讓對(duì)方屏蔽你直至最后雙方互相刪除掉,然后你又可以和另一個(gè)女孩三次握手了。

2. TCP 四次分手過(guò)程

初始化狀態(tài):客戶(hù)端和服務(wù)端都在連接狀態(tài),接下來(lái)開(kāi)始進(jìn)行四次分手?jǐn)嚅_(kāi)連接操作。

第一次分手:第一次分手無(wú)論是客戶(hù)端還是服務(wù)端都可以發(fā)起,因?yàn)?TCP 是全雙工的。

假如客戶(hù)端發(fā)送的數(shù)據(jù)已經(jīng)發(fā)送完畢,發(fā)送FIN = 1 告訴服務(wù)端,客戶(hù)端所有數(shù)據(jù)已經(jīng)全發(fā)完了,服務(wù)端你可以關(guān)閉接收了,但是如果你們服務(wù)端有數(shù)據(jù)要發(fā)給客戶(hù)端,客戶(hù)端照樣可以接收的。此時(shí)客戶(hù)端處于FIN = 1等待服務(wù)端確認(rèn)釋放連接狀態(tài)。

第二次分手:服務(wù)端接收到客戶(hù)端的釋放請(qǐng)求連接之后,知道客戶(hù)端沒(méi)有數(shù)據(jù)要發(fā)給自己了,然后服務(wù)端發(fā)送ACK = 1告訴客戶(hù)端受到你發(fā)給我的信息,此時(shí)服務(wù)端處于 CLOSE_WAIT 等待關(guān)閉狀態(tài)。

第三次分手:此時(shí)服務(wù)端向客戶(hù)端把所有的數(shù)據(jù)發(fā)送完了,然后發(fā)送一個(gè)FIN = 1,用于告訴客戶(hù)端,服務(wù)端的所有數(shù)據(jù)發(fā)送完畢,客戶(hù)端你也可以關(guān)閉接受數(shù)據(jù)連接了。此時(shí)服務(wù)端狀態(tài)處于LAT_ACK狀態(tài),來(lái)等待確認(rèn)客戶(hù)端是否收到了自己的請(qǐng)求。

第四次分手:此時(shí)如果客戶(hù)端收到了服務(wù)端發(fā)送完的信息之后,就發(fā)送ACK = 1,告訴服務(wù)端,客戶(hù)端已經(jīng)收到了你的信息。但是我們發(fā)現(xiàn)上圖中有一個(gè) 2 MSL 的延遲等待。

3. 為什要有 2 MSL 等待延遲?

對(duì)應(yīng)這樣一種情況,最后客戶(hù)端發(fā)送的ACK = 1給服務(wù)端的過(guò)程中丟失了,服務(wù)端沒(méi)收到,服務(wù)端怎么認(rèn)為的?我已經(jīng)發(fā)送完數(shù)據(jù)了,怎么客戶(hù)端沒(méi)回應(yīng)我?是不是中途丟失了?然后服務(wù)端再次發(fā)起斷開(kāi)連接的請(qǐng)求,一個(gè)來(lái)回就是2MSL,這里的兩個(gè)來(lái)回由那一個(gè)來(lái)回組成的?

客戶(hù)端給服務(wù)端發(fā)送的ACK = 1丟失,服務(wù)端等待 1MSL沒(méi)收到,然后重新發(fā)送消息需要1MSL。如果再次接收到服務(wù)端的消息,則重啟2MSL計(jì)時(shí)器,發(fā)送確認(rèn)請(qǐng)求??蛻?hù)端只需等待2MSL,如果沒(méi)有再次收到服務(wù)端的消息,就說(shuō)明服務(wù)端已經(jīng)接收到自己確認(rèn)消息;此時(shí)雙方都關(guān)閉的連接,TCP 四次分手完畢。

4. 如果雙方建立連接,一方出問(wèn)題怎么辦?

如果雙方建立連接,一方出問(wèn)題怎么辦?為了防止出現(xiàn)上述戀愛(ài)故事中千年等一回的情況,已經(jīng)建立連接,但是服務(wù)端一直等待接收,發(fā)送端出現(xiàn)問(wèn)題一直不能發(fā)送。

所以設(shè)計(jì)一個(gè)?;畹挠?jì)時(shí)器,如果一方出現(xiàn)問(wèn)題,另一方過(guò)了這個(gè)計(jì)時(shí)器的時(shí)間,就發(fā)送試探報(bào)文,以后每隔 75 秒發(fā)送一次。若一連發(fā)送10個(gè)探測(cè)報(bào)文仍然沒(méi)反應(yīng),服務(wù)器就認(rèn)為客戶(hù)端出了故障,接著就關(guān)閉連接。

小結(jié)

今天用動(dòng)畫(huà)的形式給你女(男)朋友講了 TCP 四次分手的過(guò)程,文章的內(nèi)容以及展現(xiàn)形式是最基礎(chǔ)的內(nèi)容。

最后小鹿為大家整理的三次握手和四次分手整張圖,如下:

盡然文章看完了,再看點(diǎn)一下吧,最后希望你和你的女朋友永遠(yuǎn)三次握手,永不四次分手。

責(zé)任編輯:趙寧寧 來(lái)源: 小鹿動(dòng)畫(huà)學(xué)編程分手
相關(guān)推薦

2022-07-08 10:04:57

客戶(hù)端ACKFIN

2020-12-14 07:08:37

MSL網(wǎng)絡(luò)Linux

2021-10-21 08:31:31

Spring循環(huán)依賴(lài)面試

2024-07-11 10:55:27

2017-09-25 21:27:07

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

2023-12-06 13:37:00

TCP網(wǎng)絡(luò)通信

2019-10-25 09:15:50

TCP面試端口

2019-10-16 22:50:23

TCP三次握手四次揮手

2023-10-24 15:22:09

TCPUDP

2021-10-14 20:33:16

TCP連接關(guān)閉

2021-03-11 16:45:29

TCP程序C語(yǔ)言

2015-10-13 09:42:52

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

2019-06-12 11:26:37

TCP三次握手四次揮手

2019-07-16 11:06:09

TCP四次揮手半關(guān)閉

2024-01-12 08:23:11

TCPACK服務(wù)器

2020-03-02 14:41:04

運(yùn)維架構(gòu)技術(shù)

2021-07-03 17:47:25

TCP控制協(xié)議

2021-05-19 11:02:44

PythonTurtle參數(shù)

2021-01-29 06:11:08

TCP通信三次握手

2019-02-01 09:38:16

點(diǎn)贊
收藏

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