Dieser Artikel gibt eine kurze Einführung, wie man den BBR-Staukontrollalgorithmus auf Windows-Geräten aktiviert und welche Probleme bei der Verwendung dieser Funktion auftreten können.

BBR Einführung

BBR (Bottleneck Bandwidth and Round-trip propagation time) ist ein neuerer TCP-Staukontrollalgorithmus, der von Google entwickelt wurde. Er zielt darauf ab, die Probleme traditioneller Staukontrollalgorithmen (wie Reno oder CUBIC) zu lösen, die unter bestimmten Netzwerkbedingungen (insbesondere in Netzwerken mit einer gewissen Paketverlustrate und Latenz) eine geringe Bandbreitenauslastung und eine hohe Latenz aufweisen.

Kernidee

Die Kernidee von BBR ist, sich nicht mehr auf Paketverluste als Hauptsignal für Netzwerküberlastung zu verlassen. Traditionelle Staukontrollalgorithmen reduzieren die Sendegeschwindigkeit in der Regel erst, wenn sie Paketverluste feststellen. Dies kann jedoch in Netzwerken mit großen Puffern oder geringfügigen zufälligen Paketverlusten dazu führen, dass die verfügbare Bandbreite nicht vollständig genutzt wird oder unnötige Verzögerungen (Pufferüberlauf) entstehen.

BBR misst stattdessen aktiv zwei Schlüsselparameter des Netzwerks:

  1. Engpassbandbreite (Bottleneck Bandwidth, BtlBw): Die Obergrenze der Datenübertragungsrate im Netzwerkpfad, d. h. die Kapazität des schmalsten Glieds im Pfad.
  2. Round-trip Propagation Time (RTprop): Die kürzeste Zeit, die ein Datenpaket für die Hin- und Rückreise im Netzwerkpfad benötigt, ohne die Wartezeit in den Puffern der Zwischengeräte.

Funktionsweise

BBR passt sein Sende Verhalten dynamisch an, indem es diese beiden Parameter periodisch erfasst:

  • Erkennung der Engpassbandbreite: BBR sendet Daten für eine gewisse Zeit mit einer Rate, die etwas höher ist als die aktuell geschätzte Engpassbandbreite, um zu prüfen, ob eine höhere verfügbare Bandbreite vorhanden ist.
  • Erkennung der Round-trip Propagation Time: BBR sendet Daten für eine gewisse Zeit mit einer Rate, die etwas niedriger ist als die aktuell geschätzte Engpassbandbreite, um die Warteschlangen im Pfad zu leeren und so eine genauere RTprop zu messen.

Auf diese Weise versucht BBR, die Menge der übertragenen Daten (inflight data) auf einem Niveau zu halten, das geringfügig über dem Bandbreiten-Verzögerungsprodukt (BDP = BtlBw * RTprop) liegt. Dies ermöglicht es, die Bandbreite der Engpassverbindung voll auszunutzen und gleichzeitig zu vermeiden, dass im Netzwerk zu lange Warteschlangen und hohe Latenzen entstehen.

Hauptvorteile

  • Hoher Durchsatz: Insbesondere in langen, fetten Netzwerken (Long Fat Networks) mit einer gewissen Paketverlustrate und Latenz kann BBR in der Regel einen höheren Durchsatz erzielen als herkömmliche Algorithmen.
  • Geringe Latenz: Durch die aktive Steuerung der Warteschlangen kann BBR die Netzwerklatenz effektiv reduzieren und Pufferüberlaufprobleme vermeiden.
  • Unempfindlich gegenüber Paketverlusten: Da BBR sich nicht hauptsächlich auf Paketverluste verlässt, um Überlastungen zu erkennen, ist es in Netzwerken mit geringen zufälligen Paketverlusten stabiler.

Bedingungen für die Aktivierung von BBR unter Windows

Das Betriebssystem muss dies unterstützen. Die Versionsanforderung ist wahrscheinlich Windows 11 Version 22H2 oder höher.

Führen Sie Powershell als Administrator aus und senden Sie den folgenden Befehl, um die vom System unterstützten Algorithmen zu erfahren:

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

Es kann eine ähnliche Ausgabe erfolgen:

Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2

Diese Liste stellt die Namen der Staukontrollalgorithmen dar, die das System in den TCP-Einstellungen erkennen und konfigurieren kann. Default bedeutet in der Regel, dass das System anhand einer bestimmten Vorlage oder globalen Einstellung entscheidet, ob CUBIC oder ein anderer Algorithmus verwendet werden soll.

