RM新时代网站-首页

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

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

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

tcp協(xié)議四次揮手過程及原因

星星科技指導(dǎo)員 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2024-02-03 16:51 ? 次閱讀

TCP協(xié)議的四次揮手過程如下:

第一次揮手:客戶端發(fā)送一個(gè)FIN報(bào)文段給服務(wù)器,關(guān)閉客戶端到服務(wù)器的數(shù)據(jù)傳送,客戶端進(jìn)入FIN_WAIT_1狀態(tài)。

第二次揮手:服務(wù)器收到FIN報(bào)文段后,發(fā)送一個(gè)ACK報(bào)文段給客戶端,確認(rèn)序號(hào)為收到序號(hào)+1,服務(wù)器進(jìn)入CLOSE_WAIT狀態(tài)。

第三次揮手:服務(wù)器發(fā)送一個(gè)FIN報(bào)文段給客戶端,關(guān)閉服務(wù)器到客戶端的數(shù)據(jù)傳送,服務(wù)器進(jìn)入LAST_ACK狀態(tài)。

第四次揮手:客戶端收到FIN報(bào)文段后,客戶端進(jìn)入TIME_WAIT狀態(tài),接著發(fā)送一個(gè)ACK報(bào)文段給服務(wù)器,確認(rèn)序號(hào)為收到序號(hào)+1,服務(wù)器進(jìn)入CLOSED狀態(tài)。完成四次揮手。

其中,第二次揮手和第三次揮手都是為了確認(rèn)雙方都已經(jīng)完成數(shù)據(jù)的發(fā)送和接收。在第二次揮手后,客戶端可以繼續(xù)向服務(wù)器發(fā)送數(shù)據(jù),直到收到服務(wù)器的FIN報(bào)文段。同樣地,在第三次揮手后,服務(wù)器也可以繼續(xù)向客戶端發(fā)送數(shù)據(jù),直到收到客戶端的ACK報(bào)文段。

連接釋放(四次揮手)

①A,B都處于ESTABLISHED狀態(tài); ?

②客戶進(jìn)程A主動(dòng)關(guān)閉連接,向B發(fā)送連接釋放請(qǐng)求報(bào)文段(報(bào)文段不挾帶數(shù)據(jù)),F(xiàn)IN=1,序列號(hào)=u,進(jìn)入FIN-WAIT-1(終止等待1)狀態(tài); ?

③B收到A的連接釋放報(bào)文段后,應(yīng)答確認(rèn),ACK=1,確認(rèn)號(hào)=u+1,序號(hào)=v,進(jìn)入CLOSE-WAIT (關(guān)閉等待)狀態(tài),B仍然可以向A發(fā)送數(shù)據(jù),A進(jìn)入FIN-WAIT-2(終止等待2)狀態(tài); ?

④若B已經(jīng)沒有向A的數(shù)據(jù),其應(yīng)用進(jìn)程通知TCP連接釋放,B向A發(fā)送連接釋放報(bào)文段,F(xiàn)IN=1,ACK=1,確認(rèn)號(hào)=u+1,序號(hào)=w,進(jìn)入LAST-ACK(最后確認(rèn))狀態(tài);

? ⑤A收到B的鏈接釋放報(bào)文段后,應(yīng)答確認(rèn),ACK=1,確認(rèn)號(hào)=w+1,序號(hào)=u+1,進(jìn)入TIME-TIME-WAIT(時(shí)間等待)狀態(tài),B收到A的確認(rèn)后,進(jìn)入CLOSED狀態(tài)。

A必須經(jīng)過時(shí)間等待計(jì)時(shí)器設(shè)置的時(shí)間2MSL(默認(rèn)2分鐘)后,進(jìn)入CLOSED狀態(tài):確保A發(fā)送的最后一個(gè)ACK報(bào)文段能夠到達(dá)B;防止“已失效的連接請(qǐng)求報(bào)文段”出現(xiàn)在本連接中。

tcp協(xié)議為什么四次揮手

TCP協(xié)議的四次揮手是用于關(guān)閉連接的過程,與建立連接的三次握手不同。其原因可以總結(jié)為以下幾點(diǎn):

