Bu makale, windows cihazlarında BBR tıkanıklık kontrolü algoritmasının nasıl etkinleştirileceğini ve bu özelliğin kullanımının mevcut sorunlarını kısaca tanıtmaktadır.
BBR Tanıtımı
BBR (Bottleneck Bandwidth and Round-trip propagation time), Google tarafından geliştirilen daha yeni bir TCP tıkanıklık kontrolü algoritmasıdır. Amacı, geleneksel tıkanıklık kontrolü algoritmalarının (Reno veya CUBIC gibi) belirli ağ koşullarında (özellikle belirli bir paket kaybı oranı ve gecikme olan ağlarda) bant genişliği kullanımının düşük olması ve gecikmenin büyük olması sorunlarını çözmektir.
Temel Düşünce
BBR’nin temel düşüncesi, ağ tıkanıklığını belirlemek için artık paket kaybına bağımlı olmamaktır. Geleneksel tıkanıklık kontrolü algoritmaları genellikle yalnızca paket kaybı algıladıklarında gönderme hızını düşürürler, ancak bu, tamponun daha büyük olduğu veya hafif rastgele paket kaybının olduğu ağlarda, mevcut bant genişliğinden tam olarak yararlanamamaya veya gereksiz gecikmelere (tampon şişmesi) neden olabilir.
BBR bunun yerine ağın iki temel parametresini aktif olarak ölçer:
- Darboğaz Bant Genişliği (Bottleneck Bandwidth, BtlBw): Ağ yolunda veri aktarım hızının üst sınırı, yani yoldaki en dar halkanın kapasitesi.
- Gidiş-Dönüş Yayılma Süresi (Round-trip Propagation Time, RTprop): Veri paketinin ağ yolunda gidiş-dönüş için gereken en kısa süre, ara cihazlardaki arabellekteki bekleme süresi dahil değildir.
Çalışma Mekanizması
BBR, bu iki parametreyi periyodik olarak inceleyerek gönderme davranışını dinamik olarak ayarlar:
- Darboğaz bant genişliğini araştırma: BBR, daha yüksek kullanılabilir bant genişliği olup olmadığını araştırmak için bir süre boyunca mevcut tahmini darboğaz bant genişliğinden biraz daha yüksek bir hızda veri gönderir.
- Gidiş-dönüş yayılma süresini araştırma: BBR, yoldaki kuyruğu boşaltmak ve böylece daha doğru bir RTprop ölçmek için bir süre boyunca mevcut tahmini darboğaz bant genişliğinden biraz daha düşük bir hızda veri gönderir.
Bu şekilde, BBR, aktarılan veri miktarını (inflight data) bant genişliği gecikme çarpımının (BDP = BtlBw * RTprop) biraz üzerinde bir seviyede tutmaya çalışır. Bu, hem darboğaz bağlantısının bant genişliğinden tam olarak yararlanmayı hem de ağda aşırı uzun kuyruklara ve yüksek gecikmelere neden olmaktan kaçınmayı sağlar.
Temel Avantajları
- Yüksek verim: Özellikle belirli bir paket kaybı ve gecikmenin olduğu uzun yağlı ağlarda (Long Fat Networks), BBR genellikle geleneksel algoritmalardan daha yüksek verim elde edebilir.
- Düşük gecikme: BBR, kuyruğu aktif olarak kontrol ederek ağ gecikmesini etkili bir şekilde azaltabilir ve arabellek şişmesi sorunlarını önleyebilir.
- Paket kaybına duyarlı değil: Tıkanıklığı belirlemek için temel olarak paket kaybına dayanmadığından, BBR az miktarda rastgele paket kaybı olan ağlarda daha kararlıdır.
Windows’ta BBR’yi Etkinleştirme Koşulları
İşletim sisteminin desteklemesi gerekir. Sürüm gereksinimi muhtemelen Windows 11 sürüm 22H2 ve üzeri olmalıdır.
Powershell’i yönetici olarak çalıştırın ve sistem tarafından desteklenen algoritmaları anlamak için aşağıdaki komutu gönderin:
[Enum]::GetNames([Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetTCPSetting.CongestionProvider])
Şuna benzer bir çıktı verebilir:
Default
NewReno
CTCP
DCTCP
LEDBAT
CUBIC
BBR2
Bu liste, sistemin TCP ayarlarında tanıyabildiği ve yapılandırabildiği tıkanıklık kontrolü algoritma adlarını temsil eder. Default
genellikle sistemin CUBIC veya başka bir algoritma kullanmaya karar vermesi için belirli bir şablon veya genel ayara göre karar verildiği anlamına gelir.
Windows’ta BBR tıkanıklık kontrolü algoritmasını kullanmayı deneme
Mevcut yapılandırılmış tıkanıklık kontrolü algoritmasını görüntüleyin:
Get-NetTCPSetting | Select SettingName, CongestionProvider
Çıktı aşağıdaki gibi olabilir:
SettingName CongestionProvider
----------- ------------------
Automatic
InternetCustom CUBIC
DatacenterCustom CUBIC
Compat NewReno
Datacenter CUBIC
Internet CUBIC
Etkinleştirmeyi deneyin:
Set-NetTCPSetting -SettingName InternetCustom -CongestionProvider BBR2
Hata:
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
Mevcut Windows’ta BBR algoritması kullanımındaki sorunlar
Şu anda, Windows’un BBR desteğinin henüz mükemmel olmadığı, birçok hatanın olduğu (ilk iki kaynak, BBR’nin etkinleştirilmesinin “localhost” (geri döngü arayüzü) TCP trafiğini bozacağını, aynı makine içindeki bağlantıların yavaş veya yanıtsız hale gelmesine neden olacağını belirtiyor) öğrenildi:
- Steam’i bozacak, çünkü Steamwebhelper artık başlatılamayacak ve Internet Download Manager kullanıldığında tüm indirme kancalarını bozacak, CUBIC’e geri döndürüldüğünde tekrar çalışacaklar - Windows 11’de BBR2 hatalarını düzeltme - Microsoft Community , 8 Mayıs 2025’te oluşturuldu
- BBR2 24H2’nin yeni hatası bağlantıların kararsız olmasıdır. Firefox tarayıcım rastgele olarak
NS_BINDING_ABORT
hatası alıyor. Visual Studio Code Remote geliştirme eklentim bağlanırken takılıyor ve şu hatayı veriyor:failed to set up socket for dynamic port forward to remote port =: proxy connection timed out.
. Messenger (UWP) uygulamam neredeyse çöküyor (yeni mesajlar görüntülenemiyor). - Windows 11 24H2 ve BBR2 : r/Windows11 - Hyper-V’nin yerel konsol bağlantısını kesecek (Windows 11 23H2’den beri). Konsol birkaç dakika boyunca
'[VM]'
‘ye bağlanıyor gösterir, ardındanVideo remoting was disconnected
ile başarısız olur veCould not connect to the virtual machine.
istemi açılır. - Windows’ta TCP BBR nasıl etkinleştirilir - Stack Overflow - v2rayN coğrafi dosyaları, çekirdeği güncelleyemiyor veya proxy sunucularına bağlanamıyor. - [Hata]: Windows’taki BBR2 tıkanıklık algoritması v2rayN’nin çalışmasını durduruyor · 2dust/v2rayN
Bu nedenle, BBR’yi geçici olarak etkinleştirmemeye karar verdim. Etkinleştirmeyi denemek istiyorsanız, aşağıdaki komutu deneyebilirsiniz:
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
Burada ayrıca BBR2
‘yi BBR
(BBR v1) ile değiştirebilir, test edebilir ve efektleri karşılaştırabilirsiniz.
Ardından, mevcut yapılandırılmış tıkanıklık kontrolü algoritmasının BBR2
olarak yapılandırılıp yapılandırılmadığını kontrol edin:
Get-NetTCPSetting | Select SettingName, CongestionProvider
Windows 11 23H2 / 24H2’de, BBR v2’yi etkinleştirmek yerel TCP bağlantılarının kullanılamamasına neden olabilir (örneğin, adb’nin kullanılamamasına, Steam’in başarısız olmasına vb.), bu durumda lütfen tıkanıklık kontrolü algoritmasını önceki yapılandırmaya geri döndürün. Geri döndürmeden sonra yeniden başlatmaya gerek yoktur, sorun hemen çözülmelidir.
Bu makale henüz mükemmel değil, en son bilgileri bana bildirmek için yorum veya yorum bırakmaktan çekinmeyin.
Referans
Set-NetTCPSetting (NetTCPIP) | Microsoft Learn
Linux ve Windows 11’de TCP BBR v2’yi etkinleştirin - Coxxs
Bu web sayfasının diğer sürümleri
Bu makalenin birden çok dil sürümü bulunmaktadır.
Yorum yapmak isterseniz, lütfen aşağıdaki web sayfalarını ziyaret edin:
Bu web sayfaları yalnızca görüntülemeyi destekler, yorum veya mesaj bırakmayı desteklemez, ancak daha fazla dil seçeneği sunar ve yükleme süresi daha kısadır:
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