国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

TCP的三次握手四次揮手

這篇具有很好參考價值的文章主要介紹了TCP的三次握手四次揮手。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

TCP的三次握手和四次揮手實質(zhì)就是TCP通信的連接和斷開。

三次握手:為了對每次發(fā)送的數(shù)據(jù)量進行跟蹤與協(xié)商,確保數(shù)據(jù)段的發(fā)送和接收同步,根據(jù)所接收到的數(shù)據(jù)量而確認數(shù)據(jù)發(fā)送、接收完畢后何時撤消聯(lián)系,并建立虛連接。

四次揮手:即終止TCP連接,就是指斷開一個TCP連接時,需要客戶端和服務端總共發(fā)送4個包以確認連接的斷開。

TCP的三次握手四次揮手,tcp/ip,網(wǎng)絡,網(wǎng)絡協(xié)議
?TCP三次握手、四次揮手時序圖

1、三次握手 ? ? ? ?

? ? ? ?TCP協(xié)議位于傳輸層,作用是提供可靠的字節(jié)流服務,為了準確無誤地將數(shù)據(jù)送達目的地,TCP協(xié)議采納三次握手策略。?

三次握手原理:

第1次握手:客戶端發(fā)送一個帶有SYN(synchronize)標志的數(shù)據(jù)包給服務端;

第2次握手:服務端接收成功后,回傳一個帶有SYN/ACK標志的數(shù)據(jù)包傳遞確認信息,表示我收到了;

第3次握手:客戶端再回傳一個帶有ACK標志的數(shù)據(jù)包,表示我知道了,握手結(jié)束。

其中:SYN標志位數(shù)置1,表示建立TCP連接;ACK標志表示驗證字段。

可通過以下趣味圖解理解三次握手:

TCP的三次握手四次揮手,tcp/ip,網(wǎng)絡,網(wǎng)絡協(xié)議?

三次握手過程詳細說明:

1、客戶端發(fā)送建立TCP連接的請求報文,其中報文中包含seq序列號,是由發(fā)送端隨機生成的,并且將報文中的SYN字段置為1,表示需要建立TCP連接。(SYN=1,seq=x,x為隨機生成數(shù)值);

2、服務端回復客戶端發(fā)送的TCP連接請求報文,其中包含seq序列號,是由回復端隨機生成的,并且將SYN置為1,而且會產(chǎn)生ACK字段,ACK字段數(shù)值是在客戶端發(fā)送過來的序列號seq的基礎上加1進行回復,以便客戶端收到信息時,知曉自己的TCP建立請求已得到驗證。(SYN=1,ACK=x+1,seq=y,y為隨機生成數(shù)值)這里的ack加1可以理解為是確認和誰建立連接;

3、客戶端收到服務端發(fā)送的TCP建立驗證請求后,會使自己的序列號加1表示,并且再次回復ACK驗證請求,在服務端發(fā)過來的seq上加1進行回復。(SYN=1,ACK=y+1,seq=x+1)。

2、四次揮手

?
? ? ? ? 由于TCP連接是全雙工的,因此每個方向都必須單獨進行關(guān)閉。這原則是當一方完成它的數(shù)據(jù)發(fā)送任務后就能發(fā)送一個FIN來終止這個方向的連接。收到一個 FIN只意味著這一方向上沒有數(shù)據(jù)流動,一個TCP連接在收到一個FIN后仍能發(fā)送數(shù)據(jù)。首先進行關(guān)閉的一方將執(zhí)行主動關(guān)閉,而另一方執(zhí)行被動關(guān)閉。

四次揮手原理:

第1次揮手:客戶端發(fā)送一個FIN,用來關(guān)閉客戶端到服務端的數(shù)據(jù)傳送,客戶端進入FIN_WAIT_1狀態(tài);

第2次揮手:服務端收到FIN后,發(fā)送一個ACK給客戶端,確認序號為收到序號+1(與SYN相同,一個FIN占用一個序號),服務端進入CLOSE_WAIT狀態(tài);

第3次揮手:服務端發(fā)送一個FIN,用來關(guān)閉服務端到客戶端的數(shù)據(jù)傳送,服務端進入LAST_ACK狀態(tài);

第4次揮手:客戶端收到FIN后,客戶端t進入TIME_WAIT狀態(tài),接著發(fā)送一個ACK給Server,確認序號為收到序號+1,服務端進入CLOSED狀態(tài),完成四次揮手。

其中:FIN標志位數(shù)置1,表示斷開TCP連接。

可通過以下趣味圖解理解四次揮手:

TCP的三次握手四次揮手,tcp/ip,網(wǎng)絡,網(wǎng)絡協(xié)議?

