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

“為什么是三次握手”與“為什么是三次握手,卻是四次揮手”其實(shí)是不同的問題

這篇具有很好參考價(jià)值的文章主要介紹了“為什么是三次握手”與“為什么是三次握手,卻是四次揮手”其實(shí)是不同的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

“為什么是三次握手?”

這個問題言下之意其實(shí)在問:“為什么不是0次、1次、2次、4次甚至更多次握手”。

確保雙方的 發(fā)送能力 和 接收能力 都是好的。
該回答下的一評論:其實(shí)很簡單, 1.a->b, 這個時(shí)候沒有任何狀態(tài), 2. b->a, b給a發(fā)東西, 說明收到了a的東西, 證明了a的發(fā)送能力是沒問題的,同時(shí)證明了b的接收能力也是沒有問題的。 如果到這里就結(jié)束了, 那么a的接收能力和b的發(fā)送能力就沒辦法保證了。如果再加上3. a->b , 證明了a收到了b的發(fā)送, 那么b的發(fā)送能力也是好的, a的接收能力也是好的。這樣a和b的接收發(fā)送的能力都是好的, 就沒必要再次證明了。 而樓主說的第三個包沒有到的問題, 假設(shè)過程3里, a發(fā)出去了, 但是沒到b。對于a來說, b收到了自己的發(fā)送并給自己做了回應(yīng),就可以認(rèn)為b是正常的, a相信自己也是正常的, 所以這個時(shí)候?qū)τ赼來說, tcp握手就結(jié)束了, 但是對于b來說, 在第二個包發(fā)出去的時(shí)候, a沒有回應(yīng), 那么b就會認(rèn)為a的接收能力是有問題的, b就會一直發(fā), 直到a給了回應(yīng)。不然b就永遠(yuǎn)不會認(rèn)為tcp握手結(jié)束了。

雙方都認(rèn)為當(dāng)前信道/數(shù)據(jù)的傳輸是可靠的。
原評論:所以三次握手不是TCP本身的要求,而是為了滿足“在不可靠信道上可靠地傳輸信息”這一需求所導(dǎo)致的。請注意這里的本質(zhì)需求:信道不可靠,數(shù)據(jù)傳輸要可靠
這個問題的本質(zhì)是, 通過一個不完全可靠的信道, 最少需要幾次消息傳輸, 信道兩邊的人能夠?qū)σ粋€問題達(dá)成一致. 對于TCP來說, 無論有沒有初始序號的要求, 想要兩邊都同意開始傳出數(shù)據(jù), 就至少需要3次消息的交換:

  • 0次: 顯然不行
  • 1次: A->B, A不知道B是否同意
  • 2次: A->B, B->A. B不知道A是否收到自己的消息, 因?yàn)樾诺啦煌耆煽?br> 這兒A已經(jīng)可以確信信道是可靠的了,只是B不能確信而已,這兒你要是把信道當(dāng)成TCP鏈接本身,也就是全雙工,自然如此,但是像我這樣把鏈路分成兩個方向上的 信道的人來說,卻不是如此。并且TCP確實(shí)可以建立半鏈接
  • 3次: A->B, B->A, A->B. 兩邊都收到了對方的ACK, 意味著各自都了解了對方的意圖, 從而可以對是否開始通信這個最簡單的問題

如果該問題細(xì)一點(diǎn):“為什么是三次握手,不是2次握手?”,即在問第3次握手的作用。

TCP 為什么是三次握手,而不是兩次或四次? - wuxinliulei的回答 - 知乎:
為了防止已失效的連接請求報(bào)文段突然又傳送到了服務(wù)端,因而產(chǎn)生錯誤。

“為什么是三次握手,卻是四次揮手?”

這個問題其實(shí)在問“四次揮手”中,服務(wù)端的ACK和FIN為什么不能同時(shí)發(fā)。因?yàn)樵凇盀槭裁词侨挝帐帧钡幕卮鹬?,看到有一個答案說的是:

  1. A 發(fā)送 同步信號 SYN + A’s seq
  2. B 確認(rèn) 收到 A’s SYN,并記錄 A’s seq,命名 B’s ACK
  3. B 發(fā)送 SYN + B’s seq
  4. A 確認(rèn) B’s SYN,并記錄 B’s seq,命名 A’s ACK

很顯然,步驟2、3可以合并,所以只需要3次握手。

但是我覺得這個回答是解釋“為什么是三次握手,卻是四次揮手?”這個問題的背景、由來,即:為什么四次揮手中,服務(wù)端的 ACK 和 SYN 要分開發(fā)?

一個比較合理的解釋是:

這是因?yàn)榉?wù)端在LISTEN狀態(tài)下,收到建立連接請求的 SYN 報(bào)文后,把 ACK 和 SYN 放在一個報(bào)文里發(fā)送給客戶端。而關(guān)閉連接時(shí),當(dāng)收到對方的 FIN 報(bào)文時(shí),僅僅表示對方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù),己方也未必全部數(shù)據(jù)都發(fā)送給對方了,所以己方可以立即 close,也可以發(fā)送一些數(shù)據(jù)給對方后,再發(fā)送 FIN 報(bào)文給對方來表示同意現(xiàn)在關(guān)閉連接,因此,己方 ACK 和 FIN 一般都會分開發(fā)送。文章來源地址http://www.zghlxwxcb.cn/news/detail-499438.html

