Αυτό το άρθρο παρουσιάζει εν συντομία τον τρόπο ενεργοποίησης του αλγορίθμου ελέγχου συμφόρησης BBR σε συσκευές Windows, καθώς και τα τρέχοντα προβλήματα που μπορεί να προκύψουν από τη χρήση αυτής της λειτουργίας.
Εισαγωγή στο BBR
Το BBR (Bottleneck Bandwidth and Round-trip propagation time) είναι ένας νεότερος τύπος αλγορίθμου ελέγχου συμφόρησης TCP που αναπτύχθηκε από την Google. Σκοπός του είναι να επιλύσει τα προβλήματα της χαμηλής αξιοποίησης εύρους ζώνης και της μεγάλης καθυστέρησης που παρουσιάζουν οι παραδοσιακοί αλγόριθμοι ελέγχου συμφόρησης (όπως οι Reno ή CUBIC) σε ορισμένες δικτυακές συνθήκες (ειδικά σε δίκτυα με συγκεκριμένο ποσοστό απώλειας πακέτων και καθυστέρηση).
Βασική Ιδέα
Η βασική ιδέα του BBR είναι να μην βασίζεται πλέον στην απώλεια πακέτων ως το κύριο σήμα για την αξιολόγηση της συμφόρησης του δικτύου. Οι παραδοσιακοί αλγόριθμοι ελέγχου συμφόρησης συνήθως μειώνουν τον ρυθμό αποστολής μόνο όταν ανιχνεύουν απώλεια πακέτων, αλλά αυτό μπορεί να οδηγήσει σε μη επαρκή αξιοποίηση του διαθέσιμου εύρους ζώνης ή στην εισαγωγή περιττής καθυστέρησης (διόγκωση buffer) σε δίκτυα με μεγάλο buffer ή μικρή τυχαία απώλεια πακέτων.
Το BBR μετρά ενεργά δύο κρίσιμες παραμέτρους του δικτύου:
- Εύρος ζώνης συμφόρησης (Bottleneck Bandwidth, BtlBw): Το ανώτατο όριο του ρυθμού μετάδοσης δεδομένων στη διαδρομή δικτύου, δηλαδή η χωρητικότητα του στενότερου σημείου της διαδρομής.
- Χρόνος μετάδοσης μετ’ επιστροφής (Round-trip Propagation Time, RTprop): Ο ελάχιστος χρόνος που απαιτείται για τη μετάδοση ενός πακέτου δεδομένων μετ’ επιστροφής στη διαδρομή δικτύου, εξαιρουμένου του χρόνου αναμονής στην ουρά στα ενδιάμεσα buffers.
Μηχανισμός Λειτουργίας
Το BBR ρυθμίζει δυναμικά τη συμπεριφορά αποστολής του ανιχνεύοντας περιοδικά αυτές τις δύο παραμέτρους:
- Ανίχνευση εύρους ζώνης συμφόρησης: Το BBR στέλνει δεδομένα για μια χρονική περίοδο με ρυθμό ελαφρώς υψηλότερο από το τρέχον εκτιμώμενο εύρος ζώνης συμφόρησης, για να ανιχνεύσει εάν υπάρχει υψηλότερο διαθέσιμο εύρος ζώνης.
- Ανίχνευση χρόνου μετάδοσης μετ’ επιστροφής: Το BBR στέλνει δεδομένα για μια χρονική περίοδο με ρυθμό ελαφρώς χαμηλότερο από το τρέχον εκτιμώμενο εύρος ζώνης συμφόρησης, για να αδειάσει την ουρά στη διαδρομή, ώστε να μετρήσει έναν πιο ακριβή RTprop.
Με αυτόν τον τρόπο, το BBR προσπαθεί να διατηρήσει την ποσότητα των δεδομένων που μεταδίδονται (inflight data) σε ένα επίπεδο ελαφρώς υψηλότερο από το γινόμενο εύρους ζώνης-καθυστέρησης (BDP = BtlBw * RTprop). Αυτό επιτρέπει την πλήρη αξιοποίηση του εύρους ζώνης του συνδέσμου συμφόρησης και αποφεύγει τη δημιουργία υπερβολικής αναμονής στην ουρά και υψηλής καθυστέρησης στο δίκτυο.
Κύρια Πλεονεκτήματα
- Υψηλή απόδοση: Ειδικά σε μακρινά και παχιά δίκτυα (Long Fat Networks) με συγκεκριμένη απώλεια πακέτων και καθυστέρηση, το BBR μπορεί συνήθως να επιτύχει υψηλότερη απόδοση από τους παραδοσιακούς αλγόριθμους.
- Χαμηλή καθυστέρηση: Ελέγχοντας ενεργά την αναμονή στην ουρά, το BBR μπορεί να μειώσει αποτελεσματικά την καθυστέρηση του δικτύου και να αποφύγει το πρόβλημα της διόγκωσης του buffer.
- Μη ευαίσθητο στην απώλεια πακέτων: Επειδή δεν βασίζεται κυρίως στην απώλεια πακέτων για να αξιολογήσει τη συμφόρηση, το BBR είναι πιο σταθερό σε δίκτυα με μικρή τυχαία απώλεια πακέτων.
Προϋποθέσεις για την Ενεργοποίηση του BBR στα Windows
Πρέπει να υπάρχει υποστήριξη από το λειτουργικό σύστημα. Οι απαιτήσεις έκδοσης είναι πιθανώς Windows 11 version 22H2 και νεότερες.
Εκτελέστε το Powershell ως διαχειριστής και στείλτε την ακόλουθη εντολή για να μάθετε τους αλγόριθμους που υποστηρίζει το σύστημα:
[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])
Μπορεί να εμφανίσει κάτι σαν:
Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2
Αυτή η λίστα αντιπροσωπεύει τα ονόματα των αλγορίθμων ελέγχου συμφόρησης που το σύστημα μπορεί να αναγνωρίσει και να διαμορφώσει στις ρυθμίσεις TCP. Το Default
συνήθως σημαίνει ότι το σύστημα αποφασίζει να χρησιμοποιήσει CUBIC ή άλλον αλγόριθμο σύμφωνα με συγκεκριμένο πρότυπο ή γενικές ρυθμίσεις.
Προσπάθεια Χρήσης του Αλγορίθμου Ελέγχου Συμφόρησης BBR στα Windows
Ελέγξτε τον τρέχοντα διαμορφωμένο αλγόριθμο ελέγχου συμφόρησης:
Get-NetTCPSetting | Select SettingName, CongestionProvider
Η έξοδος μπορεί να είναι η εξής:
SettingName CongestionProvider
----------- ------------------
Automatic
InternetCustom CUBIC
DatacenterCustom CUBIC
Compat NewReno
Datacenter CUBIC
Internet CUBIC
Προσπαθήστε να ενεργοποιήσετε:
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2
Σφάλμα:
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
Τρέχοντα Προβλήματα με τη Χρήση του Αλγορίθμου BBR στα Windows
Αυτή τη στιγμή, πληροφορούμαστε ότι η υποστήριξη BBR των Windows δεν είναι πλήρης και υπάρχουν πολλά σφάλματα (οι δύο πρώτες πηγές αναφέρουν ότι η ενεργοποίηση του BBR θα καταστρέψει την κυκλοφορία TCP του “localhost” (διεπαφή βρόχου), προκαλώντας επιβράδυνση ή μη ανταπόκριση των συνδέσεων εντός του ίδιου υπολογιστή), όπως:
- Καταστρέφει το Steam, επειδή το Steamwebhelper δεν μπορεί πλέον να ξεκινήσει και, όταν χρησιμοποιείτε το Internet Download Manager, καταστρέφει όλα τα download hooks, ενώ όταν αλλάζετε ξανά σε CUBIC, λειτουργούν ξανά - Fix BBR2 bugs on Windows 11 - Microsoft Community , δημιουργήθηκε στις 8 Μαΐου 2025
- Το νέο σφάλμα του BBR2 24H2 είναι η ασταθής σύνδεση. Ο Firefox browser μου λαμβάνει τυχαία σφάλματα
NS_BINDING_ABORT
. Το plugin ανάπτυξης Visual Studio Code Remote κολλάει κατά τη σύνδεση και εμφανίζει το ακόλουθο σφάλμα:failed to set up socket for dynamic port forward to remote port =: proxy connection timed out.
Η εφαρμογή Messenger (UWP) σχεδόν καταρρέει (δεν εμφανίζονται νέα μηνύματα). - Windows 11 24H2 and BBR2 : r/Windows11 - Διακόπτει τις συνδέσεις τοπικής κονσόλας του Hyper-V (από τα Windows 11 23H2). Η κονσόλα θα εμφανίζει
Connecting to '[VM]'
για λίγα λεπτά και, στη συνέχεια, θα αποτυγχάνει μεVideo remoting was disconnected
και θα εμφανίζεται ένα μήνυμαCould not connect to the virtual machine.
- Πώς να ενεργοποιήσετε το TCP BBR στα Windows - Stack Overflow - Το v2rayN δεν μπορεί να ενημερώσει τα αρχεία γεωγραφικών πληροφοριών, τον πυρήνα ή να συνδεθεί σε διακομιστή μεσολάβησης. - [Bug]: Ο αλγόριθμος συμφόρησης BBR2 στα Windows προκαλεί τη διακοπή λειτουργίας του v2rayN · 2dust/v2rayN
Επομένως, αποφασίζουμε να μην ενεργοποιήσουμε προσωρινά το BBR. Εάν θέλετε να δοκιμάσετε να το ενεργοποιήσετε, μπορείτε να δοκιμάσετε την εντολή:
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
Εδώ μπορείτε επίσης να αντικαταστήσετε το BBR2
με BBR
(BBR v1), μπορείτε να το δοκιμάσετε και να συγκρίνετε τα αποτελέσματα.
Στη συνέχεια, ελέγξτε εάν ο τρέχων διαμορφωμένος αλγόριθμος ελέγχου συμφόρησης έχει διαμορφωθεί ως BBR2
:
Get-NetTCPSetting | Select SettingName, CongestionProvider
Στα Windows 11 23H2 / 24H2, η ενεργοποίηση του BBR v2 μπορεί να καταστήσει μη διαθέσιμες τις τοπικές συνδέσεις TCP (για παράδειγμα, προκαλώντας την αποτυχία του adb, την αποτυχία του Steam κ.λπ.), οπότε επαναφέρετε τον αλγόριθμο ελέγχου συμφόρησης στην προηγούμενη διαμόρφωση. Δεν χρειάζεται επανεκκίνηση μετά την επαναφορά και το πρόβλημα θα πρέπει να επιλυθεί αμέσως.
Αυτό το άρθρο δεν είναι πλήρες, καλωσορίζουμε σχόλια ή σχόλια για να μου γνωστοποιήσετε τις τελευταίες πληροφορίες.
Αναφορές
Set-NetTCPSetting (NetTCPIP) | Microsoft Learn
Ενεργοποίηση TCP BBR v2 σε Linux & Windows 11 - Coxxs
Άλλες Εκδόσεις αυτής της Ιστοσελίδας
Αυτό το άρθρο είναι διαθέσιμο σε πολλές γλώσσες.
Αν θέλετε να αφήσετε ένα σχόλιο, επισκεφθείτε τις ακόλουθες ιστοσελίδες:
Αυτές οι ιστοσελίδες υποστηρίζουν μόνο περιήγηση και δεν είναι δυνατή η δημοσίευση σχολίων ή μηνυμάτων, αλλά παρέχουν περισσότερες επιλογές γλώσσας και έχουν μικρότερο χρόνο φόρτωσης:
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