四次揮手過程詳細說明:

1、客戶端發(fā)送斷開TCP連接請求的報文,其中報文中包含seq序列號,是由發(fā)送端隨機生成的,并且還將報文中的FIN字段置為1,表示需要斷開TCP連接。(FIN=1,seq=x,x由客戶端隨機生成);

2、服務端會回復客戶端發(fā)送的TCP斷開請求報文,其包含seq序列號,是由回復端隨機生成的,而且會產(chǎn)生ACK字段,ACK字段數(shù)值是在客戶端發(fā)過來的seq序列號基礎上加1進行回復,以便客戶端收到信息時,知曉自己的TCP斷開請求已經(jīng)得到驗證。(FIN=1,ACK=x+1,seq=y,y由服務端隨機生成);

3、服務端在回復完客戶端的TCP斷開請求后,不會馬上進行TCP連接的斷開,服務端會先確保斷開前,所有傳輸?shù)紸的數(shù)據(jù)是否已經(jīng)傳輸完畢,一旦確認傳輸數(shù)據(jù)完畢,就會將回復報文的FIN字段置1,并且產(chǎn)生隨機seq序列號。(FIN=1,ACK=x+1,seq=z,z由服務端隨機生成);

4、客戶端收到服務端的TCP斷開請求后,會回復服務端的斷開請求,包含隨機生成的seq字段和ACK字段,ACK字段會在服務端的TCP斷開請求的seq基礎上加1,從而完成服務端請求的驗證回復。(FIN=1,ACK=z+1,seq=h,h為客戶端隨機生成)
至此TCP斷開的4次揮手過程完畢。

為什么要三次握手?


? ? ? ? 三次握手的目的是建立可靠的通信信道,說到通訊,簡單來說就是數(shù)據(jù)的發(fā)送與接收,而三次握手最主要的目的就是雙方確認自己與對方的發(fā)送與接收是正常的。
? ? ? ? 第一次握手:Client 什么都不能確認;Server 確認了對方發(fā)送正常
? ? ? ? 第二次握手:Client 確認了:自己發(fā)送、接收正常,對方發(fā)送、接收正常;Server 確認了:自己接收正常,對方發(fā)送正常
? ? ? ? 第三次握手:Client 確認了:自己發(fā)送、接收正常,對方發(fā)送、接收正常;Server 確認了:自己發(fā)送、接收正常,對方發(fā)送接收正常
? ? ? ? 所以三次握手就能確認雙發(fā)收發(fā)功能都正常,缺一不可。

為什么連接的時候是三次握手,關(guān)閉的時候卻是四次握手?


? ? ? ? 因為當Server端收到Client端的SYN連接請求報文后,可以直接發(fā)送SYN+ACK報文。其中ACK報文是用來應答的,SYN報文是用來同步的。但是關(guān)閉連接時,當Server端收到FIN報文時,很可能并不會立即關(guān)閉SOCKET,所以只能先回復一個ACK報文,告訴Client端,“你發(fā)的FIN報文我收到了”。只有等到我Server端所有的報文都發(fā)送完了,我才能發(fā)送FIN報文,因此不能一起發(fā)送。故需要四步握手。文章來源地址http://www.zghlxwxcb.cn/news/detail-675990.html

