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

TCP為什么需要三次握手進(jìn)行連接,二次或四次不可以嗎?

這篇具有很好參考價(jià)值的文章主要介紹了TCP為什么需要三次握手進(jìn)行連接,二次或四次不可以嗎?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、三次握手的作用

為了確認(rèn)雙方具有接收和發(fā)送的能力。

二、三次握手的原因

1.?可以阻止重復(fù)歷史連接的初始化(主要原因)。

2.?可以同步雙方的初始序列號(hào)。

3. 可以避免資源的浪費(fèi)。

三、分析原因

1.?為了防止舊的重復(fù)連接初始化造成混亂。

當(dāng)客戶端發(fā)送了一個(gè) SYN 報(bào)文后,突然宕機(jī)了,并且這個(gè) SYN 報(bào)文還被網(wǎng)絡(luò)阻塞了,這時(shí)服務(wù)端還沒有接收到客戶端發(fā)過來的報(bào)文,之后,當(dāng)客戶端重啟后,又重新向服務(wù)端建立連接,再次發(fā)送 SYN 報(bào)文(注意這次發(fā)送的 SYN 報(bào)文與之前發(fā)送的 SYN 報(bào)文的序列號(hào)是不同的,屬于兩個(gè)不同的報(bào)文)。

對(duì)于兩個(gè) SYN 報(bào)文,服務(wù)端是先接收 [舊 SYN 報(bào)文],再接收 [新 SYN 報(bào)文],那么當(dāng) [舊 SYN 報(bào)文] 先到達(dá)服務(wù)端后,服務(wù)端就會(huì)返回一個(gè) SYN+ACK 報(bào)文給客戶端。

三次握手時(shí),客戶端收到后可以根據(jù)自身的上下文,判斷是否是一個(gè)歷史連接(序列號(hào)過期或超時(shí)),那么客戶端就會(huì)發(fā)送 RST 報(bào)文給服務(wù)端,表示終止這一次連接。如果是兩次握手,就無法阻止歷史連接,因?yàn)榭蛻舳藳]有中間狀態(tài) RST 給服務(wù)端來阻止連接,導(dǎo)致會(huì)建立一個(gè)歷史連接,造成資源浪費(fèi)。

2.?同步雙方初始序列號(hào)?

TCP 協(xié)議通信的雙方,都必須維護(hù)一個(gè)序列號(hào),序列號(hào)是可靠傳輸?shù)囊粋€(gè)關(guān)鍵因素,作用是:

  • 接收方可以去除重復(fù)的數(shù)據(jù);
  • 接收方可以根據(jù)數(shù)據(jù)包的序列號(hào)按序接收;
  • 可以標(biāo)識(shí)發(fā)送出去的數(shù)據(jù)包中,哪些是已經(jīng)被對(duì)方收到的;

客戶端發(fā)送攜帶 [初始序列號(hào)] SYN 報(bào)文給服務(wù)端后,服務(wù)端也需要回一個(gè) ACK 應(yīng)答報(bào)文,標(biāo)識(shí)客戶端發(fā)送的報(bào)文已被成功接收,當(dāng)服務(wù)端發(fā)送 [初始序列號(hào)] 給客戶端時(shí),依然也需要客戶端的應(yīng)答回應(yīng),這樣一來一回,才能確保雙方的初始序列號(hào)能被可靠的同步。

四次握手也能夠可靠的同步雙方的初始化序號(hào),但可以進(jìn)行優(yōu)化一下,就成了三次握手了。

3.?避免資源的浪費(fèi)

如果只有兩次握手,當(dāng)客戶端的 SYN 請(qǐng)求連接在網(wǎng)絡(luò)中阻塞,客戶端沒有接收到 ACK 報(bào)文,就會(huì)重新發(fā)送 SYN,由于沒有第三次握手,服務(wù)器不清楚客戶端是否接收到了自己發(fā)送的建立連接的 ACK 確認(rèn)信號(hào),所以服務(wù)器每收到一個(gè) SYN 就只能先主動(dòng)建立一個(gè)連接,就會(huì)建立多個(gè)冗余的無效鏈接,造成不必要的資源浪費(fèi)。所以,兩次握手不具備可靠性。文章來源地址http://www.zghlxwxcb.cn/news/detail-598377.html

