chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用戀愛(ài)的方式解釋TCP的三次握手和四次揮手

機(jī)智云 ? 2022-08-28 16:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

今天的分享,是關(guān)于前兩天讀到的心得,TCP建立連接時(shí)三次握手,斷開(kāi)時(shí)為何4次握手的自我理解:

戀愛(ài)時(shí)

連接時(shí)客戶(hù)端說(shuō):SYN(約嗎?)

服務(wù)器說(shuō):SYNACK(約啊,一起)

接著客戶(hù)端說(shuō):ACK(好的)

熱戀時(shí)

傳輸了n個(gè)字節(jié)的數(shù)據(jù)之后,開(kāi)始分手流程

分手時(shí)

客戶(hù)端說(shuō):FIN(分手了啦!)

接著服務(wù)器說(shuō):ACK(分就分啦?。?/p>

服務(wù)器接著又說(shuō):FIN(記住是我先分的)

客戶(hù)端說(shuō):ACK(OK!)

現(xiàn)在來(lái)說(shuō)明為何分手要4次

因?yàn)檫B接時(shí),調(diào)用socket的connect函數(shù)發(fā)送SYN包,而服務(wù)器端只是accept一下,就一次發(fā)送了SYN和ACK標(biāo)志位,而到了斷開(kāi)連接時(shí)大家都要調(diào)用各自的close函數(shù)結(jié)束這段socket(騷)戀情,所以?xún)纱蝐lose分別觸發(fā)了兩次FIN包,導(dǎo)致沒(méi)有和ACK合并為一個(gè)包,所以握手3次,分手要4次。

下面來(lái)正經(jīng)的,TCP/IP協(xié)議三次握手與四次握手流程解析。

TCP報(bào)文格式

TCP/IP協(xié)議的詳細(xì)信息參看《TCP/IP協(xié)議詳解》三卷本。下面是TCP報(bào)文格式圖:

dc2d4460-256a-11ed-9ade-dac502259ad0.png

上圖中有幾個(gè)字段需要重點(diǎn)介紹下:
(1)序號(hào):Seq序號(hào),占32位,用來(lái)標(biāo)識(shí)從TCP源端向目的端發(fā)送的字節(jié)流,發(fā)起方發(fā)送數(shù)據(jù)時(shí)對(duì)此進(jìn)行標(biāo)記。
(2)確認(rèn)序號(hào):Ack序號(hào),占32位,只有ACK標(biāo)志位為1時(shí),確認(rèn)序號(hào)字段才有效,Ack=Seq+1。
(3)標(biāo)志位:共6個(gè),即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下:

URG:緊急指針(urgent pointer)有效。

ACK:確認(rèn)序號(hào)有效。

PSH:接收方應(yīng)該盡快將這個(gè)報(bào)文交給應(yīng)用層。

RST:重置連接。

SYN:發(fā)起一個(gè)新連接。

FIN:釋放一個(gè)連接。


需要注意的是:

不要將確認(rèn)序號(hào)Ack與標(biāo)志位中的ACK搞混了。

確認(rèn)方Ack=發(fā)起方Req+1,兩端配對(duì)。

三次握手

所謂三次握手(Three-Way Handshake)即建立TCP連接,就是指建立一個(gè)TCP連接時(shí),需要客戶(hù)端和服務(wù)端總共發(fā)送3個(gè)包以確認(rèn)連接的建立。在socket編程中,這一過(guò)程由客戶(hù)端執(zhí)行connect來(lái)觸發(fā),整個(gè)流程如下圖所示:

dc3fe052-256a-11ed-9ade-dac502259ad0.jpg

(1)第一次握手:Client將標(biāo)志位SYN置為1,隨機(jī)產(chǎn)生一個(gè)值seq=J,并將該數(shù)據(jù)包發(fā)送給Server,Client進(jìn)入SYN_SENT狀態(tài),等待Server確認(rèn)。
(2)第二次握手:Server收到數(shù)據(jù)包后由標(biāo)志位SYN=1知道Client請(qǐng)求建立連接,Server將標(biāo)志位SYN和ACK都置為1,ack=J+1,隨機(jī)產(chǎn)生一個(gè)值seq=K,并將該數(shù)據(jù)包發(fā)送給Client以確認(rèn)連接請(qǐng)求,Server進(jìn)入SYN_RCVD狀態(tài)。
(3)第三次握手:Client收到確認(rèn)后,檢查ack是否為J+1,ACK是否為1,如果正確則將標(biāo)志位ACK置為1,ack=K+1,并將該數(shù)據(jù)包發(fā)送給Server,Server檢查ack是否為K+1,ACK是否為1,如果正確則連接建立成功,Client和Server進(jìn)入ESTABLISHED狀態(tài),完成三次握手,隨后Client與Server之間可以開(kāi)始傳輸數(shù)據(jù)了。

