国产 无码 综合区,色欲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雙向通信的過程,看成兩個單向通信過程的組合:
一次 “請求連接——確認”操作,可以確保一方做好了發(fā)送準備,另一方做好了接收準備,因此可以建議一個單向的連接;
一次 “請求關(guān)閉——確認”操作,可以確保一方發(fā)完了數(shù)據(jù)希望關(guān)閉發(fā)送,另一方收到請求關(guān)閉接收,最后關(guān)閉掉一個單向的連接。

在建立連接時,是為了判斷雙方是否能夠正常建立連接,即客戶端—>服務端、服務端->客戶端兩個單向的收發(fā)都是正常的。

而在關(guān)閉連接時,是為了判斷雙方是否應該關(guān)閉連接,即客戶端—>服務端、服務端->客戶端兩個單向的收發(fā)是否應該關(guān)閉。

在握手過程中,每一端自己當然清楚自己這邊的狀態(tài),關(guān)鍵是從過程中判斷對方的狀態(tài)。

一、建立TCP連接:三次握手協(xié)議

TCP三次握手、四次握手過程,以及原因分析,計算機網(wǎng)絡,tcp/ip,網(wǎng)絡,服務器
客戶端:我要對你講話,你能聽到嗎;
服務端:我能聽到;而且我也要對你講話,你能聽到嗎;
客戶端:我也能聽到。
…….
互相開始通話

過程分析:
第一步,客戶端向服務端發(fā)送請求;
               服務端收到了客戶端請求,因此服務端可以判斷: 客戶端—>服務端單向收發(fā)正常。
第二步,服務端向客戶端發(fā)送確認;
               客戶端收到了確認,因此客戶端可以判斷:
                    服務端正常收到了自己剛才的請求,所以, 客戶端—>服務端單向收發(fā)正常、服務端—>客戶端單向收發(fā)正常。
               于是客戶端為連接分配相關(guān)資源,開始監(jiān)聽端口。     
第三步,客戶端針對剛才收到的包發(fā)送確認;
               服務端收到了這個確認包,因此服務端可以判斷: 客戶端—>服務端單向收發(fā)正常、服務端—>客戶端單向收發(fā)正常     
               于是服務端未連接分配相關(guān)資源,開始監(jiān)聽端口。

為何要分三步握手,而不能是兩步握手?

其實在理想的網(wǎng)絡環(huán)境下,只需要兩次握手就行了,在上面第二步之后,客戶端已經(jīng)知道兩個方向收到都是正常的了,它的確可以發(fā)送數(shù)據(jù)了。
但問題在于,網(wǎng)絡環(huán)境并不總是理想的,在第一步客戶端發(fā)送請求的過程有可能出現(xiàn)發(fā)送后遲遲收不到確認包而重發(fā)請求,如果之前已經(jīng)過時的這個請求包真得徹底消散在網(wǎng)絡傳輸中倒也罷了,但有時候它只是因為網(wǎng)絡延遲到達服務端比較晚,過了一陣子時間后,可能又到達服務端了。如果這個舊的請求包到達的時間是在正常請求包到達之前,或者是在整個連接關(guān)閉之后才到達,那么服務端是無法判斷這是過時請求的,服務端會正常發(fā)送確認,需要客戶端來驗明其過期的身份,然后告知服務端。
那么,如果是兩次握手的話,一旦出現(xiàn)這種情況,服務端在第一步就會為連接分配資源,開始監(jiān)聽端口。但這是個過時的無效請求,客戶端會拋棄掉,不會做對應的連接處理,也不會去發(fā)送數(shù)據(jù)。服務端會一直耗費資源傻等著。
如果是三次連接的話,多了客戶端驗證這一步,服務端能判斷出這是一個無效請求,因此不會去做對應的資源分配。

TCP三次握手、四次握手過程,以及原因分析,計算機網(wǎng)絡,tcp/ip,網(wǎng)絡,服務器
SYN:該字段被設(shè)置為1(即true),表示請求建立連接
FIN:該字段被設(shè)置為1(即true),表示請求關(guān)閉連接
seq:該字段為請求序列號,譬如為seq=x, 能夠標示一個請求包,在眾多包種區(qū)分其身份
ack:該字段為確認字段,譬如ack=x+1,表示已經(jīng)收到對方發(fā)來的seq=x的請求包。
客戶端通過ack可以判斷,當前確認包是針對哪個請求包在做確認。