Windows-Versuch, den BBR-Staukontrollalgorithmus zu verwenden

Anzeigen des aktuell konfigurierten Staukontrollalgorithmus:

Get-NetTCPSetting | Select SettingName, CongestionProvider

Die Ausgabe kann wie folgt aussehen:

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

Versuchen Sie, es zu aktivieren:

Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2

Fehler:

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

Aktuelles Problem bei der Verwendung des BBR-Algorithmus unter Windows

Zu diesem Zeitpunkt wurde durch Nachforschungen festgestellt, dass die BBR-Unterstützung von Windows noch nicht perfekt ist und viele Bugs aufweist (die ersten beiden Quellen erwähnen, dass die Aktivierung von BBR den “localhost” (Loopback-Schnittstelle) TCP-Datenverkehr beeinträchtigt, was zu langsamen oder nicht reagierenden Verbindungen innerhalb desselben Rechners führt), wie z. B.:

  • Steam wird beschädigt, da Steamwebhelper nicht mehr gestartet werden kann, und wenn Internet Download Manager verwendet wird, werden alle Download-Hooks beschädigt, die wieder funktionieren, wenn auf CUBIC zurückgeschaltet wird - Fix BBR2 bugs on Windows 11 - Microsoft Community , erstellt am 8. Mai 2025
  • Der neue Bug von BBR2 24H2 ist eine instabile Verbindung. Mein Firefox-Browser empfängt zufällig NS_BINDING_ABORT-Fehler. Mein Visual Studio Code Remote-Entwicklungs-Plugin bleibt beim Verbinden hängen und gibt den folgenden Fehler aus: failed to set up socket for dynamic port forward to remote port =: proxy connection timed out. Meine Messenger (UWP)-App stürzt fast ab (neue Nachrichten können nicht angezeigt werden). - Windows 11 24H2 and BBR2 : r/Windows11
  • Unterbricht die lokale Konsolenverbindung von Hyper-V (seit Windows 11 23H2). Die Konsole zeigt Connecting to '[VM]' für einige Minuten an und schlägt dann mit Video remoting was disconnected fehl, zusammen mit einer Pop-up-Meldung Could not connect to the virtual machine. - 如何在 Windows 上启用 TCP BBR - Stack Overflow
  • v2rayN kann keine Geodateien oder Kerne aktualisieren oder sich mit einem Proxyserver verbinden. - [Bug]: Windows 中的 BBR2 拥塞算法导致 v2rayN 停止工作 · 2dust/v2rayN

Daher wurde beschlossen, BBR vorerst nicht zu aktivieren. Wenn Sie es aktivieren möchten, können Sie den folgenden Befehl ausprobieren:

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

Hier können Sie auch BBR2 durch BBR (BBR v1) ersetzen, um es zu testen und die Ergebnisse zu vergleichen.

Überprüfen Sie dann, ob der aktuell konfigurierte Staukontrollalgorithmus auf BBR2 konfiguriert ist:

Get-NetTCPSetting | Select SettingName, CongestionProvider

Unter Windows 11 23H2 / 24H2 kann die Aktivierung von BBR v2 dazu führen, dass lokale TCP-Verbindungen nicht mehr verfügbar sind (z. B. kann adb nicht mehr verwendet werden, Steam schlägt fehl usw.) In diesem Fall setzen Sie den Staukontrollalgorithmus bitte auf die vorherige Konfiguration zurück. Nach der Wiederherstellung ist kein Neustart erforderlich, das Problem sollte sofort behoben sein.

Dieser Artikel ist noch nicht perfekt. Bitte hinterlassen Sie Kommentare oder Bemerkungen, um mir die neuesten Informationen mitzuteilen.

Referenz

Set-NetTCPSetting (NetTCPIP) | Microsoft Learn

Enable TCP BBR v2 on Linux & Windows 11 - Coxxs

https://github.com/google/bbr

Andere Versionen dieser Webseite

Dieser Artikel ist in verschiedenen Sprachen verfügbar.

Wenn Sie einen Kommentar abgeben möchten, besuchen Sie bitte die folgende Webseite:

ZH EN ZH-TW JA

Diese Webseiten unterstützen nur das Durchsuchen, es können keine Kommentare abgegeben werden, bieten aber mehr Sprachoptionen und eine schnellere Ladezeit:

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