在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

超硬核TCP、UDP基礎(chǔ)知識(shí)匯總2

jf_78858299 ? 來源:阿Q正磚 ? 作者:阿Q正磚 ? 2023-02-15 09:57 ? 次閱讀

注意事項(xiàng):

1.TCP發(fā)送窗口是由對方發(fā)回的報(bào)文段(窗口大小,ack)設(shè)置的但是同一時(shí)刻發(fā)送窗口接收窗口大小未必相等(當(dāng)接收方發(fā)回一個(gè)報(bào)文窗口大小改變但由于網(wǎng)絡(luò)時(shí)延發(fā)送方窗口值可能不變)。

2.接收方應(yīng)該有累計(jì)確認(rèn)功能這樣可以減小傳輸開銷。

3.TCP是全雙工通信,所以兩端都有發(fā)送窗口和接收窗口。

3.2、發(fā)送緩沖區(qū)和接收緩沖區(qū)

圖片

發(fā)送窗口只是發(fā)送緩沖區(qū)的一部分,發(fā)送緩沖區(qū)通常包括發(fā)送方應(yīng)用程序傳送給發(fā)送方TCP準(zhǔn)備發(fā)送的數(shù)據(jù)。這里面包括已發(fā)送但還未收到確認(rèn)的數(shù)據(jù)和未發(fā)送但在發(fā)送窗口的數(shù)據(jù)以及未發(fā)送但不再發(fā)送窗口的數(shù)據(jù)。

圖片

接收緩沖區(qū)包含了按序到達(dá)但尚未被應(yīng)用程序讀取的數(shù)據(jù),不按序到達(dá)以及尚未進(jìn)入接收窗口的數(shù)據(jù)。

4、TCP的流量控制

4.1、流量控制介紹

發(fā)送方一次發(fā)送的字節(jié)數(shù)量不要太多要讓對方來的及接收。接收方是通過調(diào)整滑動(dòng)窗口來進(jìn)行流量控制的。

圖片

?來看下面這樣一個(gè)實(shí)例A為發(fā)送方,B為接收方。B的接收窗口由400字節(jié)。

?首先A向B發(fā)送了一個(gè)序號(hào)為1的100字節(jié)的數(shù)據(jù)(1~100)。此時(shí)B的接收窗口還剩300字節(jié)。

?然后A向B發(fā)送了序號(hào)為101的100字節(jié)數(shù)據(jù)(101~200).此時(shí)B的接收窗口還剩200字節(jié)。

?然后A向B發(fā)送了序號(hào)為201的100字節(jié)的數(shù)據(jù)(201~300)但是這個(gè)報(bào)文丟失了。

?此時(shí)B向A發(fā)送一個(gè)回復(fù)報(bào)文ACK = 201說明我已經(jīng)接收1200字節(jié)的數(shù)據(jù)下一次要從201開始發(fā)。同時(shí)進(jìn)行了一次流量控制即rwnd = 300也就是說B能接收300字節(jié)。所以A要發(fā)送201500的報(bào)文。

?A已經(jīng)發(fā)送過201的報(bào)文了所以它連續(xù)發(fā)送301,401的報(bào)文此時(shí)他知道201發(fā)送失敗進(jìn)行超時(shí)重傳。

?這時(shí)A收到了B成功收到401的報(bào)文下一次要從501開始發(fā)而且又進(jìn)行了一次流量控制rwnd = 100還能接收100字節(jié)的數(shù)據(jù)。

?然后A又繼續(xù)發(fā)送了一個(gè)序號(hào)為501的報(bào)文,然后A停止發(fā)送。然后收到了B返回的回復(fù)序號(hào)為601滑動(dòng)窗口置為0的報(bào)文。

4.2、死鎖問題及解決

圖片

接上文,過了一段時(shí)間后B的接收緩存又有了一些存儲(chǔ)空間。這時(shí)候會(huì)向A發(fā)送一個(gè)報(bào)文下次發(fā)送的序號(hào)為601,rwnd=400滑動(dòng)窗口。但是如果這個(gè)報(bào)文丟失那么就會(huì)造成A不知道B中滑動(dòng)窗口更新的消息那么就永遠(yuǎn)不會(huì)向B發(fā)送報(bào)文。

解決方案:TCP為每個(gè)連接都設(shè)置了一個(gè)持續(xù)計(jì)時(shí)器。只要收到對方的零窗口通知,就啟動(dòng)該持續(xù)計(jì)時(shí)器:

持續(xù)計(jì)時(shí)器到期發(fā)送一個(gè)零窗口探測報(bào)文段,對方再確認(rèn)這個(gè)探測報(bào)文段時(shí)給出現(xiàn)在的窗口值如果窗口值仍然是0,接收方確認(rèn)報(bào)文方重新設(shè)置持續(xù)計(jì)數(shù)器;若窗口不是0,死鎖的僵局便被打破了。

