Ez a cikk röviden bemutatja, hogyan engedélyezhető a BBR torlódásvezérlési algoritmus Windows-eszközökön, valamint az ezzel a funkcióval való aktuális használat lehetséges problémáit.

BBR bemutatása

A BBR (Bottleneck Bandwidth and Round-trip propagation time) egy újabb típusú, a Google által fejlesztett TCP torlódásvezérlési algoritmus. Célja a hagyományos torlódásvezérlési algoritmusok (mint például a Reno vagy a CUBIC) problémáinak megoldása bizonyos hálózati feltételek mellett (különösen bizonyos csomagvesztési arány és késleltetés esetén), ahol a sávszélesség kihasználtsága alacsony és a késleltetés nagy.

Alapelv

A BBR alapelve, hogy már nem a csomagvesztésre támaszkodik a hálózati torlódás fő jelzőjeként. A hagyományos torlódásvezérlési algoritmusok általában csak akkor csökkentik a küldési sebességet, ha csomagvesztést észlelnek, ami azonban a nagyobb pufferekkel vagy enyhe, véletlenszerű csomagvesztéssel rendelkező hálózatokban a rendelkezésre álló sávszélesség elégtelen kihasználásához vagy szükségtelen késleltetéshez (puffer felduzzadás) vezethet.

A BBR ehelyett aktívan méri a hálózat két kulcsfontosságú paraméterét:

  1. Szűk keresztmetszeti sávszélesség (Bottleneck Bandwidth, BtlBw): A hálózati útvonalon történő adatátviteli sebesség felső határa, azaz az útvonal legszűkebb pontjának kapacitása.
  2. Körbefordulási terjedési idő (Round-trip Propagation Time, RTprop): Az az idő, amely alatt egy adatcsomagnak a hálózati útvonalon oda-vissza kell utaznia, nem számítva a köztes eszközök puffereiben való várakozási időt.

Működési mechanizmus

A BBR rendszeresen érzékeli ezt a két paramétert a küldési viselkedésének dinamikus beállításához:

  • Szűk keresztmetszeti sávszélesség érzékelése: A BBR egy ideig a jelenlegi becsült szűk keresztmetszeti sávszélességnél valamivel nagyobb sebességgel küld adatokat, hogy megvizsgálja, van-e nagyobb rendelkezésre álló sávszélesség.
  • Körbefordulási terjedési idő érzékelése: A BBR egy ideig a jelenlegi becsült szűk keresztmetszeti sávszélességnél valamivel alacsonyabb sebességgel küld adatokat, hogy kiürítse a sorokat az útvonalon, így pontosabban mérhető az RTprop.

Ily módon a BBR megpróbálja a továbbított adatmennyiséget (inflight data) a sávszélesség-késleltetés szorzatának (BDP = BtlBw * RTprop) valamivel magasabb szintjén tartani. Ez mind teljes mértékben kihasználja a szűk keresztmetszetű kapcsolat sávszélességét, mind pedig elkerüli a túlzott sorban állást és a magas késleltetést a hálózaton.

Főbb előnyök

  • Magas áteresztőképesség: Különösen a bizonyos csomagvesztéssel és késleltetéssel rendelkező hosszú és széles hálózatokban (Long Fat Networks) a BBR általában nagyobb áteresztőképességet ér el, mint a hagyományos algoritmusok.
  • Alacsony késleltetés: A sorban állás aktív vezérlésével a BBR hatékonyan csökkenti a hálózati késleltetést és elkerüli a puffer felduzzadási problémáit.
  • Nem érzékeny a csomagvesztésre: Mivel nem elsősorban a csomagvesztésre támaszkodik a torlódás megítélésében, a BBR stabilabban teljesít a kevés véletlenszerű csomagvesztéssel rendelkező hálózatokban.

A BBR Windows-on történő engedélyezésének feltételei

A BBR engedélyezéséhez az operációs rendszernek támogatnia kell azt. A verziókövetelmény valószínűleg Windows 11 22H2 vagy újabb.

Futtassa a Powershellt rendszergazdaként, és küldje el a következő parancsot a rendszer által támogatott algoritmusok megismeréséhez:

[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])

Ez a következőhöz hasonló kimenetet adhat:

Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2

Ez a lista a rendszer által a TCP-beállításokban felismerhető és konfigurálható torlódásvezérlési algoritmusok neveit képviseli. A Default általában azt jelenti, hogy a rendszer egy adott sablon vagy globális beállítás alapján dönti el, hogy a CUBIC-et vagy más algoritmust használja.