二:關(guān)閉TCP連接:四次握手協(xié)議
客戶端:我說完了,我要閉嘴了;
服務端:我收到請求,我要閉耳朵了;
(客戶端收到這個確認,于是安心地閉嘴了。)
…….
服務端還沒傾訴完自己的故事,于是繼續(xù)嘮嘮叨叨向客戶端說了半天,直到說完為止
…….
服務端:我說完了,我也要閉嘴了;
客戶端:我收到請求,我要閉耳朵了;(事實上,客戶端為了保證這個確認包成功送達,等待了兩個最大報文生命周期后,才閉上耳朵。)
(服務端收到這個確認,于是安心地閉嘴了。)
(發(fā)送方之所以要收到確認后才關(guān)閉發(fā)送,是怕接收方?jīng)]收到自己的請求,避免自己關(guān)閉了發(fā)送,而接收方還一直傻等著去接收。)
TCP三次握手、四次握手過程,以及原因分析,計算機網(wǎng)絡,tcp/ip,網(wǎng)絡,服務器
客戶端收到請求包后,為什么要等待兩個最大報文生命周期后,才閉上耳朵呢?
為了以防萬一,因為最后一個發(fā)往服務端B的確認包有可能丟失,等待兩個最大報文生命周期是為了盡可能保障服務端能夠收到一次確認包,避免服務單始終處在等待關(guān)閉發(fā)送的狀態(tài)。
分析:
一個“最大報文時長”是TCP數(shù)據(jù)包在網(wǎng)絡中存在的最長時間,超過這個時間報文會被丟棄掉。
客戶端每次在收到服務端的“關(guān)閉請求”后開始計時,服務端一旦超時收不到客戶端的確認包就會重發(fā)請求,而TCP協(xié)議中的確認超時時長應該不會超過“最大報文周期”,而重發(fā)的網(wǎng)絡請求的傳輸時間也不超過“最大報文周期”,這樣正常情況下,重發(fā)的請求在兩個“最大報文周期”內(nèi)應該能夠到達客戶端,客戶端每次在收到服務端的“關(guān)閉請求”后又會重新開始計時兩個“最大報文周期”,又會重復前面的過程。
這樣,可以很大限度上保障服務端能收到一次確認包。(當然會有收不到的情況,所以應該會有別的超時機制來兜底。)文章來源地址http://www.zghlxwxcb.cn/news/detail-634093.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)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • TCP的三次握手以及四次斷開

    TCP的三次握手以及四次斷開

    TCP的三次握手和四次斷開,就是TCP通信建立連接以及斷開的過程 目錄 【1】TCP的三次握手過程? ----? TCP建立連接的過程 【2】TCP的四次揮手? ----? TCP會話的斷開 注意: 三次握手的過程 : ? ? ? ? 通信雙方發(fā)送請求序列號,并且確認收到序列號的過程 第一次握手 : ? ? ?

    2024年02月14日
    瀏覽(19)
  • 一文徹底搞懂 TCP三次握手、四次揮手過程及原理

    一文徹底搞懂 TCP三次握手、四次揮手過程及原理

    TCP 協(xié)議簡述 TCP 提供面向有連接的通信傳輸,面向有連接是指在傳送數(shù)據(jù)之前必須先建立連接,數(shù)據(jù)傳送完成后要釋放連接。 無論哪一方向另一方發(fā)送數(shù)據(jù)之前,都必須先在雙方之間建立一條連接。在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務,連接是通過 三次握手 進行初始

    2024年02月04日
    瀏覽(24)
  • tcp 三次握手和四次揮手報文分析

    tcp 三次握手和四次揮手報文分析

    ?報文抓取如下: 三段報文分析: 第一次:26-96報文交互 Seq-num = 567391014, ACK_NUM = 0; flags = SYN 第二次:96-26報文交互 Seq-num = 416352681, ?ACK_NUM = Seq-num + 1 =567391014 +1 =567391015, flags = ACK + SYN, ? 第三次:26-96報文交互 Seq-num= ACK_NUM= 567391015, ACK_NUM?= seq-num +1= 416352681+ 1 = 416352682, flags

    2024年02月04日
    瀏覽(23)
  • 【計算機網(wǎng)絡經(jīng)典面試題】簡述 TCP 三次握手和四次揮手的過程

    【計算機網(wǎng)絡經(jīng)典面試題】簡述 TCP 三次握手和四次揮手的過程

    1)第一次握手:建立連接時,客戶端向服務器發(fā)送SYN包(seq=x),請求建立連接,等待確認 2)第二次握手:服務端收到客戶端的SYN包,回一個ACK包(ACK=x+1)確認收到,同時發(fā)送一個SYN包(seq=y)給客戶端 3)第三次握手:客戶端收到SYN+ACK包,再回一個ACK包(ACK=y+1)告訴服務

    2024年04月08日
    瀏覽(16)
  • Wireshark抓包分析TCP協(xié)議:三次握手和四次揮手

    Wireshark抓包分析TCP協(xié)議:三次握手和四次揮手

    面試中我們經(jīng)常會被問到TCP協(xié)議的三次握手和四次揮手的過程,為什么總喜歡問這個問題呢? 其實我們平時使用的很多協(xié)議都是應用層協(xié)議,比如HTTP協(xié)議,https協(xié)議,DNS協(xié)議,F(xiàn)TP協(xié)議等;而應用層協(xié)議都是要基于傳輸層的兩個協(xié)議之上的,也就是TCP協(xié)議和UDP協(xié)議。我們在使用

    2024年01月21日
    瀏覽(25)
  • 計算機網(wǎng)絡—TCP和UDP、輸入url之后顯示主頁過程、TCP三次握手和四次揮手

    計算機網(wǎng)絡—TCP和UDP、輸入url之后顯示主頁過程、TCP三次握手和四次揮手

    TCP是面向連接的、可靠的,基于字節(jié)流的傳輸層通信協(xié)議 。 圖片來源小林coding 序號:傳輸方向上字節(jié)流的字節(jié)編號。初始時序號會被設(shè)置一個隨機的初始值(ISN),之后每次發(fā)送數(shù)據(jù)時,序號值 = ISN + 數(shù)據(jù)在整個字節(jié)流中的偏移。假設(shè)A - B且ISN = 1024,第一段數(shù)據(jù)512字節(jié)已經(jīng)

    2024年02月14日
    瀏覽(19)
  • TCP為什么是三次握手和四次揮手以及可能出現(xiàn)的問題

    TCP為什么是三次握手和四次揮手以及可能出現(xiàn)的問題

    如果是4次,多了一次沒啥意義還慢了,如果是兩次握手邏輯可能存在下列問題: (這兩個方面也可以理解為握手過程中可能出現(xiàn)的問題) 不可靠 TCP協(xié)議是可靠的 ,那么 建立的連接也需要確保是雙向,可靠的 ; 根據(jù)連接過程分析,只有一方收到了另一方的ack確認報文,才能證

    2024年02月03日
    瀏覽(22)
  • 【網(wǎng)絡|TCP】三次握手、四次握手

    TCP是一種面向連接的可靠的傳輸協(xié)議,建立和斷開TCP連接時需要進行握手的過程。其中,TCP的連接建立需要進行三次握手,而連接斷開則需要進行四次握手。 三次握手 第一次握手:客戶端發(fā)送一個SYN(同步)報文給服務器,表示客戶端請求建立連接。這個報文中包含一個初

    2024年02月14日
    瀏覽(26)
  • 10000字講解TCP協(xié)議(確認應答,超時重傳,三次握手,四次揮手等等眾多機制)以及UDP協(xié)議(UDP報文,校驗和)

    10000字講解TCP協(xié)議(確認應答,超時重傳,三次握手,四次揮手等等眾多機制)以及UDP協(xié)議(UDP報文,校驗和)

    UDP它是屬于TCP/IP協(xié)議族中的一種。是無連接的協(xié)議,發(fā)送數(shù)據(jù)前不需要建立連接,因為不需要建立連接,所以可以在網(wǎng)絡上以任何可能的路徑傳輸,至于有沒有傳輸?shù)侥康牡?,UDP是不關(guān)心的,所以,UDP它是天然支持廣播的,就類似學校的廣播,只需要將聲音傳遞給每個學生即

    2024年01月21日
    瀏覽(30)
  • TCP 三次握手:四次揮手

    TCP 三次握手:四次揮手

    TCP 三次握手/四次揮手 TCP 在傳輸之前會進行三次溝通,一般稱為“三次握手”,傳完數(shù)據(jù)斷開的時候要進行四次溝通,一般稱為“四次揮手”。 數(shù)據(jù)包說明 源端口號( 16 位):它(連同源主機 IP 地址)標識源主機的一個應用進程。 目的端口號( 16 位):它(連同目的主機

    2024年01月19日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包