• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
            1、流量控制是管理兩端的流量,以免會產生發送過塊導致收端溢出,或者因收端處理太快而浪費時間的狀態。用的是:滑動窗口,以字節為單位

            2、窗口有3種動作:展開(右邊向右),合攏(左邊向右),收縮(右邊向左)這三種動作受接收端的控制。

            合攏:表示已經收到相應字節的確認了

            展開:表示允許緩存發送更多的字節

            收縮(非常不希望出現的,某些實現是禁止的):表示本來可以發送的,現在不能發送;但是如果收縮的是那些已經發出的,就會有問題;為了避免,收端會等待到緩存中有更多緩存空間時才進行通信。

            發端窗口的大小取決于收端的窗口大小rwnd(TCP報文的窗口大小字段)和擁塞窗口大小cwnd(見擁塞控制)

            發端窗口大小 = min{ rwnd , cwnd };

            3、關閉窗口:窗口縮回有個例外,就是發送rwnd=0表示暫時不愿意接收數據。這種情況下,發端不是把窗口收縮,二是停止發送數據。(為了比避免死鎖,會用一些探測報定時發送試探,見定時器一節)

            4、問題:某些時候,由于發端或收端的數據很慢,會引起大量的1字節數據痛惜,浪費很多資源。

            (1)、發端的進程產生數據很慢時候,時不時的來個1字節數據,那么TCP就會1字節1字節的發送,效率很低。

            解決方法(Nagle算法):

            a、將第一塊數據發出去

            b、然后等到發送緩存有足夠多的數據(最大報文段長度),或者等到收端確認的ACK時再發送數據。

            c、重復b的過程

            (2)、收端進程由于消耗數據很慢,所以可能會有這么一種情況,收端會發送其窗口大小為1的信息,然后有是1字節的傳輸

            解決辦法(2種)

            a、Clark方法:在接收緩存的一半變空,或者有足夠空間放最大報文長度之前,宣告接收窗口大小為0

            b、推遲確認:在對收到的報文段確認之前等待到足夠的接收緩存,或者等待到一個時間段(現在一般定義500ms)


            精品久久国产一区二区三区香蕉 | 丰满少妇高潮惨叫久久久| 久久久网中文字幕| 久久天天躁狠狠躁夜夜avapp| 久久99久久99精品免视看动漫| 亚洲综合精品香蕉久久网| 久久国产免费观看精品| 亚洲国产日韩欧美久久| 久久精品国产网红主播| 久久久久人妻精品一区三寸蜜桃| 伊人久久久AV老熟妇色| yellow中文字幕久久网| 欧洲精品久久久av无码电影| 久久免费视频6| 狠狠色婷婷综合天天久久丁香| 久久久久九九精品影院| 国产精品久久永久免费| 久久午夜夜伦鲁鲁片免费无码影视| 精品熟女少妇a∨免费久久| 欧美久久综合九色综合| 久久精品国产91久久综合麻豆自制| 久久天天躁狠狠躁夜夜不卡| 久久乐国产精品亚洲综合| 久久99热国产这有精品| 欧美一区二区三区久久综合| 国产成人久久精品一区二区三区| 久久国产成人亚洲精品影院| 久久精品嫩草影院| 69SEX久久精品国产麻豆| AV无码久久久久不卡蜜桃| 怡红院日本一道日本久久 | 精品久久一区二区三区| 囯产极品美女高潮无套久久久| 欧美大战日韩91综合一区婷婷久久青草| 99久久精品午夜一区二区| 亚洲熟妇无码另类久久久| 亚洲女久久久噜噜噜熟女| 亚洲AV无码久久寂寞少妇| 97久久婷婷五月综合色d啪蜜芽 | 国产成人久久激情91| 97精品久久天干天天天按摩|