到了這里,關(guān)于TCP的三次握手四次揮手的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【計算機網(wǎng)絡】TCP 的三次握手和四次揮手

    【計算機網(wǎng)絡】TCP 的三次握手和四次揮手

    TCP 是面向連接的,面向連接就是數(shù)據(jù)通訊的時候需要進行三次握手,斷開通訊的時候需要進行四次揮手。 1.seq(sequence number),序列號,隨機生成的 2.ack(acknowledgement number),確認號,ack=seq+1 3.ACK(acknowledgement),確定序列號有效 4.SYN(synchronous),發(fā)起新連接 5.FIN(FINISH),完成 TCP三次

    2024年02月10日
    瀏覽(23)
  • 數(shù)通王國歷險記之TCP協(xié)議的三次握手和四次揮手

    數(shù)通王國歷險記之TCP協(xié)議的三次握手和四次揮手

    目錄 前言 ?一、TCP我們稱之為可靠的傳輸層協(xié)議,為什么稱它為可靠呢? 二、TCP的建立——三次握手 1,提前知道TCP協(xié)議報文中都有些啥? 2.第一次握手 總的來說:就是PC1向PC2發(fā)出一個同步報文說,我想和你建立連接 3,第二次握手 總的來說:就是PC2同意和PC1建立連接,同時確

    2024年02月11日
    瀏覽(19)
  • 【Linux網(wǎng)絡】TCP/IP三次握手、四次揮手流程

    【Linux網(wǎng)絡】TCP/IP三次握手、四次揮手流程

    目錄 一、三次握手,建立連接 二、四次揮手,斷開連接 三、主要字段 ?1、標志位(Flags) ?2、序號(sequence number) ?3、確認號(acknowledgement number) 四、三次握手的報文變化 五、四次揮手的報文變化 六、面試題 在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務,采用三次握手,

    2024年02月08日
    瀏覽(41)
  • TCP的三次握手,四次揮手

    TCP的三次握手,四次揮手

    第一次握手:客戶端發(fā)送SYN報文,井發(fā)送seq為x序列號給服務端,等待服務端的確認 第二次握手:服務端發(fā)送SYN+ACK報文,并發(fā)送seq為Y的序列號,在確認序列號為x+1 第三次握手:客戶端發(fā)送ACK報文,并發(fā)送seq序列號為z,在確認序列號為y+1 第一次揮手:先由客戶端向服務器端發(fā)

    2024年01月18日
    瀏覽(18)
  • TCP的三次握手、四次揮手

    首先我們要知道建立連接的目的是什么,我們是為了可靠的傳輸數(shù)據(jù)。那既然是可靠的傳輸數(shù)據(jù),我們必須保證客戶端和服務端都能正常的發(fā)送和接收數(shù)據(jù),如果某一方不能正常的發(fā)送或者接收數(shù)據(jù),那整個數(shù)據(jù)的傳輸就不能成功,也就不可靠。 三次握手 1.第一次握手:第一

    2024年02月10日
    瀏覽(21)
  • 深入?yún)f(xié)議棧了解TCP的三次握手、四次揮手、CLOSE-WAIT、TIME-WAIT。

    深入?yún)f(xié)議棧了解TCP的三次握手、四次揮手、CLOSE-WAIT、TIME-WAIT。

    ? ? ? ? TCP網(wǎng)絡編程的代碼網(wǎng)上很多,這里就不再贅述,簡單用一個圖展示一下tcp網(wǎng)絡編程的流程:???????? ? ? ? ? 這三個函數(shù)都是系統(tǒng)調(diào)用,我們可以分為請求連接方和被動連接兩部分,我們知道請求連接方并非都是client,為了方便,本文用client代表主動連接方,s

    2024年02月09日
    瀏覽(26)
  • TCP的三次握手四次揮手

    TCP的三次握手四次揮手

    TCP的三次握手和四次揮手實質(zhì)就是TCP通信的連接和斷開。 三次握手:為了對每次發(fā)送的數(shù)據(jù)量進行跟蹤與協(xié)商,確保數(shù)據(jù)段的發(fā)送和接收同步,根據(jù)所接收到的數(shù)據(jù)量而確認數(shù)據(jù)發(fā)送、接收完畢后何時撤消聯(lián)系,并建立虛連接。 四次揮手:即終止TCP連接,就是指斷開一個T

    2024年02月11日
    瀏覽(15)
  • TCP 的三次握手和四次揮手

    TCP 的三次握手和四次揮手

    Java 面試題 第一次握手 :客戶端向服務端發(fā)送SYN包。報文中標志位SYN=1,序列號seq=x(x為隨機整數(shù))。此時客戶端進入了? SYN_SEND 同步已發(fā)送狀態(tài)。 第二次握手 :服務端回復客戶端SYN+ACK包。報文中標志位SYN=1,標志位ACK=1,序列號seq=y(y為隨機整數(shù)),確認號ack=x+1(x為客戶

    2024年01月20日
    瀏覽(24)
  • TCP的三次握手和四次揮手

    TCP的三次握手和四次揮手

    既然我們文章要說的是TCP的三次握手,和四次揮手,那么肯定是說的連接,也不是說的不其他的。那么它這個連接的過程說的是什么呢? 我們還是從圖中理解,這樣比較好理解, TCP第一次握手:服務端的TCP進程先創(chuàng)建傳輸控制塊TCB,準備接受客戶端進程的連接請求,然后服

    2024年02月01日
    瀏覽(25)
  • TCP的三次握手與四次揮手

    TCP的三次握手與四次揮手

    參考文章:https://blog.csdn.net/qq_38950316/article/details/81087809 在介紹三次握手與四次揮手之前我們先來了解一下TCP的頭部結(jié)構(gòu)是什么樣的。 TCP頭部的最大長度為60字節(jié),其中包括 TCP報文固定長度20字節(jié)+可變字節(jié)(最大40字節(jié)) ,具體結(jié)構(gòu)如下: 在認識三次握手與四次揮手之前我們必

    2023年04月09日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包