一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

再次感受到了TCP的博大精深

小林coding ? 來源:小林coding ? 2023-02-13 16:48 ? 次閱讀

我在網(wǎng)站看到一位老哥問了個問題。

4a8136c2-aabf-11ed-bfe3-dac502259ad0.png

簡單點說,為什么在 TCP 三次握手過程中,如果客戶端收到的 SYN-ACK 報文的確認(rèn)號不符合預(yù)期的話,為什么是回 RST,而不是丟棄呢?

4aa2394e-aabf-11ed-bfe3-dac502259ad0.png

我說回 RST 就回 RST 嗎?

當(dāng)然不是,我也是看 RFC 標(biāo)準(zhǔn)確認(rèn)過。

4ac7c9d4-aabf-11ed-bfe3-dac502259ad0.png

我來先描述下這個場景吧:

  • 客戶端向服務(wù)端發(fā)送 SYN 報文(seq=100),但是網(wǎng)絡(luò)中有個不速之客,一個歷史的 SYN 報文(seq=90)先抵達(dá)服務(wù)端;
  • 服務(wù)端收到歷史的 SYN 報文,就會對此 SYN 報文做了確認(rèn),回了 SYN-ACK 報文,確認(rèn)號為 90+1;
  • 客戶端收到 SYN-ACK 報文后,誒發(fā)現(xiàn)不對勁,他明明發(fā)的是 SYN 報文(seq=100),按道理 SYN-ACK 報文中的確認(rèn)號是 100+1,可現(xiàn)在收到的確認(rèn)號為 90+1 的 SYN-ACK 報文,所以禮貌地回了 RST 給服務(wù)端;
  • 服務(wù)端收到 RST 報文后,服務(wù)端就斷開處于 SYN_RECEVIED 狀態(tài)的連接;
  • 最后正常的 SYN 報文(seq=100)終于抵達(dá)了服務(wù)端,經(jīng)過三次握手后,雙方的 TCP 連接都建立完成。

上面這個過程,就是 TCP 三次握手防止歷史連接建立的過程,之所以 TCP 需要三次握手,首要原因是為了防止舊的重復(fù)連接初始化造成混亂,其次原因是可靠的同步雙方的序列號。

那為什么要設(shè)計成,當(dāng)客戶端收到不符合期望的 SYN-ACK 報文,是回 RST,而不是丟棄呢?

現(xiàn)在我們來假設(shè)是丟棄處理,看看會發(fā)生什么?

4adb1c50-aabf-11ed-bfe3-dac502259ad0.jpg

可以看到,當(dāng)處于 SYN_SENT 狀態(tài)連接的客戶端收到不符合期望的 SYN-ACK 報文時,如果選擇的處理是「丟棄」,那么雙方都會觸發(fā)超時重傳,直到達(dá)到最大的重傳次數(shù)才會進(jìn)入 CLOSE 狀態(tài),這個過程需要持續(xù) 10-20 秒。

從客戶端的角度看,就是遲遲與服務(wù)端建立不來連接,因為服務(wù)端這邊已經(jīng)存在一個相同四元組的舊連接,如果不把服務(wù)端這個連接干掉,那么是無法確認(rèn)客戶端新的連接(SEQ=100),因為非 LISTEN 狀態(tài)下,如果收到 SYN,都是回 challenge ack,這個 ack 并不是對收到 SYN 報做確認(rèn),而是繼續(xù)回復(fù)上一次已發(fā)送 ACK。

是不是有種服務(wù)端的舊連接(SEQ=90)占著茅坑不拉屎的感覺?

所以啊,干掉服務(wù)端的舊連接的工作,就交給了客戶端來做了。

當(dāng)處于 SYN_SENT 狀態(tài)連接的客戶端,在收到不符合期望的 SYN-ACK 報文時,就直接 RST 給服務(wù)端,干掉服務(wù)端的舊連接,這樣客戶端的新連接才能快速建立。

怎么樣,TCP 處處是細(xì)節(jié)啊!

再次感受到了 TCP 的博大精深

審核編輯 :李倩


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

    關(guān)注

    8

    文章

    1395

    瀏覽量

    80163
  • RFC
    RFC
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    10172
  • 服務(wù)端
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    7175

原文標(biāo)題:這也能考慮到?TCP 有點牛逼