5、TCP的效率問題

5.1、TCP的3種發(fā)送時(shí)機(jī)

1.當(dāng)發(fā)送緩存中達(dá)到雙方約定的MSS時(shí)然后發(fā)送。

2.當(dāng)URG = 1時(shí)立刻發(fā)送。

3.當(dāng)發(fā)送方一個(gè)計(jì)時(shí)器期限到了就把當(dāng)前已有的數(shù)據(jù)裝入報(bào)文段發(fā)送出去(這個(gè)數(shù)據(jù)長度不能超過MSS)

5.2、TCP的效率問題

圖片

舉例:

比如說Telnet遠(yuǎn)程終端協(xié)議客戶端A向服務(wù)端B發(fā)送一個(gè)字符需要消耗41字節(jié),B端服務(wù)器向A發(fā)送一個(gè)確認(rèn)報(bào)文40字節(jié),同時(shí)服務(wù)端要向客戶端回顯那一個(gè)字符。又是41字節(jié),A客戶端向B服務(wù)端發(fā)送一個(gè)確認(rèn)報(bào)文40個(gè)字節(jié)我一共要交流2字節(jié)的數(shù)據(jù)我卻用了162字節(jié)的報(bào)文利用率太低了。

解決方案:Nagle算法

發(fā)送方發(fā)送第一個(gè)字節(jié),然后緩存剩下的數(shù)據(jù)字節(jié)。發(fā)送方收到對方發(fā)送的確認(rèn)報(bào)文以后才把發(fā)送緩存中所有數(shù)據(jù)組裝成一個(gè)報(bào)文段發(fā)送出去。當(dāng)發(fā)送緩存中數(shù)據(jù)達(dá)到對方接收窗口一半或者達(dá)到MSS時(shí)立刻發(fā)送。

5.3、糊涂窗口綜合癥

當(dāng)接收方緩沖區(qū)已滿會(huì)向發(fā)送方發(fā)送一個(gè)rwnd為0的報(bào)文告訴對方不要再發(fā)了。當(dāng)應(yīng)用進(jìn)程讀取1字節(jié)接收緩存時(shí),接收方向發(fā)送方發(fā)送rwnd = 1的報(bào)文此時(shí)發(fā)送方將1字節(jié)的數(shù)據(jù)打包成報(bào)文段發(fā)送給接收方。如此循環(huán)往復(fù)每次只能發(fā)一個(gè)字節(jié)。

解決方案:

接收方等待一段時(shí)間,使得接收緩存已有足夠空間容納一個(gè)最長的報(bào)文段,或者等到接收緩存已有一半空間;只要出現(xiàn)這兩種情況之一,接收方就發(fā)出確認(rèn)報(bào)文,并向發(fā)送方通知當(dāng)前窗口的大小。

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

    關(guān)注

    0

    文章

    33

    瀏覽量

    9142
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1374

    瀏覽量

    79159
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    327

    瀏覽量

    34005