四次揮手

三次握手耳熟能詳,四次揮手估計(jì)就dc529008-256a-11ed-9ade-dac502259ad0.gif,所謂四次揮手(Four-Way Wavehand)即終止TCP連接,就是指斷開(kāi)一個(gè)TCP連接時(shí),需要客戶(hù)端和服務(wù)端總共發(fā)送4個(gè)包以確認(rèn)連接的斷開(kāi)。在socket編程中,這一過(guò)程由客戶(hù)端或服務(wù)端任一方執(zhí)行close來(lái)觸發(fā),整個(gè)流程如下圖所示:

dc71e73c-256a-11ed-9ade-dac502259ad0.jpg

由于TCP連接時(shí)全雙工的,因此,每個(gè)方向都必須要單獨(dú)進(jìn)行關(guān)閉,這一原則是當(dāng)一方完成數(shù)據(jù)發(fā)送任務(wù)后,發(fā)送一個(gè)FIN來(lái)終止這一方向的連接,收到一個(gè)FIN只是意味著這一方向上沒(méi)有數(shù)據(jù)流動(dòng)了,即不會(huì)再收到數(shù)據(jù)了,但是在這個(gè)TCP連接上仍然能夠發(fā)送數(shù)據(jù),直到這一方向也發(fā)送了FIN。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方則執(zhí)行被動(dòng)關(guān)閉,上圖描述的即是如此。


(1)第一次揮手:Client發(fā)送一個(gè)FIN,用來(lái)關(guān)閉Client到Server的數(shù)據(jù)傳送,Client進(jìn)入FIN_WAIT_1狀態(tài)。
(2)第二次揮手:Server收到FIN后,發(fā)送一個(gè)ACK給Client,確認(rèn)序號(hào)為收到序號(hào)+1(與SYN相同,一個(gè)FIN占用一個(gè)序號(hào)),Server進(jìn)入CLOSE_WAIT狀態(tài)。
(3)第三次揮手:Server發(fā)送一個(gè)FIN,用來(lái)關(guān)閉Server到Client的數(shù)據(jù)傳送,Server進(jìn)入LAST_ACK狀態(tài)。
(4)第四次揮手:Client收到FIN后,Client進(jìn)入TIME_WAIT狀態(tài),接著發(fā)送一個(gè)ACK給Server,確認(rèn)序號(hào)為收到序號(hào)+1,Server進(jìn)入CLOSED狀態(tài),完成四次揮手。


上面是一方主動(dòng)關(guān)閉,另一方被動(dòng)關(guān)閉的情況,實(shí)際中還會(huì)出現(xiàn)同時(shí)發(fā)起主動(dòng)關(guān)閉的情況,具體流程如下圖:

dcd001b4-256a-11ed-9ade-dac502259ad0.png

流程和狀態(tài)在上圖中已經(jīng)很明了了,在此不再贅述,可以參考前面的四次揮手解析步驟。

思考?

關(guān)于三次握手與四次揮手通常都會(huì)有典型的面試題,在此提出供有需求的XDJM們參考:

(1)三次握手是什么或者流程?四次握手呢?答案前面分析就是。
(2)為什么建立連接是三次握手,而關(guān)閉連接卻是四次揮手呢?

這是因?yàn)榉?wù)端在LISTEN狀態(tài)下,收到建立連接請(qǐng)求的SYN報(bào)文后,把ACK和SYN放在一個(gè)報(bào)文里發(fā)送給客戶(hù)端。

