Ovaj članak ukratko objašnjava kako omogućiti BBR algoritam kontrole zagušenja na Windows uređajima; kao i trenutne probleme koji mogu nastati korištenjem ove funkcije.
BBR uvod
BBR (Bottleneck Bandwidth and Round-trip propagation time) je noviji algoritam kontrole zagušenja TCP-a koji je razvio Google. Cilj mu je riješiti problem niske iskoristivosti propusnosti i velikih latencija tradicionalnih algoritama kontrole zagušenja (kao što su Reno ili CUBIC) u određenim mrežnim uvjetima (osobito u mrežama s određenim postotkom gubitka paketa i latencijom).
Osnovna ideja
Osnovna ideja BBR-a je da se više ne oslanja na gubitak paketa kao glavni signal za utvrđivanje zagušenja mreže. Tradicionalni algoritmi kontrole zagušenja obično smanjuju brzinu slanja tek kada otkriju gubitak paketa, ali to može dovesti do toga da se dostupna propusnost ne iskoristi u potpunosti ili da se uvede nepotrebna latencija (širenje međuspremnika) u mrežama s velikim međuspremnicima ili blagim nasumičnim gubicima paketa.
BBR se umjesto toga proaktivno mjeri dva ključna parametra mreže:
- Propusnost uskog grla (Bottleneck Bandwidth, BtlBw): Gornja granica brzine prijenosa podataka u mrežnoj putanji, odnosno kapacitet najužeg grla u putanji.
- Vrijeme povratnog prijenosa (Round-trip Propagation Time, RTprop): Najkraće vrijeme potrebno da paket podataka putuje naprijed-natrag u mrežnoj putanji, isključujući vrijeme čekanja u međuspremnicima međupredajnika.
Mehanizam rada
BBR periodički istražuje ova dva parametra kako bi dinamički prilagodio svoje ponašanje slanja:
- Istraživanje propusnosti uskog grla: BBR će slati podatke neko vrijeme brzinom malo višom od trenutne procijenjene propusnosti uskog grla kako bi istražio postoji li veća dostupna propusnost.
- Istraživanje vremena povratnog prijenosa: BBR će slati podatke neko vrijeme brzinom malo nižom od trenutne procijenjene propusnosti uskog grla kako bi ispraznio redove čekanja u putanji, kako bi se izmjerio točniji RTprop.
Na taj način, BBR pokušava održavati količinu podataka koji se prenose (inflight data) na razini malo višoj od umnoška propusnosti i kašnjenja (BDP = BtlBw * RTprop). To može u potpunosti iskoristiti propusnost veze uskog grla i izbjeći predugo čekanje i veliku latenciju u mreži.
Glavne prednosti
- Visoka propusnost: Osobito u dugim masnim mrežama (Long Fat Networks) s određenim gubicima paketa i latencijom, BBR obično može dobiti veću propusnost od tradicionalnih algoritama.
- Niska latencija: Aktivnim upravljanjem redovima čekanja, BBR može učinkovito smanjiti latenciju mreže i izbjeći problem širenja međuspremnika.
- Neosjetljiv na gubitak paketa: Budući da se ne oslanja prvenstveno na gubitak paketa za utvrđivanje zagušenja, BBR je stabilniji u mrežama s malim brojem nasumičnih gubitaka paketa.
Uvjeti za omogućavanje BBR-a u sustavu Windows
Operativni sustav mora to podržavati. Verzija mora biti Windows 11 version 22H2 ili novija.
Pokrenite Powershell kao administrator i pošaljite sljedeću naredbu da biste saznali algoritme koje sustav podržava:
[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])
Može ispisati nešto slično:
Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2
Ovaj popis predstavlja nazive algoritama kontrole zagušenja koje sustav može prepoznati i konfigurirati u postavkama TCP-a. Default
obično znači da sustav odlučuje koristiti CUBIC ili neki drugi algoritam na temelju određenog predloška ili globalnih postavki.
Pokušaj korištenja BBR algoritma kontrole zagušenja u sustavu Windows
Pogledajte trenutno konfigurirani algoritam kontrole zagušenja:
Get-NetTCPSetting | Select SettingName, CongestionProvider
Izlaz bi mogao izgledati ovako:
SettingName CongestionProvider
----------- ------------------
Automatic
InternetCustom CUBIC
DatacenterCustom CUBIC
Compat NewReno
Datacenter CUBIC
Internet CUBIC
Pokušajte ga omogućiti:
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2
Greška:
Set-NetTCPSetting : Property CongestionProvider is read-only
At line:1 char:1
+ Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (MSFT_NetTCPSett...ystemName = ""):ROOT/StandardCimv2/MSFT_NetTCPSetti
ng) [Set-NetTCPSetting], CimException
+ FullyQualifiedErrorId : Windows System Error 87,Set-NetTCPSetting
Trenutni problemi s korištenjem BBR algoritma u sustavu Windows
U ovom trenutku, prema istraživanju, BBR podrška za Windows još nije savršena i ima mnogo grešaka (prva dva izvora spominju da će omogućavanje BBR-a oštetiti TCP promet “localhost” (povratne petlje), uzrokujući da veze unutar istog stroja postanu spore ili neodgovarajuće), kao što su:
- Oštetit će Steam, jer se Steamwebhelper više ne može pokrenuti, a kada se koristi Internet Download Manager, oštetit će sve kuke za preuzimanje, a kada se vrati na CUBIC, ponovno će raditi – Popravite BBR2 greške na sustavu Windows 11 - Microsoft Community , stvoreno 8. svibnja 2025.
- Nova greška BBR2 24H2 je nestabilna veza. Moj Firefox preglednik nasumično prima pogrešku
NS_BINDING_ABORT
. Moj Visual Studio Code Remote razvojni dodatak zapinje prilikom povezivanja i prikazuje sljedeću pogrešku:failed to set up socket for dynamic port forward to remote port =: proxy connection timed out.
. Moja Messenger (UWP) aplikacija se gotovo ruši (nove poruke se ne mogu prikazati). – Windows 11 24H2 i BBR2 : r/Windows11 - Prekida lokalne konzolne veze Hyper-V (od Windows 11 23H2). Konzola će prikazivati
Connecting to '[VM]'
nekoliko minuta, a zatim ne uspije sVideo remoting was disconnected
i iskoči porukaCould not connect to the virtual machine.
– Kako omogućiti TCP BBR na sustavu Windows - Stack Overflow - v2rayN se ne može ažurirati datoteke geolokacije, jezgre ili se povezati s proxy poslužiteljem. – [Bug]: BBR2 algoritam zagušenja u sustavu Windows uzrokuje prestanak rada v2rayN · 2dust/v2rayN
Stoga sam odlučio privremeno ne omogućiti BBR. Ako želite pokušati omogućiti, možete isprobati sljedeću naredbu:
netsh int tcp set supplemental template=Internet congestionprovider=BBR2
netsh int tcp set supplemental template=InternetCustom congestionprovider=BBR2
netsh int tcp set supplemental template=Datacenter congestionprovider=BBR2
netsh int tcp set supplemental template=DatacenterCustom congestionprovider=BBR2
netsh int tcp set supplemental template=Compat congestionprovider=BBR2
Ovdje također možete zamijeniti BBR2
s BBR
(BBR v1), možete testirati i usporediti učinke.
Zatim pogledajte je li trenutno konfigurirani algoritam kontrole zagušenja konfiguriran kao BBR2
:
Get-NetTCPSetting | Select SettingName, CongestionProvider
U sustavima Windows 11 23H2 / 24H2 omogućavanje BBR v2 može uzrokovati nedostupnost lokalnih TCP veza (na primjer, uzrokovati da adb ne radi, Steam ne radi itd.), u tom slučaju vratite algoritam kontrole zagušenja na prethodnu konfiguraciju. Nakon vraćanja nije potrebno ponovno pokretanje, problem bi trebao biti odmah riješen.
Ovaj članak nije savršen, dobrodošli su komentari ili poruke koje će me obavijestiti o najnovijim informacijama.
Referenca
Set-NetTCPSetting (NetTCPIP) | Microsoft Learn
Omogućite TCP BBR v2 na Linuxu i Windows 11 - Coxxs
Ostale verzije ove web stranice
Ovaj članak ima verzije na više jezika.
Ako želite objaviti komentar, posjetite sljedeću web stranicu:
Ove web stranice podržavaju samo pregledavanje, ne mogu se objavljivati komentari ili poruke, ali nude više jezičnih opcija i kraće vrijeme učitavanja:
ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO