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

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

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

通俗地講解TCP的固定窗口和滑動窗口

如意 ? 來源:廈門微思網(wǎng)絡(luò) ? 作者:小微 ? 2020-08-13 09:56 ? 次閱讀

固定窗口

TCP 還提供了流量控制機制。 流量控制可以調(diào)整給定會話中源和目的之間的數(shù)據(jù)流速,有助于保持 TCP 傳輸?shù)目煽啃浴?流量控制的實施方法包括限制一次可以轉(zhuǎn)發(fā)的數(shù)據(jù)段數(shù)量,并要求在發(fā)送更多數(shù)據(jù)段之前確認(rèn)接收。

要實施流量控制,TCP 要確定的第一件事是目的設(shè)備可以接受的數(shù)據(jù)段數(shù)量。 TCP 報頭包括一個稱為“窗口大小”的 16 位字段。 這是 TCP 會話的目的設(shè)備一次可以接受和處理的字節(jié)數(shù)。 通過源和目標(biāo)之間的三次握手,會話開始時即可確定初始窗口大小。 一旦同意,源設(shè)備必須根據(jù)窗口大小限制發(fā)送到目的設(shè)備的數(shù)據(jù)段數(shù)量。 只有源設(shè)備收到數(shù)據(jù)段已接收的確認(rèn)之后,才能繼續(xù)發(fā)送更多會話數(shù)據(jù)。

在接收確認(rèn)的延遲過程中,發(fā)送方不會發(fā)送任何額外數(shù)據(jù)段。 如果網(wǎng)絡(luò)擁堵,或者接收主機資源緊張,延遲時間可能就更長。 延遲時間越長,該會話過程的有效傳輸速率越低, 當(dāng)運行多個會話時,減緩每個會話的數(shù)據(jù)傳輸有助于減少網(wǎng)絡(luò)和目的設(shè)備上的資源沖突。

通俗地講解TCP的固定窗口和滑動窗口

請參看上圖中對窗口大小和確認(rèn)消息的簡易展示。 在本例中,TCP 會話的初始窗口大小為 3000 字節(jié)。 此會話的發(fā)送方在傳輸 3000 字節(jié)后等待這些數(shù)據(jù)的確認(rèn)消息,以便繼續(xù)傳輸更多數(shù)據(jù)段。 一旦發(fā)送方收到接收方發(fā)送的確認(rèn)消息,它就可以傳輸另外 3000 字節(jié)的數(shù)據(jù)段。

TCP 使用窗口大小嘗試管理傳輸速率,將其調(diào)整為網(wǎng)絡(luò)和目的設(shè)備可以支持的最大速度,同時最大限度減少損失和重新傳輸。

TCP滑動窗口

我們也可以通過動態(tài)窗口大小來控制數(shù)據(jù)流量。 當(dāng)網(wǎng)絡(luò)資源受到限制時,TCP 可以減小窗口的大小,這樣,目的主機就需要更加頻繁地確認(rèn)所接收的數(shù)據(jù)段。 由于源主機需要更加頻繁地等待數(shù)據(jù)確認(rèn),這便可以大大降低傳輸?shù)乃俾省?/p>

接收主機將窗口大小值發(fā)送到發(fā)送主機,表示其準(zhǔn)備接收的字節(jié)數(shù)。 如果目的主機由于緩沖內(nèi)存受限需要降低通信速率,那么它向源主機發(fā)送的確認(rèn)信息中可以包含一個較小的窗口大小值。

通俗地講解TCP的固定窗口和滑動窗口

如圖所示,如果接收主機發(fā)生擁堵,它可以向發(fā)送主機發(fā)送指定了較小窗口大小的數(shù)據(jù)段。 圖中顯示,其中一個數(shù)據(jù)段丟失了。 接收方將返回數(shù)據(jù)段的 TCP 報頭中的窗口字段值由 3,000 減為 1,500,即將窗口大小改為 1,500。

在沒有數(shù)據(jù)丟失或資源限制的情況下傳輸一段時間后,接收方開始增加窗口字段,這樣可以減少網(wǎng)絡(luò)開銷,因為必須發(fā)送的確認(rèn)減少。 窗口大小持續(xù)增加,直至出現(xiàn)數(shù)據(jù)丟失,然后窗口大小隨之減少。

