Denne artikkelen gir en kort introduksjon til hvordan du aktiverer BBR-overbelastningskontrollalgoritmen på Windows-enheter, og hvilke problemer som kan oppstå ved bruk av denne funksjonen.
BBR Introduksjon
BBR (Bottleneck Bandwidth and Round-trip propagation time) er en nyere TCP overbelastningskontrollalgoritme utviklet av Google. Den er utviklet for å løse problemene med lav båndbreddeutnyttelse og høy latens som tradisjonelle overbelastningskontrollalgoritmer (som Reno eller CUBIC) har under visse nettverksforhold (spesielt i nettverk med en viss pakningstap og latens).
Kjerneide
Kjerneideen bak BBR er ikke lenger å stole på pakningstap som et hovedsignal for å vurdere nettverksoverbelastning. Tradisjonelle overbelastningskontrollalgoritmer reduserer vanligvis sendehastigheten når de oppdager pakningstap, men dette kan føre til at tilgjengelig båndbredde ikke utnyttes fullt ut, eller introdusere unødvendig latens (bufferinflasjon) i nettverk med store buffere eller lett tilfeldig pakningstap.
BBR måler i stedet aktivt to viktige nettverksparametere:
- Flaskehalsbåndbredde (Bottleneck Bandwidth, BtlBw): Den øvre grensen for dataoverføringshastigheten i nettverksbanen, det vil si kapasiteten til det smaleste punktet i banen.
- Rundeturs forplantningstid (Round-trip Propagation Time, RTprop): Minimumstiden det tar for en datapakke å reise frem og tilbake i nettverksbanen, eksklusive køtid i mellomliggende enheters buffere.
Arbeidsmekanisme
BBR justerer sin sendeoppførsel dynamisk ved å periodisk undersøke disse to parameterne:
- Undersøk flaskehalsbåndbredde: BBR vil sende data med en hastighet litt høyere enn den nåværende estimerte flaskehalsbåndbredden i en periode for å undersøke om det er høyere tilgjengelig båndbredde.
- Undersøk rundeturs forplantningstid: BBR vil sende data med en hastighet litt lavere enn den nåværende estimerte flaskehalsbåndbredden i en periode for å tømme køen i banen, og dermed måle en mer nøyaktig RTprop.
På denne måten prøver BBR å opprettholde mengden data som overføres (inflight data) på et nivå litt høyere enn båndbredde-forsinkelsesproduktet (BDP = BtlBw * RTprop). Dette vil både fullt ut utnytte båndbredden til flaskehalskoblingen og unngå å forårsake for lange køer og høy latens i nettverket.
Hovedfordeler
- Høy gjennomstrømming: Spesielt i lange, fete nettverk (Long Fat Networks) med en viss pakningstap og latens, kan BBR vanligvis oppnå høyere gjennomstrømming enn tradisjonelle algoritmer.
- Lav latens: Ved å aktivt kontrollere køen kan BBR effektivt redusere nettverkslatensen og unngå problemer med bufferinflasjon.
- Ikke følsom for pakningstap: Siden den ikke hovedsakelig er avhengig av pakningstap for å vurdere overbelastning, er BBR mer stabil i nettverk med lite tilfeldig pakningstap.
Betingelser for å aktivere BBR i Windows
Operativsystemet må støtte det. Versjonskravet kan være Windows 11 versjon 22H2 eller nyere.
Kjør Powershell som administrator og send følgende kommando for å forstå hvilke algoritmer systemet støtter:
[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])
Det kan gi en utskrift som ligner på:
Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2
Denne listen representerer navnene på overbelastningskontrollalgoritmene som systemet kan gjenkjenne og konfigurere i TCP-innstillingene. Default
betyr vanligvis at systemet bestemmer om det skal bruke CUBIC eller andre algoritmer basert på en bestemt mal eller globale innstillinger.
Prøv å bruke BBR-overbelastningskontrollalgoritmen i Windows
Vis den nåværende konfigurerte overbelastningskontrollalgoritmen:
Get-NetTCPSetting | Select SettingName, CongestionProvider
Utskriften kan se slik ut:
SettingName CongestionProvider
----------- ------------------
Automatic
InternetCustom CUBIC
DatacenterCustom CUBIC
Compat NewReno
Datacenter CUBIC
Internet CUBIC
Prøv å aktivere:
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2
Feil:
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
Problemer med bruk av BBR-algoritmen i Windows for øyeblikket
På dette tidspunktet har søk vist at Windows’ BBR-støtte ennå ikke er perfekt, og det er mange feil (de to første materialene nevner at aktivering av BBR vil ødelegge “localhost” (loopback-grensesnitt) TCP-trafikk, noe som fører til at tilkoblinger i samme maskin blir trege eller ikke reagerer), for eksempel:
- Vil ødelegge Steam, fordi Steamwebhelper ikke lenger kan starte, og når Internet Download Manager brukes, vil det ødelegge alle nedlastingskroker. Når du bytter tilbake til CUBIC, vil de fungere igjen - Fix BBR2 bugs on Windows 11 - Microsoft Community , opprettet 8. mai 2025
- Den nye feilen i BBR2 24H2 er ustabile tilkoblinger. Firefox-nettleseren min mottar tilfeldig
NS_BINDING_ABORT
-feil. Visual Studio Code Remote-utviklingspluginet mitt sitter fast når jeg kobler til, og viser følgende feil:failed to set up socket for dynamic port forward to remote port =: proxy connection timed out.
Messenger (UWP)-appen min krasjer nesten (nye meldinger vises ikke). - Windows 11 24H2 and BBR2 : r/Windows11 - Vil avbryte lokale konsolltilkoblinger til Hyper-V (siden Windows 11 23H2). Konsollen vil vise
Connecting to '[VM]'
i noen minutter, og deretter mislykkes medVideo remoting was disconnected
, og en meldingCould not connect to the virtual machine.
dukker opp. - Hvordan aktivere TCP BBR på Windows - Stack Overflow - v2rayN kan ikke oppdatere geografiske filer, kjerne eller koble til proxy-serveren. - [Bug]: BBR2-overbelastningsalgoritmen i Windows fører til at v2rayN slutter å fungere · 2dust/v2rayN
Derfor er det besluttet å ikke aktivere BBR for øyeblikket. Hvis du vil prøve å aktivere det, kan du prøve følgende kommando:
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
Her kan du også erstatte BBR2
med BBR
(BBR v1) for å teste og sammenligne effektene.
Sjekk deretter om den nåværende konfigurerte overbelastningskontrollalgoritmen allerede er konfigurert som BBR2
:
Get-NetTCPSetting | Select SettingName, CongestionProvider
På Windows 11 23H2 / 24H2 kan aktivering av BBR v2 føre til at lokale TCP-tilkoblinger blir utilgjengelige (for eksempel føre til at adb ikke kan brukes, Steam mislykkes osv.), vennligst gjenopprett overbelastningskontrollalgoritmen til den forrige konfigurasjonen. Ingen omstart er nødvendig etter gjenoppretting, og problemet skal løses umiddelbart.
Denne artikkelen er ikke perfekt, legg gjerne igjen kommentarer eller meldinger for å informere meg om den nyeste informasjonen.
Referanse
Set-NetTCPSetting (NetTCPIP) | Microsoft Learn
Aktiver TCP BBR v2 på Linux og Windows 11 - Coxxs
Andre versjoner av denne nettsiden
Denne artikkelen finnes i flere språkversjoner.
Hvis du vil legge inn en kommentar, kan du gå til følgende nettside:
Disse nettsidene støtter bare surfing, og det er ikke mulig å legge inn kommentarer eller meldinger, men de gir flere språkalternativer og kortere lastetider:
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