到了這里,關(guān)于“為什么是三次握手”與“為什么是三次握手,卻是四次揮手”其實(shí)是不同的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 什么是三次握手與四次揮手( 一篇文章講清楚TCP協(xié)議與UDP協(xié)議)

    什么是三次握手與四次揮手( 一篇文章講清楚TCP協(xié)議與UDP協(xié)議)

    ? ? 關(guān)于TCP協(xié)議和UDP協(xié)議大家應(yīng)該都有所耳聞,我們常用的網(wǎng)絡(luò)通訊。比如瀏覽網(wǎng)頁、軟件聊天、以及你看到的這篇文章,都是通過這兩種協(xié)議來進(jìn)行數(shù)據(jù)傳輸?shù)摹?到底他們是如何工作的?這兩種協(xié)議的區(qū)別又是什么呢?請隨武漢海翎光電的小編一起耐心看完這篇文章,你一

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

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

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

    2023年04月26日
    瀏覽(28)
  • TCP實(shí)現(xiàn)原理和為什么需要三次握手?兩次握手不可以?四次握手不可以?

    TCP實(shí)現(xiàn)原理和為什么需要三次握手?兩次握手不可以?四次握手不可以?

    TCP實(shí)現(xiàn)原理和為什么需要三次握手?兩次握手不可以?四次握手不可以? 1. 什么是TCP協(xié)議? TCP:Transmission Control Protocol翻譯過來就是傳輸控制協(xié)議,TCP協(xié)議是一個面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議 RFC 793對TCP連接的定義 Connections: The reliability and flow control mechanisms descri

    2024年02月16日
    瀏覽(32)
  • TCP為什么需要三次握手進(jìn)行連接,二次或四次不可以嗎?

    為了確認(rèn)雙方具有接收和發(fā)送的能力。 1.?可以阻止重復(fù)歷史連接的初始化(主要原因)。 2.?可以同步雙方的初始序列號。 3. 可以避免資源的浪費(fèi)。 1.?為了防止舊的重復(fù)連接初始化造成混亂。 當(dāng)客戶端發(fā)送了一個 SYN 報(bào)文后,突然宕機(jī)了,并且這個 SYN 報(bào)文還被網(wǎng)絡(luò)阻塞了

    2024年02月16日
    瀏覽(24)
  • 什么是網(wǎng)絡(luò)編程?Java如何實(shí)現(xiàn)?三次握手和四次揮手?

    什么是網(wǎng)絡(luò)編程?Java如何實(shí)現(xiàn)?三次握手和四次揮手?

    個人簡介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過程~ 個人主頁:.29.的博客 學(xué)習(xí)社區(qū):進(jìn)去逛一逛~ 網(wǎng)絡(luò)編程 : 網(wǎng)絡(luò)編程,就是指在網(wǎng)絡(luò)通信協(xié)議下,不同計(jì)算機(jī)運(yùn)行的程序,進(jìn)行的數(shù)據(jù)傳輸,即:計(jì)算機(jī)與

    2024年02月08日
    瀏覽(25)
  • 三次握手四次揮手

    TCP協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議。它通過三次握手來建立連接,通過四次揮手來斷開連接。 所謂三次握手,是指建立一個TCP連接時(shí),需要客戶端和服務(wù)器總共發(fā)送3個報(bào)文。三次握手的目的是連接服務(wù)器指定端口,建立TCP連接,并同步連接雙

    2024年02月09日
    瀏覽(16)
  • 4.23、TCP狀態(tài)轉(zhuǎn)換(為什么四次揮手)

    4.23、TCP狀態(tài)轉(zhuǎn)換(為什么四次揮手)

    2MSL(Maximum Segment Lifetime) 主動斷開連接的一方, 最后進(jìn)入一個 TIME_WAIT狀態(tài), 這個狀態(tài)會持續(xù): 2msl msl : 官方建議: 2分鐘 , 實(shí)際是 30s 當(dāng) TCP 連接主動關(guān)閉方接收到被動關(guān)閉方發(fā)送的 FIN 和最終的 ACK 后,連接的主動關(guān)閉方必須處于 TIME_WAIT 狀態(tài)并持續(xù) 2MSL 時(shí)間。 這樣就能夠讓 T

    2023年04月22日
    瀏覽(24)
  • TCP為什么三次握手?

    TCP為什么三次握手?

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

    2023年04月27日
    瀏覽(26)
  • TCP 三次握手:四次揮手

    TCP 三次握手:四次揮手

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

    2024年01月19日
    瀏覽(19)
  • tcp 為什么要三次握手,兩次不行嗎?為什么?

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

    2024年02月20日
    瀏覽(36)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包