国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TCP傳輸流量控制和擁塞避免方案

454398 ? 來源:博客園 ? 作者: lingjiango ? 2020-10-29 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

先來了解2個TCP的概念:

MSS:Maximum Segment Size,TCP一次傳輸發送的最大數據段長度。

RTT:Round-Trip Time,往返時延,表示從發送端發送數據開始,到發送端收到來自接收端的確認(接收端收到數據后便立即發送確認),總共經歷的時延。

TCP傳輸大塊數據時,肯定需要進行數據分段,而每個分段所能攜帶的最大數據就是1個MSS,假設大塊數據為100個MSS,那么發送方發送的方式大概有如下兩種:

1、 每次發送1個,收到接收方確認后,才發送下1個;

2、 一口氣發送100個,然后收到對方一起確認;

顯然,方式1中,一個RTT只能處理一個包,這樣的傳輸效率太低了。而方式2看似很美好,實際會存在兩個問題,一個是接收方的接收窗口未必能一次性接收這么多數據,另外一個是網絡的帶寬也不一定足夠大,容易出現丟包事故。前一個問題就是標題中的流量控制(Flow control),TCP采用的是滑動窗口機制(Sliding window),后一個問題就是標題中的擁塞控制(Congestion control)。發送方的發送窗口或者說網絡傳輸交互就取決于這兩個問題的控制,誰控制的更嚴格,誰就占據了決定性因素,這也是為什么兩者總是一起出現一起被討論。

流量控制(Flow control):

TCP uses an end-to-end flow control protocol to avoid having the sender send data too fast for the TCP receiver to receive and process it reliably. Having a mechanism for flow control is essential in an environment where machines of diverse network speeds communicate.

TCP使用端到端流量控制協議來避免發送方發送數據太快,以致TCP接收方不能可靠地接收和處理數據。在不同網絡速度的機器進行通信的環境中,具有流量控制機制至關重要。

圖一

圖一為通過Wireshark抓包192.168.2.1和192.168.2.198的交互截圖,可以看到有個標記Win,這個標記的含義就是接收端告訴發送端自己還有多少緩沖區可以接收數據。于是發送端就可以根據這個接收端的處理能力來發送數據,而不會導致接收端處理不過來。

[TCP zerowindow]& [TCP window Full]

提到Win標記,就順便談一下Wireshark的[TCP zerowindow]和[TCP window Full],當Win=0時,Wireshark就會打上TCP zerowindow,表示緩存區已滿,不能再接收數據了。當Wireshark在一個包上打上TCP window Full,就表示這個包的發送方已經把對方聲明的接收窗口耗盡了。兩者的共同特點都是傳輸暫停,前者的含義是發送方無法再接收數據,后者表示發送方無法再發送數據。

回過頭來再來說滑動窗口。

圖二截取自《TCP/IP詳解》

圖三取自參考資料

圖四取自參考資料

圖二和圖三可以知道接收方會通知發送方當前已接收到的信息和可用窗口信息。

圖三和圖四可以看出來窗口滑動的過程。

總結:TCP的流量控制由滑動窗口來實現的,滑動窗口控制流量取決于接收方的窗口大小。

擁塞控制(Congestion control):

流量控制是端到端的交互,如果只是局域網內的兩臺設備交互,我想通過滑動窗口大概能控制得不差,但是實際網絡的情況非常復雜,發送方和接收方之間還有路由器和交換機,網絡傳輸線路又復雜,這個時候就需要擁塞控制。

擁塞控制主要有四個算法慢啟動、擁塞避免、快速重傳和快速恢復。

慢啟動:

討論慢啟動算法先來了解下擁塞窗口的概念,這是慢啟動算法為TCP發送方新增的窗口,congestion window,簡稱cwnd。對應上文,發送方取擁塞窗口和滑動窗口的最小值作為發送上限,即誰嚴格誰起決定因素。

1、 連接建立開始,發送方不了解網絡的情況,cwnd初始化比較小的值,RFC建議2-4個MSS,具體視MSS的大小而定;

If (MSS <= 1095 bytes)

then win <= 4 * MSS;

If (1095 bytes < MSS < 2190 bytes)

then win <= 4380;

If (2190 bytes <= MSS)

then win <= 2 * MSS; 摘自rfc3390.

2、 如果發送出去的包都被ACK,說明還未到達擁塞點,則增加擁塞窗口,RFC建議的是每收到n個ACK,則cwnd新增n個MSS,呈指數關系增長,雖然這個過程看似比較快,但是基數比較低,所以被稱為“慢啟動”。