1. 全雙工通信:TCP連接是全雙工的,意味著雙方都可以同時(shí)發(fā)送和接收數(shù)據(jù)。因此,在關(guān)閉連接時(shí),客戶端和服務(wù)端都需要發(fā)送一個(gè)報(bào)文來表示自己沒有數(shù)據(jù)要發(fā)送了。

2. 確保數(shù)據(jù)完整性:TCP協(xié)議致力于可靠的數(shù)據(jù)傳輸,即使在連接關(guān)閉時(shí)也不例外。在關(guān)閉連接之前,雙方需要確保對(duì)方已經(jīng)接收到了所有的數(shù)據(jù),以避免數(shù)據(jù)丟失或不完整。

3. 等待延遲數(shù)據(jù):關(guān)閉連接時(shí)可能存在延遲的數(shù)據(jù),這些數(shù)據(jù)可能還在傳輸中。通過四次揮手,每一方可以告知對(duì)方自己已經(jīng)沒有數(shù)據(jù)要發(fā)送,同時(shí)等待對(duì)方的確認(rèn),以確保關(guān)閉連接之前已經(jīng)傳輸完所有的數(shù)據(jù)。

4. 保持連接的可靠性:在TCP連接關(guān)閉后,可能還會(huì)繼續(xù)有來自網(wǎng)絡(luò)中的延遲報(bào)文到達(dá)。發(fā)送方需要等待一個(gè)固定的時(shí)間,以確保自己收到了對(duì)方的確認(rèn),并且確認(rèn)對(duì)方已經(jīng)關(guān)閉了連接。

因此,四次揮手的過程主要是為了確保雙方都能夠正確地關(guān)閉連接,保證數(shù)據(jù)的完整性和可靠性。通過經(jīng)過四次揮手,連接才能真正地關(guān)閉,并釋放雙方所占用的資源。