窗口大小的這種動態(tài)增減是 TCP 中的一個持續(xù)不斷的過程。 在高效網(wǎng)絡(luò)中,由于不丟失數(shù)據(jù),窗口可能會相當(dāng)大。 在基層基礎(chǔ)設(shè)施面臨壓力的網(wǎng)絡(luò)中,窗口可能會很小。

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

    關(guān)注

    9

    文章

    1920

    瀏覽量

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

    關(guān)注

    8

    文章

    1372

    瀏覽量

    79142
  • 流量控制
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    9666
收藏 人收藏

    評論

    相關(guān)推薦

    使用SNRBoost 3G技術(shù)的窗口

    電子發(fā)燒友網(wǎng)站提供《使用SNRBoost 3G技術(shù)的窗口.pdf》資料免費下載
    發(fā)表于 10-18 09:44 ?0次下載
    使用SNRBoost 3G技術(shù)的<b class='flag-5'>窗口</b>

    控制臺窗口主機是什么

    控制臺窗口主機(conhost),通常指的是在Windows操作系統(tǒng)中用于承載和控制控制臺窗口(即命令行界面或CMD窗口)的進程。以下是對控制臺窗口主機的介紹: 一、定義與功能 定義
    的頭像 發(fā)表于 10-08 18:12 ?2264次閱讀

    針對DLP DMD窗口的波長透射率考慮因素

    電子發(fā)燒友網(wǎng)站提供《針對DLP DMD窗口的波長透射率考慮因素.pdf》資料免費下載
    發(fā)表于 09-26 09:13 ?1次下載
    針對DLP DMD<b class='flag-5'>窗口</b>的波長透射率考慮因素

    中值濾波窗口大小對結(jié)果影響有哪些

    中值濾波是一種常用的數(shù)字濾波技術(shù),它通過將信號中的每個點用其鄰域內(nèi)的中值替換來實現(xiàn)信號的平滑和去噪。中值濾波窗口的大小對濾波結(jié)果有很大的影響,以下是對中值濾波窗口大小對結(jié)果影響的分析。 窗口大小
    的頭像 發(fā)表于 07-29 09:10 ?1140次閱讀

    請問espnow的窗口同步機制如何使用?

    esp_now_set_wake_window 但喚醒后的時間會變化,并不是固定的,所以多個espnow設(shè)備僅靠這兩個函數(shù)是無法實現(xiàn)窗口同步的 請問如何實現(xiàn)介紹中所說的窗口同步?這個需求意義重大
    發(fā)表于 06-05 07:23

    鴻蒙開發(fā)接口圖形圖像:【@ohos.window (窗口)】

    窗口提供管理窗口的一些基礎(chǔ)能力,包括對當(dāng)前窗口的創(chuàng)建、銷毀、各屬性設(shè)置,以及對各窗口間的管理調(diào)度。
    的頭像 發(fā)表于 05-30 10:07 ?1183次閱讀
    鴻蒙開發(fā)接口圖形圖像:【@ohos.window (<b class='flag-5'>窗口</b>)】

    emWin刪除子窗口后,焦點沒有返回父窗口為什么?

    emWin刪除子窗口后,焦點沒有返回父窗口
    發(fā)表于 05-14 06:43

    如何運用emwin把顯示屏分為上下兩個窗口,實現(xiàn)上下窗口分別可以左右滑動?

    怎么運用emwin把顯示屏分為上下兩個窗口,可以實現(xiàn)上下窗口分別可以左右滑動?
    發(fā)表于 04-26 06:03

    如何使用RA MCU中ADC窗口比較功能

    如何使用RA MCU中ADC窗口比較功能
    的頭像 發(fā)表于 04-12 08:06 ?411次閱讀
    如何使用RA MCU中ADC<b class='flag-5'>窗口</b>比較功能

    鴻蒙OS元服務(wù)開發(fā):【(Stage模型)設(shè)置應(yīng)用主窗口

    在Stage模型下,應(yīng)用主窗口由UIAbility創(chuàng)建并維護生命周期。在UIAbility的onWindowStageCreate回調(diào)中,通過WindowStage獲取應(yīng)用主窗口,即可對其進行屬性設(shè)置等操作。還可以在應(yīng)用配置文件中設(shè)置應(yīng)用主
    的頭像 發(fā)表于 04-03 18:28 ?1239次閱讀
    鴻蒙OS元服務(wù)開發(fā):【(Stage模型)設(shè)置應(yīng)用主<b class='flag-5'>窗口</b>】

    鴻蒙OS元服務(wù)開發(fā):【(Stage模型)學(xué)習(xí)窗口沉浸式能力】

    在看視頻、玩游戲等場景下,用戶往往希望隱藏狀態(tài)欄、導(dǎo)航欄等不必要的系統(tǒng)窗口,從而獲得更佳的沉浸式體驗。此時可以借助窗口沉浸式能力(窗口沉浸式能力都是針對應(yīng)用主窗口而言的),達到預(yù)期效果
    的頭像 發(fā)表于 04-03 18:27 ?1287次閱讀
    鴻蒙OS元服務(wù)開發(fā):【(Stage模型)學(xué)習(xí)<b class='flag-5'>窗口</b>沉浸式能力】

    MCGS嵌入版組態(tài)軟件主控窗口的屬性設(shè)置

    MCGS嵌入版組態(tài)軟件的主控窗口是組態(tài)工程的主窗口,是所有設(shè)備窗口和用戶窗口的父窗口,主控窗口
    發(fā)表于 03-28 11:34 ?1344次閱讀
    MCGS嵌入版組態(tài)軟件主控<b class='flag-5'>窗口</b>的屬性設(shè)置

    窗口子系統(tǒng)基本概念與流程分析

    窗口子系統(tǒng)位于 fundationwindowmanager 目錄下,提供對窗口與 Display 管理的基礎(chǔ)能力 概覽 窗口是什么 每個 Ability 在創(chuàng)建時都會創(chuàng)建一個主窗口,
    的頭像 發(fā)表于 03-05 09:45 ?603次閱讀
    <b class='flag-5'>窗口</b>子系統(tǒng)基本概念與流程分析

    分布式神器-限流器的四種限流方法

    常見的限流算法包括計數(shù)器、固定窗口、滑動窗口、漏桶和令牌桶等。其中,計數(shù)器是最簡單的限流算法,它通過統(tǒng)計請求的數(shù)量來進行限流,但缺乏時間概念,容易出現(xiàn)流量突增的情況。
    的頭像 發(fā)表于 02-06 14:17 ?1806次閱讀
    分布式神器-限流器的四種限流方法

    鴻蒙應(yīng)用/元服務(wù)開發(fā)-窗口(Stage模型)設(shè)置應(yīng)用主窗口

    一、 設(shè)置應(yīng)用主窗口****說明 在Stage模型下,應(yīng)用主窗口由UIAbility創(chuàng)建并維護生命周期。在UIAbility的onWindowStageCreate回調(diào)中,通過WindowStage
    發(fā)表于 02-05 14:45