擁塞避免:

其實慢啟動除了維護了cwnd,還維護了慢啟動臨界值ssthresh,一般將ssthresh設置為65535字節。在cwnd<=ssthresh時,還是處于慢啟動環節,一旦>ssthresh,開始進入擁塞避免。

RFC建議擁塞避免環節,無論一個RTT可以收到多少個ACK,每一次確認都只新增1個MSS,呈線性關系增長,避免快速的觸碰到網絡擁塞點。

圖五取自參考資料

快速重傳和快速恢復:

進入擁塞避免之后,最終還是會碰到擁塞點,發送方此時遲遲得不到確認,當然得不到確認也有可能是因為延遲確認導致的。發送方此時決定等待一段時間,如果一段時間后還是得不到確認,就發起重傳,這個過程叫做超時重傳。從發出原始包到重傳該包的時間叫做RTO(Retransmission TimeOut)。

進入超時重傳后,RFC建議將cwnd設置為1個MSS,而對于ssthresh,RFC5681建議的是發生擁塞時未被ACK的數據量的1/2,但必須大于等于2個MSS。然后重新進入慢啟動環節。超時重傳因為需要等待RTO之后才能進入新的恢復環節,所以對網絡性能的影響是比較大的。所以各路大神又想到了一個新的方式,看能否無需等待RTO,就發起重傳,這種方式叫做快速重傳。快速重傳規定在收到3個及以上重復ACK時就觸發重傳,不再進入慢啟動環節,然后直接進入擁塞避免,這個就是快速恢復算法。為什么是3個?因為1-2個重復ACK,很有可能是亂序,只有在3個及以上的時候才是有可能丟包了。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1425

    瀏覽量

    83511
  • 網絡傳輸
    +關注

    關注

    0

    文章

    149

    瀏覽量

    18539
  • 擁塞
    +關注

    關注

    0

    文章

    12

    瀏覽量

    9622
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TCP/IP(Socket)協議深度剖析

    TCP/IP協議作為互聯網通信的基礎架構,其核心機制Socket編程承載著全球數據交換的使命。本文將深入剖析這一協議的七層架構、三次握手與四次揮手的精妙設計、流量控制擁塞控制的動態平
    的頭像 發表于 03-03 17:06 ?480次閱讀

    差示掃描量熱儀DSC-600C探究精準氣體流量控制對DSC的影響

    差示掃描量熱儀(DSC)的核心測量價值源于樣品與參比物的熱流差監測,而氣體流量的穩定性直接決定實驗環境的均衡性。匯誠儀器的差示掃描量熱儀DSC-600C憑借精準氣體流量控制技術,從源頭規避不對稱溫度
    的頭像 發表于 12-16 15:21 ?316次閱讀
    差示掃描量熱儀DSC-600C探究精準氣體<b class='flag-5'>流量控制</b>對DSC的影響

    氣體質量流量控制器顯示波動?一步步教你診斷與處理!

    液體倒流,導致MFC內部受到污染。 AMC2100氣體質量流量控制器 問題解決方案 產品返廠后,技術團隊對受污染的MFC進行了深度清潔與校準,設備最終恢復穩定運行。同時,服務人員向客戶強調了規范操作的重要性,并建議在出口處加裝單向
    的頭像 發表于 11-25 15:03 ?412次閱讀
    氣體質量<b class='flag-5'>流量控制</b>器顯示波動?一步步教你診斷與處理!

    一文梳理氣體流量控制器(MFC)堵塞常見問題

    在實驗室或工廠中,氣體質量流量控制器突然出現流量異常、響應遲緩,無疑是令人困擾的情況。作為控制工藝氣體“呼吸”的關鍵部件,MFC的穩定性至關重要。當流量示數不準或歸零時,堵塞通常是首要
    的頭像 發表于 11-24 14:43 ?546次閱讀
    一文梳理氣體<b class='flag-5'>流量控制</b>器(MFC)堵塞常見問題

    解析DCQCN:RDMA在數據中心網絡的關鍵擁塞控制協議

    DCQCN ( Data Center Quantized Congestion Notification),數據中心量化擁塞通知。它是一種專門為數據中心網絡設計的端到端擁塞控制協議。其核心目的是在使用RDMA(RoCEv2)
    的頭像 發表于 09-15 11:45 ?1865次閱讀
    解析DCQCN:RDMA在數據中心網絡的關鍵<b class='flag-5'>擁塞</b><b class='flag-5'>控制</b>協議

    HORIBA D700系列氣體質量流量控制器介紹

    在半導體制造向3nm及以下制程突破的關鍵期,氣體流量控制的精度與穩定性直接影響晶圓良率。HORIBA D700系列氣體質量流量控制器針對半導體制造工藝中的極端需求設計,涵蓋四大核心型號:D700MG、D700WR、D700uF、D700T,該系列通過模塊化架構實現從實驗室
    的頭像 發表于 07-28 11:18 ?1257次閱讀
    HORIBA D700系列氣體質量<b class='flag-5'>流量控制</b>器介紹

    Modbus TCP轉Profibus網關輕松讓流量計與DCS通訊

    工業自動化系統中,協議差異常成為設備互聯的“語言障礙”。例如,當流量計采用Modbus TCP協議,而DCS系統僅支持Profibus DP時,如何實現無縫通信?本文將結合技術原理與真實案例,拆解這一問題的核心解決方案——Mod
    的頭像 發表于 07-06 08:19 ?1805次閱讀
    Modbus <b class='flag-5'>TCP</b>轉Profibus網關輕松讓<b class='flag-5'>流量</b>計與DCS通訊

    CYW20706和CYW20719/CYW20721 TLE9243QK_BASE_BOARD模塊PUART是否支持帶流量控制的SVC_IPOSIM_LFTE_3M波特率呢?

    先生您好:CYW20706 和 CYW20719/CYW20721 TLE9243QK_BASE_BOARD模塊 PUART 是否支持帶流量控制的SVC_IPOSIM_LFTE_3M波特率?
    發表于 07-02 07:41

    RDMA簡介7之可靠傳輸

    。RoCE v2協議實現可靠傳輸的技術手段共有三種,分別為:丟包重傳機制、流量控制擁塞管理。接下來將就這三種技術手段進行詳細分析。 (1)丟包重傳機制 為了簡化設計同時降低成本,RoCE v2協議使用了
    發表于 06-13 10:01

    AI視覺外觀檢測技術在NR功率電感質量控制中的方案應用

    正運動NR功率電感質量控制方案應用
    的頭像 發表于 06-06 11:36 ?804次閱讀
    AI視覺外觀檢測技術在NR功率電感質<b class='flag-5'>量控制</b>中的<b class='flag-5'>方案</b>應用

    CY7C65223-24LTXI不使用流量控制功能時,RTS 和 CTS 引腳是否應處于打開狀態?

    請告訴我有關 CY7C65223-24LTXI 的引腳處理的信息。 不使用流量控制功能時,RTS 和 CTS 引腳是否應處于打開狀態?
    發表于 05-23 07:56

    Profibus DP主站轉Modbus RTU/TCP如何把E+H流量計接入到modbus

    ,不同的設備可能采用不同的通訊協議,這就需要一種能夠實現不同協議之間轉換的設備來確保數據的順暢傳輸。本文將詳細介紹E+H流量計與Profibus DP主站轉Modbus RTU/TCP網關通訊的相關知識。
    的頭像 發表于 05-13 15:35 ?692次閱讀
    Profibus DP主站轉Modbus RTU/<b class='flag-5'>TCP</b>如何把E+H<b class='flag-5'>流量</b>計接入到modbus

    永磁同步電機矢量控制策略分析

    本文通過矢量控制策略采用 id=0 控制方案快速準確地控制轉矩,實現調速系統具有較高的動態性能。并利用了 Matlab 工具對永磁同步電機矢量控制
    發表于 03-20 12:57

    氣體質量流量控制器MFC4000在氫燃料電池中的應用

    燃料電池簡介及氣體流量控制的重要性 氫燃料電池是將氫氣和氧氣的化學能直接轉換成電能的發電裝置。其基本原理是電解水的逆反應,把氫和氧分別供給陽極和陰極,氫通過陽極向外擴散和電解質發生反應后,放出電子
    的頭像 發表于 03-19 15:14 ?851次閱讀
    氣體質量<b class='flag-5'>流量控制</b>器MFC4000在氫燃料電池中的應用

    信而泰PFC/ECN流量測試方案:打造智能無損網絡的關鍵利器

    導語:AI算力爆發的背后,如何保障網絡“零丟包”? 在當今數據中心網絡中,隨著AI、高性能計算(HPC)和分布式存儲等應用的飛速發展,網絡的無損傳輸能力變得至關重要。PFC(基于優先級的流量控制
    的頭像 發表于 03-13 09:53 ?1538次閱讀
    信而泰PFC/ECN<b class='flag-5'>流量</b>測試<b class='flag-5'>方案</b>:打造智能無損網絡的關鍵利器