審核編輯:黃飛

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

    關(guān)注

    9

    文章

    1869

    瀏覽量

    64527
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9078

    瀏覽量

    85287
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1353

    瀏覽量

    79044
  • 客戶端
    +關(guān)注

    關(guān)注

    1

    文章

    290

    瀏覽量

    16674
  • TCP協(xié)議
    +關(guān)注

    關(guān)注

    1

    文章

    91

    瀏覽量

    12068
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    講一講的TCP握手和四次揮手

    如果你學(xué)過網(wǎng)絡(luò)基礎(chǔ)知識(shí),那么你一定對(duì)TCP握手不陌生。今天我想用通俗的話來給大家講一講TCP握手和四次
    的頭像 發(fā)表于 02-03 10:43 ?2707次閱讀
    講一講的<b class='flag-5'>TCP</b>三<b class='flag-5'>次</b>握手和<b class='flag-5'>四次</b><b class='flag-5'>揮手</b>

    TCP協(xié)議如何優(yōu)化

    TCP/IP協(xié)議經(jīng)常在面試中會(huì)被問到,基礎(chǔ)的會(huì)問三握手和四次揮手,更深一點(diǎn)可能會(huì)問TCP如何優(yōu)
    的頭像 發(fā)表于 10-08 15:15 ?1420次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>如何優(yōu)化

    TCP協(xié)議詳細(xì)解析

    TCPTCP/IP協(xié)議族中一個(gè)最核心的協(xié)議,它向下使用網(wǎng)絡(luò)層IP協(xié)議,向上為應(yīng)用層HTTP、FTP、SMTP、POP3、SSH、Telne
    的頭像 發(fā)表于 11-03 09:14 ?4363次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>詳細(xì)解析

    這樣講TCP的戀愛和分手大家都懂了

    /IP協(xié)議握手與四次握手流程解析? TCP報(bào)文格式TCP/IP協(xié)議的詳細(xì)信息參看《
    發(fā)表于 07-25 14:47

    分享個(gè)講解TCP的,很好懂

    的close函數(shù)結(jié)束這段socket(騷)戀情,所以兩close分別觸發(fā)了兩FIN包,導(dǎo)致沒有和ACK合并為一個(gè)包,所以握手3,分手要4。下面來正經(jīng)的,
    發(fā)表于 07-25 20:04

    握手,四次揮手你懂嗎

    程序員面試被問到“三握手,四次揮手”怎么辦?
    發(fā)表于 04-08 07:23

    TCP握手過程四次揮手過程說明

    連接 三握手過程說明: 1. 由客戶端發(fā)送建立 TCP 連接的請(qǐng)求報(bào)文,其中報(bào)文中包含 seq 序列號(hào),是由發(fā)送端隨機(jī)生成的,并且將報(bào)文中的 SYN 字段置為 1,表示需要建立 TCP
    的頭像 發(fā)表于 03-01 12:00 ?4221次閱讀

    TCP握手和四次揮手以及11種狀態(tài)資料下載

    電子發(fā)燒友網(wǎng)為你提供TCP握手和四次揮手以及11種狀態(tài)資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可
    發(fā)表于 04-15 08:41 ?2次下載
    <b class='flag-5'>TCP</b>三<b class='flag-5'>次</b>握手和<b class='flag-5'>四次</b><b class='flag-5'>揮手</b>以及11種狀態(tài)資料下載

    TCP協(xié)議的簡(jiǎn)介和關(guān)鍵知識(shí)點(diǎn)

    本篇文章較長(zhǎng),大家先看下目錄 1、簡(jiǎn)介 2、TCP協(xié)議頭 3、TCP數(shù)據(jù)包的編號(hào)(SEQ) 4、三握手建立連接 5、四次
    的頭像 發(fā)表于 08-18 09:55 ?5309次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>的簡(jiǎn)介和關(guān)鍵知識(shí)點(diǎn)

    TCP握手和四次揮手過程中的異常情況

    TCP握手和四次揮手過程中,途中某一步的報(bào)文丟失了,會(huì)發(fā)生什么?
    的頭像 發(fā)表于 09-05 10:23 ?1245次閱讀

    TCP建立連接概述及三握手、四次揮手的流程

    具備上述個(gè)條件后A獲取B的信息是有要求的,根本上的要求是數(shù)據(jù)信道可靠,就是平時(shí)所說的可靠連接,那么如何保證連接的可靠性呢,TCP協(xié)議就是靠確認(rèn)應(yīng)答機(jī)制、超時(shí)重傳機(jī)制等保證連接可靠性的,接下來就通過
    的頭像 發(fā)表于 03-23 15:57 ?1083次閱讀
    <b class='flag-5'>TCP</b>建立連接概述及三<b class='flag-5'>次</b>握手、<b class='flag-5'>四次</b><b class='flag-5'>揮手</b>的流程

    TCP四次揮手過程與狀態(tài)

    這樣他們兩個(gè)之間就沒有什么關(guān)系。這樣一個(gè)過程同樣像極了TCP要斷開連接的過程
    的頭像 發(fā)表于 07-10 16:25 ?818次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>四次</b><b class='flag-5'>揮手</b>的<b class='flag-5'>過程</b>與狀態(tài)

    關(guān)于TCP協(xié)議總結(jié)的硬核干貨

    本文給出TCP報(bào)文格式的詳細(xì)說明,介紹網(wǎng)絡(luò)數(shù)據(jù)包傳遞中如何進(jìn)行地址解析、建立TCP連接的三握手過程以及斷開TCP連接的
    發(fā)表于 11-17 09:26 ?498次閱讀
    關(guān)于<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>總結(jié)的硬核干貨

    TCP四次揮手過程分析

    TCP 連接是全雙工的,雙方可以同時(shí)發(fā)送和接收數(shù)據(jù)。第一客戶端發(fā)送 FIN 報(bào)文后只表示它不再發(fā)送數(shù)據(jù),但還是能接受數(shù)據(jù)。服務(wù)端接收到 FIN 報(bào)文,回一個(gè) ACK 應(yīng)答報(bào)文,這次服務(wù)端可以還有數(shù)據(jù)需要處理和發(fā)送,等它處理完成
    的頭像 發(fā)表于 12-10 15:40 ?2894次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>四次</b><b class='flag-5'>揮手</b><b class='flag-5'>過程</b>分析

    說說TCP握手的過程?為什么是三而不是兩、四次

    而不是兩四次。 首先,我們需要了解TCP是一種面向連接的協(xié)議。在進(jìn)行數(shù)據(jù)傳輸之前,發(fā)送端和接收端需要建立一個(gè)可靠的連接。
    的頭像 發(fā)表于 02-04 11:03 ?652次閱讀
    RM新时代网站-首页