收藏 人收藏

    評論

    相關(guān)推薦

    詳細(xì)的射頻基礎(chǔ)知識(shí)

    詳細(xì)的射頻基礎(chǔ)知識(shí)
    發(fā)表于 11-04 09:09 ?2317次閱讀

    基礎(chǔ)知識(shí)匯總!!!

    基礎(chǔ)知識(shí)匯總
    發(fā)表于 11-07 18:14

    第16章 UDP用戶數(shù)據(jù)報(bào)協(xié)議基礎(chǔ)知識(shí)

    ) 16.1 初學(xué)者重要提示 16.2 UDP基礎(chǔ)知識(shí)參考資料 16.3 UDP基礎(chǔ)知識(shí)點(diǎn) 16.4 TCP
    發(fā)表于 11-02 17:27

    TCP協(xié)議基礎(chǔ)知識(shí)

    TCP 是互聯(lián)網(wǎng)核心協(xié)議之一,本文介紹它的基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 10-16 10:29 ?3641次閱讀
    <b class='flag-5'>TCP</b>協(xié)議<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    tcpudp協(xié)議的異同

    UDP 校驗(yàn)和則是包含 UDP 首部和數(shù)據(jù)在內(nèi)的校驗(yàn)結(jié)果。 TCP協(xié)議 TCP協(xié)議基于網(wǎng)絡(luò)層的 IP 協(xié)議提供的是有連接、可靠服務(wù),是基于字節(jié)流的。
    的頭像 發(fā)表于 11-12 14:45 ?4122次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>協(xié)議的異同

    半導(dǎo)體電子器件基礎(chǔ)知識(shí)匯總

    半導(dǎo)體電子器件基礎(chǔ)知識(shí)匯總
    發(fā)表于 04-28 09:55 ?0次下載

    華為EMC基礎(chǔ)知識(shí)匯總資源下載

    華為EMC基礎(chǔ)知識(shí)匯總資源下載
    發(fā)表于 06-04 11:10 ?130次下載

    硬核TCPUDP基礎(chǔ)知識(shí)匯總1

    TCP主要特點(diǎn)** 1.面向連接: ?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對一的。 ?TCP提供可靠連接服務(wù)。 ?TCP
    的頭像 發(fā)表于 02-15 09:57 ?565次閱讀
    <b class='flag-5'>超</b><b class='flag-5'>硬核</b><b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>匯總</b>1

    硬核TCPUDP基礎(chǔ)知識(shí)匯總3

    TCP主要特點(diǎn)** 1.面向連接: ?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對一的。 ?TCP提供可靠連接服務(wù)。 ?TCP
    的頭像 發(fā)表于 02-15 09:57 ?594次閱讀
    <b class='flag-5'>超</b><b class='flag-5'>硬核</b><b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>匯總</b>3

    硬核TCPUDP基礎(chǔ)知識(shí)匯總4

    TCP主要特點(diǎn)** 1.面向連接: ?TCP連接只能有兩個(gè)端點(diǎn),TCP連接是一對一的。 ?TCP提供可靠連接服務(wù)。 ?TCP
    的頭像 發(fā)表于 02-15 09:57 ?658次閱讀
    <b class='flag-5'>超</b><b class='flag-5'>硬核</b><b class='flag-5'>TCP</b>、<b class='flag-5'>UDP</b><b class='flag-5'>基礎(chǔ)知識(shí)</b><b class='flag-5'>匯總</b>4

    TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)合集1

    本文主要記錄TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),采用TCP/UDP實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的網(wǎng)絡(luò)通信。
    的頭像 發(fā)表于 05-18 17:31 ?731次閱讀

    TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)合集2

    本文主要記錄TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),采用TCP/UDP實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的網(wǎng)絡(luò)通信。
    的頭像 發(fā)表于 05-18 17:31 ?663次閱讀

    TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí)合集3

    本文主要記錄TCP/UDP網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí),采用TCP/UDP實(shí)現(xiàn)宿主機(jī)和目標(biāo)機(jī)之間的網(wǎng)絡(luò)通信。
    的頭像 發(fā)表于 05-18 17:31 ?815次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>網(wǎng)絡(luò)編程的<b class='flag-5'>基礎(chǔ)知識(shí)</b>合集3

    TCPUDP的區(qū)別

    是可靠傳輸,使用流量控制和擁塞控制;UDP是不可靠傳輸 TCP首部最小20字節(jié),最大60字節(jié);UDP首部僅8字節(jié)。 2.ISO七層模型及相關(guān)協(xié)議 物理層:建立、維護(hù)、斷開物理連接。 數(shù)
    的頭像 發(fā)表于 11-09 09:35 ?6158次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的區(qū)別

    TCPUDP的基本區(qū)別

    TCPUDP基本區(qū)別 基于連接與無連接 TCP要求系統(tǒng)資源較多,UDP較少; UDP程序結(jié)構(gòu)較簡單 流模式(
    的頭像 發(fā)表于 11-13 15:27 ?4667次閱讀
    <b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>的基本區(qū)別
    主站蜘蛛池模板: 久草视频一区| 伊人久久大香线蕉综合亚洲| 色播在线永久免费视频网站| 亚洲一区二区视频在线观看| 久久久久国产| 又黄又湿又爽吸乳视频| 狠狠噜天天噜日日噜| 欧美一区二区三区免费| 亚洲九色| 中文字幕卡二和卡三的视频| 亚洲大胆精品337p色| 免费黄色大片在线观看| 国产片在线观看狂喷潮bt天堂| 特黄视频| 天天色播| 午夜免费观看| 永久在线| 日日夜夜天天久久| 日韩在线影院| 国产片18在线观看| 222网站高清免费观看| 操熟逼| 免费视频现线观看| 日本一区二区不卡在线| 一区二区三区四区无限乱码在线观看| 欧美精品黑人性xxxx| asian极品呦女爱爱| wwwxxx亚洲| 中国性猛交xxxxx免费看| 2021精品综合久久久久| 亚洲一二三区视频| 亚洲毛片网站| 天天摸日日舔| 四虎影视在线观看| 色爽爽爽爽爽爽爽爽| 色综合久久久久久久久五月| 四虎影院美女| 色综合中文网| 国产性片在线| 18女毛片| 天天弄|