而關(guān)閉連接時(shí),當(dāng)收到對(duì)方的FIN報(bào)文時(shí),僅僅表示對(duì)方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù),己方也未必全部數(shù)據(jù)都發(fā)送給對(duì)方了,所以己方可以立即close,也可以發(fā)送一些數(shù)據(jù)給對(duì)方后,再發(fā)送FIN報(bào)文給對(duì)方來(lái)表示同意現(xiàn)在關(guān)閉連接,因此,己方ACK和FIN一般都會(huì)分開(kāi)發(fā)送。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1423

    瀏覽量

    83409
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TCP三次握手四次揮手的詳細(xì)過(guò)程

    TCP 三次握手四次揮手,大概是網(wǎng)絡(luò)領(lǐng)域被問(wèn)爛了的面試題。但真正能把狀態(tài)變遷、序列號(hào)變化、抓包細(xì)節(jié)講清楚的人并不多。很多人背了八股文,一到
    的頭像 發(fā)表于 02-25 10:38 ?130次閱讀

    兆芯助力上海市政協(xié)十四屆四次會(huì)議順利舉辦

    2月2日至5日,中國(guó)人民政治協(xié)商會(huì)議上海市第十四屆委員會(huì)第四次會(huì)議順利召開(kāi)。來(lái)自全市各界的政協(xié)委員齊聚一堂,聚焦深化“五個(gè)中心”建設(shè)、加快建成具有世界影響力的社會(huì)主義現(xiàn)代化國(guó)際大都市,積極建真言、獻(xiàn)良策、出實(shí)招,共繪城市發(fā)展新藍(lán)圖。
    的頭像 發(fā)表于 02-24 16:35 ?317次閱讀

    RDMA設(shè)計(jì)21:連接管理模塊設(shè)計(jì)

    至 CONNECT 狀態(tài),創(chuàng)建連接流程類(lèi)似 TCP/IP 三次握手流程;如果為斷開(kāi)連接則跳轉(zhuǎn)至 DISCONNECT 狀態(tài),斷開(kāi)連接流程類(lèi)似 TCP/IP
    發(fā)表于 01-12 11:03

    RDMA設(shè)計(jì)14:連接管理模塊設(shè)計(jì)

    至 CONNECT 狀態(tài),創(chuàng)建連接流程類(lèi)似 TCP/IP 三次握手流程;如果為斷開(kāi)連接則跳轉(zhuǎn)至 DISCONNECT 狀態(tài),斷開(kāi)連接流程類(lèi)似 TCP/IP
    發(fā)表于 12-30 16:51

    回溯示波器的四次認(rèn)知躍遷

    工程師“第只眼”的儀器,究竟走過(guò)了怎樣波瀾壯闊的百年歷程?它如何從一根陰極射線(xiàn)管,進(jìn)化成如今能“讀懂”電路故障的AI診斷官?今天,我們就撥開(kāi)流量的迷霧,回溯示波器的四次認(rèn)知躍遷,看看它如何一步步塑造了現(xiàn)代電子世界。
    的頭像 發(fā)表于 12-19 15:39 ?6425次閱讀
    回溯示波器的<b class='flag-5'>四次</b>認(rèn)知躍遷

    國(guó)芯科技以3000萬(wàn)元第三次增資龍擎視芯

    近日,國(guó)芯科技以3000萬(wàn)元參與蘇州龍擎視芯集成電路有限公司(以下簡(jiǎn)稱(chēng)“龍擎視芯”)Pre-A輪融資。這是繼天使輪、天使+輪后,國(guó)芯科技第三次增資龍擎視芯。本輪融資完成后,國(guó)芯科技合計(jì)持有龍擎視芯8.97%的股權(quán),成為龍擎視芯除團(tuán)隊(duì)外的外部第一大股東。
    的頭像 發(fā)表于 12-15 11:44 ?875次閱讀

    TCP和UDP的區(qū)別

    相比,TCP大核心特性: 1、面向連接。所謂的連接,指的是客戶(hù)端和服務(wù)器的連接,在雙方互相通信之前,TCP 需要三次握手建立連接,
    發(fā)表于 12-09 07:24

    TCP三次握手

    ,Server進(jìn)入SYN_RCVD狀態(tài)。 (3)第三次握手:Client收到確認(rèn)后,檢查ack是否為J+1,ACK是否為1,如果正確則將標(biāo)志位ACK置為1,ack=K+1,并將該數(shù)據(jù)包發(fā)送給Server
    發(fā)表于 12-02 07:16

    從電網(wǎng)到柵極:賦能第三次能源革命

    開(kāi)啟。隨后在美國(guó)發(fā)生了第二能源革命,20 世紀(jì)石油產(chǎn)業(yè)的繁榮推動(dòng)了汽車(chē)和電力領(lǐng)域取得前所未有的進(jìn)步。 如今,人工智能 (AI) 的快速發(fā)展正在引領(lǐng)第三次能源革命,涵蓋產(chǎn)生、轉(zhuǎn)換和分配為我們正在消耗的大量數(shù)據(jù)提供動(dòng)力所需的能源。如何產(chǎn)生
    的頭像 發(fā)表于 11-14 10:19 ?578次閱讀
    從電網(wǎng)到柵極:賦能第<b class='flag-5'>三次</b>能源革命

    坐標(biāo)測(cè)量?jī)x讓三次元測(cè)量從此簡(jiǎn)單高效

    三次元測(cè)量(即坐標(biāo)測(cè)量)常被視為“技術(shù)門(mén)檻高、操作復(fù)雜、效率難提”的環(huán)節(jié),因?yàn)閭鹘y(tǒng)坐標(biāo)要么因體積龐大需專(zhuān)屬機(jī)房,零件轉(zhuǎn)運(yùn)耗時(shí)費(fèi)力;要么因精度與效率難以兼顧,批量檢測(cè)時(shí)頻繁陷入“調(diào)參-等待-復(fù)測(cè)
    的頭像 發(fā)表于 09-17 15:23 ?2327次閱讀
    <b class='flag-5'>三</b>坐標(biāo)測(cè)量?jī)x讓<b class='flag-5'>三次</b>元測(cè)量從此簡(jiǎn)單高效

    集創(chuàng)北方出席LED TCON團(tuán)體標(biāo)準(zhǔn)發(fā)展第三次技術(shù)研討會(huì)

    近日,由中國(guó)光學(xué)光電子行業(yè)協(xié)會(huì)發(fā)光二極管顯示應(yīng)用分會(huì)(簡(jiǎn)稱(chēng)中國(guó)光協(xié)LED顯示應(yīng)用分會(huì))主辦,北京集創(chuàng)北方科技股份有限公司(簡(jiǎn)稱(chēng)集創(chuàng)北方)承辦的“《基于TCON方案的LED顯示接口及通訊協(xié)議規(guī)范》團(tuán)體標(biāo)準(zhǔn)第三次技術(shù)研討會(huì)”在集創(chuàng)北方深圳園區(qū)圓滿(mǎn)舉行。
    的頭像 發(fā)表于 08-16 16:19 ?1566次閱讀

    中微公司第四次蟬聯(lián)客戶(hù)滿(mǎn)意度調(diào)查冠王

    ”,上交所股票代碼:688012)第四次榮獲冠王。今年5月,CSS公布了主要排名結(jié)果,此次白皮書(shū)披露了更多關(guān)于滿(mǎn)意度調(diào)查的數(shù)據(jù)。
    的頭像 發(fā)表于 07-21 14:39 ?1339次閱讀

    工業(yè)4.0:第四次工業(yè)革命的機(jī)遇與挑戰(zhàn)

    工業(yè)4.0是近年來(lái)全球制造業(yè)領(lǐng)域最受關(guān)注的概念之一,它代表了以智能化、數(shù)字化和網(wǎng)絡(luò)化為核心的第四次工業(yè)革命。這一概念最早由德國(guó)政府提出,旨在通過(guò)先進(jìn)信息技術(shù)與制造業(yè)的深度融合,實(shí)現(xiàn)生產(chǎn)效率的大幅提升
    的頭像 發(fā)表于 07-18 16:54 ?1136次閱讀

    舜宇車(chē)載光學(xué)召開(kāi)車(chē)載激光雷達(dá)團(tuán)體標(biāo)準(zhǔn)第三次會(huì)議

    近日,由舜宇車(chē)載光學(xué)牽頭的《車(chē)載激光雷達(dá)典型光學(xué)器件可靠性要求及檢測(cè)方法》團(tuán)體標(biāo)準(zhǔn)第三次工作組會(huì)議在浙江省余姚市召開(kāi)。
    的頭像 發(fā)表于 06-20 09:31 ?997次閱讀

    TCP三次握手四次揮手,這樣解釋太通俗易懂了!

    TCP連接的建立和釋放分別通過(guò)“三次握手”和“四次揮手”來(lái)完成。三次
    的頭像 發(fā)表于 04-24 19:33 ?1515次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和<b class='flag-5'>四次</b><b class='flag-5'>揮手</b>,這樣<b class='flag-5'>解釋</b>太通俗易懂了!