首頁 常見問題 在tcp的擁塞控制,什麼是慢開始

在tcp的擁塞控制,什麼是慢開始

Jan 19, 2021 pm 02:30 PM
tcp

在tcp的擁塞控制中,慢開始是指在主機剛開始發送封包時,可先將擁塞視窗cwnd設定為一個最大封包MSS的數值;在每收到一個對新的封包的確認後,將擁塞視窗增加至多一個MSS的數值;用這樣的方法逐步增加發送端的擁塞視窗cwnd。

在tcp的擁塞控制,什麼是慢開始

本文操作環境:windows7系統,Dell G3電腦。

慢開始:

在主機剛開始發送封包段時可先將擁塞視窗cwnd設定為一個最大封包MSS的數值。在每收到一個新的封包的確認後,將壅塞視窗增加至多一個MSS的數值。用這樣的方法逐步增加發送端的擁塞視窗cwnd,可以分組注入到網路的速率更加合理。

擁塞避免:

當擁塞視窗值大於慢開始閘限時,停止使用慢開始演算法而改用擁塞避免演算法。壅塞避免演算法使發送的壅塞視窗每經過一個往返時延RTT就增加一個MSS的大小。

快重傳演算法規定:

發送端只要一連收到三個重複的ACK即可斷定有分組遺失了,就應該立即重傳丟手的報文段而不必繼續等待為該報文段所設定的重傳計時器的逾時。

快恢復演算法:

當發送端收到連續三個重複的ACK時,就重新設定慢開始閘限ssthresh

與慢開始不同之處是擁塞視窗cwnd 不是設定為1,而是設定為ssthresh

若收到的重複的AVK為n個(n>3),則將cwnd設定為ssthresh

若發送視窗值還容許發送封包段,就按擁塞避免演算法繼續發送封包段。

若收到了確認新的封包的ACK,就將cwnd縮小到ssthresh

乘法減少:

是指不論在慢開始階段還是壅塞避免階段,只要出現一次逾時(即出現一次網路壅塞),就把慢開始門限值ssthresh 設定為目前的壅塞視窗值乘以0.5。

當網路經常出現擁塞時,ssthresh 值就下降得很快,以大幅減少注入到網路中的分組數。

加法增大:

是指執行擁塞避免演算法後,在收到對所有封包的確認後(即經過一個往返時間),就將擁塞視窗cwnd增加一個MSS 大小,使壅塞視窗緩慢增大,以防止網路過早出現壅塞。

更多相關知識,請造訪PHP中文網

以上是在tcp的擁塞控制,什麼是慢開始的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

win10如何重置tcp/ip協定? windows10重置tcp/ip協定棧的方法 win10如何重置tcp/ip協定? windows10重置tcp/ip協定棧的方法 Mar 16, 2024 am 11:07 AM

win10如何重置tcp/ip協定?其實方法很簡單的,使用者可以直接的進入到命令提示符,然後按下ctrl shift enter的組合鍵來進行操作就可以了或者是直接的執行重置命令來進行設置,下面就讓本站來為使用者來仔細的介紹一下windows10重置tcp/ip協定棧的方法吧。 windows10重置tcp/ip協定棧的方法一、管理員權限1、我們使用快捷鍵win R直接開啟運行窗口,然後輸入cmd並按住ctrl shift enter的組合鍵。 2、或者我們可以直接在開始選單中搜尋命令提示符,右鍵點

python中怎麼使用TCP實作對話客戶端和伺服器 python中怎麼使用TCP實作對話客戶端和伺服器 May 17, 2023 pm 03:40 PM

TCP客戶端一個使用TCP協定實現可連續對話的客戶端範例程式碼:importsocket#客戶端設定HOST='localhost'PORT=12345#建立TCP套接字並連接伺服器client_socket=socket.socket(socket.AF_INET,socket .SOCK_STREAM)client_socket.connect((HOST,PORT))whileTrue:#取得使用者輸入message=input("請輸入要傳送的訊息:&

