久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  應(yīng)聘面試  >  物聯(lián)網(wǎng)面試題  > 描述一下四次揮手過程

描述一下四次揮手過程

來源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-10-27 17:09:54 1666861794

  建立一個(gè)連接需要三次握手,而終止一個(gè)連接要經(jīng)過四次揮手。

  這由TCP的半關(guān)閉造成的。所謂的半關(guān)閉,其實(shí)就是TCP提供了連接的一端在結(jié)束它的發(fā)送后還能接收來自另一端數(shù)據(jù)的能力。

  TCP 的連接的拆除需要發(fā)送四個(gè)包,因此稱為四次揮手(Four-way handshake),客戶端或服務(wù)器均可主動(dòng)發(fā)起揮手動(dòng)作。

  剛開始雙方都處于 ESTABLISHED 狀態(tài),假如是客戶端先發(fā)起關(guān)閉請(qǐng)求。

  四次揮手的過程如下:

描述一下四次揮手過程

  第一次揮手:客戶端發(fā)送一個(gè) FIN 報(bào)文,報(bào)文中會(huì)指定一個(gè)序列號(hào)。此時(shí)客戶端處于 FIN_WAIT1 狀態(tài)。即發(fā)出連接釋放報(bào)文段(FIN=1,序號(hào)seq=u),并停止再發(fā)送數(shù)據(jù),主動(dòng)關(guān)閉TCP連接,進(jìn)入FIN_WAIT1(終止等待1)狀態(tài),等待服務(wù)端的確認(rèn)。

  第二次揮手:服務(wù)端收到 FIN 之后,會(huì)發(fā)送 ACK 報(bào)文,且把客戶端的序列號(hào)值 +1 作為 ACK 報(bào)文的序列號(hào)值,表明已經(jīng)收到客戶端的報(bào)文了,此時(shí)服務(wù)端處于 CLOSE_WAIT 狀態(tài)。即服務(wù)端收到連接釋放報(bào)文段后即發(fā)出確認(rèn)報(bào)文段(ACK=1,確認(rèn)號(hào)ack=u+1,序號(hào)seq=v),服務(wù)端進(jìn)入CLOSE_WAIT(關(guān)閉等待)狀態(tài),此時(shí)的TCP處于半關(guān)閉狀態(tài),客戶端到服務(wù)端的連接釋放??蛻舳耸盏椒?wù)端的確認(rèn)后,進(jìn)入FIN_WAIT2(終止等待2)狀態(tài),等待服務(wù)端發(fā)出的連接釋放報(bào)文段。

  第三次揮手:如果服務(wù)端也想斷開連接了,和客戶端的第一次揮手一樣,發(fā)給 FIN 報(bào)文,且指定一個(gè)序列號(hào)。此時(shí)服務(wù)端處于 LAST_ACK 的狀態(tài)。即服務(wù)端沒有要向客戶端發(fā)出的數(shù)據(jù),服務(wù)端發(fā)出連接釋放報(bào)文段(FIN=1,ACK=1,序號(hào)seq=w,確認(rèn)號(hào)ack=u+1),服務(wù)端進(jìn)入LAST_ACK(最后確認(rèn))狀態(tài),等待客戶端的確認(rèn)。

  第四次揮手:客戶端收到 FIN 之后,一樣發(fā)送一個(gè) ACK 報(bào)文作為應(yīng)答,且把服務(wù)端的序列號(hào)值 +1 作為自己 ACK 報(bào)文的序列號(hào)值,此時(shí)客戶端處于 TIME_WAIT 狀態(tài)。需要過一陣子以確保服務(wù)端收到自己的 ACK 報(bào)文之后才會(huì)進(jìn)入 CLOSED 狀態(tài),服務(wù)端收到 ACK 報(bào)文之后,就處于關(guān)閉連接了,處于 CLOSED 狀態(tài)。即客戶端收到服務(wù)端的連接釋放報(bào)文段后,對(duì)此發(fā)出確認(rèn)報(bào)文段(ACK=1,seq=u+1,ack=w+1),客戶端進(jìn)入TIME_WAIT(時(shí)間等待)狀態(tài)。此時(shí)TCP未釋放掉,需要經(jīng)過時(shí)間等待計(jì)時(shí)器設(shè)置的時(shí)間2MSL后,客戶端才進(jìn)入CLOSED狀態(tài)。

  收到一個(gè)FIN只意味著在這一方向上沒有數(shù)據(jù)流動(dòng)??蛻舳藞?zhí)行主動(dòng)關(guān)閉并進(jìn)入TIME_WAIT是正常的,服務(wù)端通常執(zhí)行被動(dòng)關(guān)閉,不會(huì)進(jìn)入TIME_WAIT狀態(tài)。

  在socket編程中,任何一方執(zhí)行close()操作即可產(chǎn)生揮手操作。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
物聯(lián)網(wǎng)公司面試題:保障物聯(lián)網(wǎng)安全的措施有哪些?

題目:請(qǐng)談?wù)勀鷮?duì)物聯(lián)網(wǎng)安全的理解,以及在物聯(lián)網(wǎng)系統(tǒng)中保障安全性的措施?;卮穑何锫?lián)網(wǎng)安全是指在物聯(lián)網(wǎng)系統(tǒng)中保護(hù)設(shè)備、數(shù)據(jù)和通信免受未經(jīng)授...詳情>>

2023-07-26 11:59:27
物聯(lián)網(wǎng)中的邊緣計(jì)算是什么?請(qǐng)解釋其優(yōu)勢(shì)和應(yīng)用場(chǎng)景

答案:邊緣計(jì)算是一種將計(jì)算和數(shù)據(jù)處理能力移動(dòng)到物聯(lián)網(wǎng)設(shè)備附近的計(jì)算模型。在邊緣計(jì)算中,數(shù)據(jù)的處理和分析發(fā)生在接近數(shù)據(jù)源的設(shè)備或邊緣節(jié)點(diǎn)...詳情>>

2023-07-18 14:15:00
可以介紹一下js的內(nèi)部Date對(duì)象功能嗎

提供了操作時(shí)間和日期的方法擁有一系列屬性和方法,可以用來獲取系統(tǒng)當(dāng)前時(shí)間或者設(shè)置 Date 對(duì)象中的時(shí)間 通過 getTime()方法可返回距 1970 年 ...詳情>>

2023-01-21 15:51:32
為什么需要三次握手,兩次不行嗎?

弄清這個(gè)問題,我們需要先弄明白三次握手的目的是什么,能不能只用兩次握手來達(dá)到同樣的目的。 第一次握手:客戶端發(fā)送網(wǎng)絡(luò)包,服務(wù)端收到了。...詳情>>

2022-10-25 16:55:00
什么是半連接隊(duì)列?

服務(wù)器第一次收到客戶端的 SYN 之后,就會(huì)處于 SYN_RCVD 狀態(tài),此時(shí)雙方還沒有完全建立其連接,服務(wù)器會(huì)把此種狀態(tài)下請(qǐng)求連接放在一個(gè)隊(duì)列里,...詳情>>

2022-10-25 16:55:00
快速通道