Próbálja ki a BBR torlódásvezérlési algoritmus használatát a Windows rendszeren

Nézze meg az aktuálisan konfigurált torlódásvezérlési algoritmust:

Get-NetTCPSetting | Select SettingName, CongestionProvider

A kimenet a következő lehet:

SettingName        CongestionProvider
-----------        ------------------
Automatic
InternetCustom     CUBIC
DatacenterCustom   CUBIC
Compat             NewReno
Datacenter         CUBIC
Internet           CUBIC

Próbálja meg engedélyezni:

Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2

Hiba:

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

A BBR algoritmus jelenlegi Windows-os használatával kapcsolatos problémák

Ekkor a lekérdezés azt mutatja, hogy a Windows BBR támogatása még nem tökéletes, sok hibával (az első két forrás megemlíti, hogy a BBR engedélyezése tönkreteszi a “localhost” (loopback interfész) TCP-forgalmat, ami lassúvá vagy nem válaszolóvá teszi az azonos gépen belüli kapcsolatokat), mint például:

  • Tönkreteszi a Steamet, mert a Steamwebhelper nem indul el többé, és amikor az Internet Download Managert használják, tönkreteszi az összes letöltési horgot, és amikor visszaváltanak a CUBIC-re, azok újra működni fognak - Fix BBR2 bugs on Windows 11 - Microsoft Community , létrehozva 2025. május 8-án
  • A BBR2 24H2 új hibája a bizonytalan kapcsolat. A Firefox böngészőm véletlenszerűen NS_BINDING_ABORT hibákat kap. A Visual Studio Code Remote Development bővítményem lefagy, amikor csatlakozik, és a következő hibát adja: failed to set up socket for dynamic port forward to remote port =: proxy connection timed out. . A Messenger (UWP) alkalmazásom szinte összeomlik (az új üzenetek nem jelennek meg). - Windows 11 24H2 and BBR2 : r/Windows11
  • Megszakítja a Hyper-V helyi konzolkapcsolatait (a Windows 11 23H2 óta). A konzol perceken keresztül a Connecting to '[VM]' üzenetet mutatja, majd sikertelenül leáll a Video remoting was disconnected üzenettel, és felugrik a Could not connect to the virtual machine. üzenet. - Hogyan engedélyezhető a TCP BBR a Windows rendszeren - Stack Overflow
  • A v2rayN nem tudja frissíteni a földrajzi fájlokat, a magot vagy csatlakozni a proxy szerverhez. - [Bug]: Windows-ban a BBR2 torlódás algoritmus miatt a v2rayN nem működik · 2dust/v2rayN

Ezért úgy döntöttem, hogy egyelőre nem engedélyezem a BBR-t. Ha meg szeretné próbálni engedélyezni, próbálja ki a következő parancsot:

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

Itt a BBR2-t  kicserélheti BBR-re  (BBR v1), tesztelheti és összehasonlíthatja a hatást.

Ezután nézze meg az aktuálisan konfigurált torlódásvezérlési algoritmust, hogy konfigurálva van-e a BBR2-re:

Get-NetTCPSetting | Select SettingName, CongestionProvider

A Windows 11 23H2 / 24H2 rendszereken a BBR v2 engedélyezése a helyi TCP kapcsolatok elérhetetlenné válásához vezethet (például az adb használhatatlanná válásához, a Steam meghibásodásához stb.), ebben az esetben állítsa vissza a torlódásvezérlési algoritmust a korábbi konfigurációra. A visszaállítás után nem kell újraindítani, a problémának azonnal meg kell oldódnia.

Ez a cikk még nem tökéletes, szívesen fogadok megjegyzéseket vagy észrevételeket, hogy tájékoztassanak a legfrissebb információkról.

Hivatkozások

Set-NetTCPSetting (NetTCPIP) | Microsoft Learn

Enable TCP BBR v2 on Linux & Windows 11 - Coxxs

https://github.com/google/bbr

A weboldal egyéb verziói

Ennek a cikknek többnyelvű változata is van.

Ha megjegyzést szeretne fűzni, keresse fel a következő weboldalakat:

ZH EN ZH-TW JA

Ezek a weboldalak csak böngészést tesznek lehetővé, megjegyzések és üzenetek írását nem, de több nyelvi lehetőséget kínálnak, és rövidebb betöltési idővel rendelkeznek:

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