活久見! TCP兩次揮手,你有看過嗎?那四次握手呢? 活久見! TCP兩次揮手,你有看過嗎?那四次握手呢? Jul 24, 2023 pm 05:18 PM

那這裡面提到的"面向連接",意味著需要 建立連接,使用連接,釋放連接。建立連線是指我們熟知的TCP三次握手。而使用連接,則是透過一發送、一確認的形式,進行資料傳輸。還有就是釋放連接,也就是我們常見的TCP四次揮手。

如何在Java中使用單一TCP連線發送多個檔案? 如何在Java中使用單一TCP連線發送多個檔案? Apr 27, 2023 am 08:49 AM

使用一個TCP連線發送多個檔案為什麼會有這篇部落格?最近在看一些相關方面的東西,簡單的使用一下Socket進行程式設計是沒有的問題的,但是這樣只是建立了一些基本概念。對於真正的問題,還是無能為力。當我需要進行檔案的傳輸時,我發現我好像只是發送過去了資料(二進位資料),但是關於檔案的一些資訊卻遺失了(檔案的副檔名)。而且每次我只能使用一個Socket發送一個文件,沒有辦法做到連續發送文件(因為我是依靠關閉流來完成發送文件的,也就是說我其實是不知道文件的長度,所以只能以一個Socket連接代表一個檔案)。

Java API 開發中使用 Netty4 進行 TCP 通信 Java API 開發中使用 Netty4 進行 TCP 通信 Jun 17, 2023 pm 11:18 PM

TCP是電腦網路通訊協定的一種,是一種連線導向的傳輸協定。在Java應用開發中,TCP通訊被廣泛應用於各種場景,例如客戶端和伺服器之間的資料傳輸、音訊視訊即時傳輸等等。 Netty4是一個高效能、高可擴展性、高效能的網路程式框架,能夠優化伺服器和用戶端之間的資料交換流程,使其更有效率可靠。使用Netty4進行TCP通訊的具體實作步驟如下:引入

Linux SIGPIPE訊號 Linux SIGPIPE訊號 Feb 19, 2024 pm 04:00 PM

在TCP通信雙方中,為了描述方便,以下將通信雙方用A和B代替。根據TCP協定規定,如果A關閉連線後B繼續發送數據,B會收到A的RST回應。若B繼續發送數據,系統會發出SIGPIPE訊號告知連接已斷開,停止發送。系統對SIGPIPE訊號的預設處理行為是讓B進程退出。作業系統對SIGPIPE訊號的這種預設處理行為非常不友好,讓我們來分析一下。 TCP通訊是全雙工頻道,相當於兩條單工頻道,連線兩端各負責一條。當對端「關閉」時,雖然本意是關閉整個兩條頻道,但本端只是收到FIN包。依TCP協議的規定,當一

Nginx怎麼配置TCP負載平衡 Nginx怎麼配置TCP負載平衡 May 19, 2023 am 08:29 AM

假設Kubernetes叢集已經配置好,我們將基於CentOS為Nginx建立一個虛擬機器。以下是實驗中設定的詳細資訊:Nginx(CenOS8Minimal)–192.168.1.50KubeMaster–192.168.1.40KubeWorker1–192.168.1.41KubeWorker2–192.168.192.168.1.41KubeWorker2–192.168.1.421)所以需要安裝e

swoole開發功能的高併發TCP長連接處理技巧 swoole開發功能的高併發TCP長連接處理技巧 Aug 25, 2023 pm 10:01 PM

【標題】Swoole開發功能的高並發TCP長連接處理技巧【導言】隨著互聯網的高速發展,應用程式對並發處理的需求也越來越高。 Swoole作為一款基於PHP的高效能網路通訊引擎,提供了強大的非同步、多進程、協程能力,大大提升了應用程式並發處理的能力。本文將介紹如何使用Swoole開發功能的高並發TCP長連接處理技巧,並結合程式碼範例進行詳細說明。 【正文】一、Swo