文章出處:【微信號:小林coding,微信公眾號:小林coding】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    中國5G基站總量占全球60%,你感受到了嗎?

    城區(qū)、超過98%的縣城城區(qū)和80%的鄉(xiāng)鎮(zhèn)鎮(zhèn)區(qū)。截至2021年底,5G移動電話用戶達(dá)3.55億戶。 ? 然而,你感受到了嗎? ? 可以看到,現(xiàn)在很多人已經(jīng)用上5G,然而,感覺怎么樣呢? ? 首先,與4G相比,5G網(wǎng)絡(luò)的速度確實更快,時延更低。而且,與2020年及以前相比,2021年之后,隨
    的頭像 發(fā)表于 02-10 07:56 ?4142次閱讀

    學(xué)raw os 以來的真實感受之小見

    以前自己一直都是學(xué)ucos 的,公司里也是盜用這個,我也沒覺的什么不妥,但是接觸了作者后,發(fā)現(xiàn)這樣子是可恥的。中國必須要有自己優(yōu)秀的操作系統(tǒng),最好是開源的。raw os 的內(nèi)核讓我感受到了什么叫速度
    發(fā)表于 02-27 14:18

    為什么步進(jìn)電機(jī)能感受到在轉(zhuǎn)動,但是看不到轉(zhuǎn)動?

    步進(jìn)電機(jī)能感受到在轉(zhuǎn)動,但是看不到轉(zhuǎn)動,是什么原因?。‰姍C(jī)型號是 28BYJ-48 5vDC.求大家?guī)兔Ψ治鲆幌?,非常感謝啊!
    發(fā)表于 06-27 04:35

    最新可穿戴技術(shù)可助聾啞人通過皮膚感受到立體聲

    據(jù)外媒報道,一項名為Music:Not Impossible的新興技術(shù)設(shè)備出現(xiàn),可以幫助聾啞人通過皮膚感受到立體聲。據(jù)悉,該技術(shù)的創(chuàng)意來源于前好萊塢制片人Mick Ebeling。Mick
    發(fā)表于 07-19 04:20

    Linux那些事兒之我是U盤

    Linux的usb驅(qū)動開發(fā)博大精深,USB這一塊的驅(qū)動開發(fā)詳解
    發(fā)表于 11-03 17:31 ?20次下載

    可以感受到瓢蟲腿兒運(yùn)動的“人造皮膚”

    斯坦福大學(xué)的鮑哲南團(tuán)隊通過將人造皮膚的概念推上了新高度給電子元件的發(fā)展奠定了基礎(chǔ),他們不但展示了可以感受到瓢蟲腿兒的精密可拉伸電子元件,并且展示了能夠大規(guī)模制造這種元件的工藝。人類可以通過多種方式
    發(fā)表于 04-10 03:02 ?1673次閱讀

    雷霆世紀(jì)獵空C504評測 感受到了滿滿的誠意

    現(xiàn)在很多朋友,一有時間就喜歡打幾把游戲來放松放松,最近也正是到了寒假期間,相比會有很多同學(xué)在家里都以游戲來度日吧?但是很多人又發(fā)愁用什么樣的設(shè)備來玩游戲呢?小編還是推薦用臺式機(jī),因為在小小的筆記本上
    的頭像 發(fā)表于 10-13 09:21 ?3883次閱讀

    機(jī)器人進(jìn)行新聞播報 使人類感受到了前所未有的壓力

    如今,人工智能技術(shù)的出現(xiàn),為很多各行各業(yè)都帶來了便利,未來在我們的日常生活中肯定離不開人工智能,同時也使人類前所未有的感受到了壓力,“人工智能將取代哪些行業(yè)的人員?”這成為近些年來的熱點話題。
    發(fā)表于 12-05 17:19 ?3601次閱讀

    傳感器技術(shù)用于文物保護(hù),將迎來新的機(jī)遇和挑戰(zhàn)

    近日,故宮博物院院長提出,在紫禁建成600周年之際,故宮博物院將陸續(xù)推出許多精品文物,其中,就包括著名的古畫——清明上河圖等。文物重現(xiàn)人間可以讓人們更好的感受到傳統(tǒng)文化的博大精深,但是,在著作展出之際,文物的保護(hù)工作也要格外注意。
    發(fā)表于 03-17 09:22 ?1828次閱讀

    感受到了零售的改革嗎

    新零售的提出,讓線上線下聯(lián)動的模式被廣泛關(guān)注,
    發(fā)表于 06-01 09:05 ?858次閱讀

    Apple推出VR手套專利 可以使用戶感受到VR或AR顯示的對象

    Apple推出了VR手套專利,該專利可以使用戶感受到虛擬現(xiàn)實或增強(qiáng)現(xiàn)實顯示的對象。新專利表明,Apple將繼續(xù)為尖端的VR和AR投入大量的研發(fā)工作。
    發(fā)表于 11-21 15:40 ?873次閱讀

    Apple VR手套專利技術(shù)可以讓您感受到虛擬紋理

    Apple推出了VR手套專利,該專利可以使用戶感受到虛擬現(xiàn)實或增強(qiáng)現(xiàn)實顯示的對象。新專利表明,Apple將繼續(xù)為尖端的VR和AR投入大量的研發(fā)工作。
    發(fā)表于 11-22 09:55 ?861次閱讀

    Apple VR手套專利可讓我們感受到虛擬紋理

    Apple推出了VR手套專利,該專利可以使用戶感受到虛擬現(xiàn)實或增強(qiáng)現(xiàn)實顯示的對象。
    發(fā)表于 03-11 10:04 ?703次閱讀

    電路已經(jīng)感受到納米技術(shù)的影響

    電路已經(jīng)感受到納米技術(shù)的影響
    的頭像 發(fā)表于 01-04 11:17 ?895次閱讀

    感受到空氣質(zhì)量變化的開源設(shè)計

    電子發(fā)燒友網(wǎng)站提供《能感受到空氣質(zhì)量變化的開源設(shè)計.zip》資料免費下載
    發(fā)表于 06-16 15:21 ?0次下載
    能<b class='flag-5'>感受到</b>空氣質(zhì)量變化的開源設(shè)計