到了這里,關(guān)于TCP為什么需要三次握手進(jìn)行連接,二次或四次不可以嗎?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • (學(xué)習(xí)筆記-TCP連接建立)TCP 為什么是三次握手?不是兩次、四次?

    (學(xué)習(xí)筆記-TCP連接建立)TCP 為什么是三次握手?不是兩次、四次?

    常規(guī)回答:“因?yàn)槿挝帐植拍鼙WC雙方具有接收和發(fā)送的能力” 三次握手的 首要原因是為了防止舊的重復(fù)連接初始化造成混亂 。 假設(shè):客戶端先發(fā)送了SYN(seq=90)報(bào)文,然后客戶端宕機(jī)了,而且這個(gè)SYN報(bào)文還被網(wǎng)絡(luò)阻塞了,服務(wù)端并沒有收到,接著客戶端重啟后,又重新向

    2024年02月17日
    瀏覽(23)
  • TCP為什么三次握手?

    TCP為什么三次握手?

    參考:公眾號(hào) 小林coding 常見回答:三次握手保證雙方都具有接受和發(fā)送數(shù)據(jù)的能力。 主要原因: 1. 防止重復(fù)歷史連接的初始化 2.同步雙方初始序列號(hào) 3.避免資源的浪費(fèi) 序列號(hào)seq標(biāo)記已發(fā)送數(shù)據(jù)的位置,確認(rèn)號(hào)ack表示數(shù)據(jù)已接受,期望下一次數(shù)據(jù)序列號(hào)seq = ack 當(dāng)因?yàn)榫W(wǎng)絡(luò)擁

    2023年04月27日
    瀏覽(25)
  • tcp 為什么要三次握手,兩次不行嗎?為什么?

    TCP使用三次握手(Three-Way Handshake)的過程是為了確保雙方建立起可靠的通信連接,并在連接的建立過程中協(xié)商必要的參數(shù)。兩次握手是不夠的,原因主要有以下幾點(diǎn): 防止已失效的連接請(qǐng)求被接受: 假設(shè)有A和B兩臺(tái)主機(jī),A向B發(fā)送了一個(gè)連接請(qǐng)求,但由于某些原因?qū)е逻B接建

    2024年02月20日
    瀏覽(35)
  • TCP協(xié)議為什么要三次握手而不是兩次?

    TCP(Transmission Control Protocol,傳輸控制協(xié)議)的歷史可以追溯到1970年代初期,最初的版本是RFC 793,后來經(jīng)過多次更新和改進(jìn),包括RFC 1122、RFC 1323、RFC 2018、RFC 2581、RFC 2873、RFC 3168和RFC 4614等。其中,RFC 1323(TCP Extensions for High Performance)提出了TCP的高性能擴(kuò)展,RFC 2018(TCP Se

    2024年02月06日
    瀏覽(24)
  • TCP為什么要三次握手,而不是兩次或四次?

    TCP為什么要三次握手,而不是兩次或四次?

    TCP連接時(shí)用于保證可靠性和流量控制維護(hù)的某些狀態(tài)信息,這些信息的組合,包括 Socket,序列號(hào)和窗口大小 稱為連接。 以上三個(gè)方面分析三次握手原因: 首要原因?yàn)榱朔乐古f的重復(fù)連接初始化造成混亂 網(wǎng)絡(luò)堵塞情況下,如果一個(gè)舊的SYN報(bào)文比新的SYN報(bào)文早到達(dá)了服務(wù)端,

    2023年04月26日
    瀏覽(28)
  • TCP為什么需要3次握手?

    一、3次握手過程 客戶端向服務(wù)端發(fā)送一個(gè)表示建立連接的SYN報(bào)文段,服務(wù)端從IP數(shù)據(jù)報(bào)中提取出TCP SYN報(bào)文段,為該TCP連接分配需要的緩存和變量,并向客戶端發(fā)送表示允許連接的報(bào)文段ACK??蛻舳嗽谑盏紸CK報(bào)文段之后,也要給該連接分配緩存和變量,客戶端向服務(wù)器再發(fā)送

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

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

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

    2024年02月03日
    瀏覽(21)
  • “為什么是三次握手”與“為什么是三次握手,卻是四次揮手”其實(shí)是不同的問題

    “為什么是三次握手?” 這個(gè)問題言下之意其實(shí)在問:“為什么不是0次、1次、2次、4次甚至更多次握手”。 確保雙方的 發(fā)送能力 和 接收能力 都是好的 。 該回答下的一評(píng)論:其實(shí)很簡單, 1.a-b, 這個(gè)時(shí)候沒有任何狀態(tài), 2. b-a, b給a發(fā)東西, 說明收到了a的東西, 證明了a的

    2024年02月10日
    瀏覽(21)
  • 為什么是三次握手和四次揮手

    為什么是三次握手和四次揮手

    因?yàn)檫@是雙方都有收發(fā)的最小次數(shù) 握手的目的:確認(rèn)網(wǎng)絡(luò)好著沒,對(duì)方好著沒 確認(rèn)雙方主機(jī)是否健康(雙方) 驗(yàn)證雙方是否具有全雙工。 比如發(fā)送數(shù)據(jù)不是為了對(duì)方接受,而是為了證明自己能夠發(fā)送數(shù)據(jù)。 一次握手,服務(wù)端知道自己能收; 兩次握手,客戶端知道自己能夠

    2024年02月02日
    瀏覽(30)
  • 筆記:TCP握手為什么是3次而不是2次?

    這個(gè)問題比較常見,這里簡單總結(jié)一下。 一、兩次握手建立連接:流程說明: 1)客戶端發(fā)送SYN。 2)服務(wù)端收到SYN請(qǐng)求后,服務(wù)端回復(fù)SYN+ACK,然后進(jìn)入已連接狀態(tài)。 3)客戶端收到SYN+ACK回復(fù)后,進(jìn)入已連接狀態(tài)。 二、兩次握手建立連接:存在的問題 若客戶端發(fā)送SYN后,沒

    2023年04月13日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包