TCP BBR Nedir? Linux Sunucularda Ağ Performansı Optimizasyonu Rehberi
TCP BBR Nedir? Linux Sunucularda Ağ Performansı Optimizasyonu Rehberi
Son Güncelleme: Haziran 2026
TCP BBR, Linux sunucularda ağ gecikmesini azaltmak, bant genişliğini daha verimli kullanmak ve yoğun trafik altında daha stabil bağlantı sağlamak için kullanılan modern bir tıkanıklık kontrol algoritmasıdır. Özellikle VPS, VDS, bulut sunucu, oyun sunucusu, API servisi, dosya indirme platformu ve yüksek trafikli web projelerinde doğru yapılandırıldığında önemli performans avantajı sağlayabilir.
Bu rehberde TCP BBR’nin ne olduğunu, klasik TCP algoritmalarından farkını, Linux sunucularda nasıl etkinleştirileceğini, hangi senaryolarda avantaj sağladığını ve güvenli yapılandırma için dikkat edilmesi gereken noktaları adım adım inceleyeceğiz.
İçindekiler
- TCP BBR Nedir?
- TCP BBR Nasıl Çalışır?
- TCP BBR Avantajları Nelerdir?
- TCP BBR Ne Zaman Kullanılır?
- Linux Sunucuda BBR Desteği Nasıl Kontrol Edilir?
- Linux Sunucuda TCP BBR Nasıl Etkinleştirilir?
- BBR Performansı Nasıl Test Edilir?
- BBR, CUBIC ve Reno Karşılaştırması
- Güvenlik, Uyumluluk ve Riskler
- En İyi Uygulamalar
- Sıkça Sorulan Sorular
- Sonuç
TCP BBR Nedir?
TCP BBR, açılımı ile Bottleneck Bandwidth and Round-trip propagation time, Türkçe karşılığıyla darboğaz bant genişliği ve gidiş-dönüş gecikmesi tabanlı TCP tıkanıklık kontrol algoritmasıdır. TCP bağlantılarında amaç, ağ hattını gereğinden fazla doldurmadan mümkün olan en yüksek verimi elde etmektir. Geleneksel algoritmalar çoğunlukla paket kaybını tıkanıklık sinyali olarak kabul ederken BBR, bağlantının kapasitesini ve gecikmesini ölçerek daha proaktif bir yaklaşım kullanır.
Bir web sitesi, API servisi veya dosya indirme sistemi çalıştırdığınızda sunucu ile istemci arasında sürekli veri paketleri taşınır. Eğer bu paketler ağ hattında birikirse bufferbloat adı verilen gecikme şişmesi oluşabilir. Bufferbloat, paketlerin yönlendirici veya ağ cihazı kuyruklarında gereğinden fazla beklemesi anlamına gelir. Sonuç olarak hız testi iyi görünse bile gerçek kullanıcı deneyiminde gecikme, takılma ve düzensiz aktarım görülebilir.
BBR’nin temel hedefi, yüksek aktarım hızı ile düşük gecikme arasındaki dengeyi daha doğru kurmaktır. Bu nedenle özellikle uzak lokasyonlardan erişilen sunucularda, mobil ağlardan gelen trafikte, dosya transferlerinde ve yüksek gecikmeli bağlantılarda faydalı olabilir.
TCP BBR Nasıl Çalışır?
TCP BBR, ağ bağlantısını iki temel metrik üzerinden değerlendirir: bant genişliği ve RTT. RTT, Round Trip Time ifadesinin kısaltmasıdır ve Türkçe olarak gidiş-dönüş süresi anlamına gelir. Bir paketin istemciden sunucuya gidip yanıtın geri dönmesi için geçen süreyi ifade eder.
Darboğaz Bant Genişliği
Darboğaz bant genişliği, bağlantı yolundaki en düşük kapasiteli noktanın sağlayabildiği maksimum veri aktarım hızıdır. Örneğin sunucunuz 1 Gbps porta sahip olsa bile istemcinin internet bağlantısı, ara yönlendiriciler veya uzak ağın kapasitesi daha düşükse gerçek aktarım hızı bu darboğaz tarafından belirlenir.
Minimum RTT Ölçümü
BBR, hattın doğal gecikmesini anlamak için minimum RTT değerini takip eder. Bu değer, kuyruklar dolmadan önce ağın en temiz halindeki gecikmeye yakın bir referans sağlar. Böylece algoritma, bağlantıyı gereğinden fazla paketle doldurmadan veriyi aktarmaya çalışır.
Paket Kaybına Bağımlı Olmayan Yaklaşım
Klasik TCP tıkanıklık kontrol algoritmaları, paket kaybını çoğu zaman ağ tıkanıklığının işareti olarak yorumlar. Ancak modern ağlarda paket kaybı yalnızca tıkanıklıktan kaynaklanmayabilir; kablosuz bağlantı sorunları, geçici rota değişimleri veya cihaz kaynaklı hatalar da kayba neden olabilir. BBR, paket kaybını tek belirleyici sinyal olarak kullanmadığı için bazı ağ koşullarında daha stabil performans gösterebilir.
TCP BBR Avantajları Nelerdir?
TCP BBR, her sunucuda mucizevi hız artışı sağlamaz; ancak doğru senaryoda ciddi iyileştirme sunabilir. Özellikle ağ gecikmesi yüksek, istemci kitlesi farklı ülkelerden gelen veya dosya aktarımı yoğun olan sistemlerde daha net sonuçlar alınabilir.
- Daha düşük gecikme: Kuyruk şişmesini azaltmaya yardımcı olduğu için sayfa yükleme, API yanıtı ve gerçek zamanlı trafiklerde gecikme düşebilir.
- Daha verimli bant genişliği kullanımı: Hat kapasitesini ölçerek veri gönderimini optimize eder ve bağlantının potansiyelinden daha iyi yararlanabilir.
- Uzak lokasyonlarda daha iyi deneyim: Farklı ülke veya kıtalardan gelen kullanıcılar için yüksek RTT durumlarında aktarım daha istikrarlı hale gelebilir.
- Dosya aktarımında istikrar: Büyük dosya indirme, medya dağıtımı, yedek indirme ve paket deposu servislerinde hız dalgalanmaları azalabilir.
- Modern altyapılara uygunluk: Bulut sunucu, sanal sunucu ve konteyner tabanlı yapılarda çekirdek desteği bulunduğunda kolayca uygulanabilir.
Corelux üzerinde barındırılan projelerde trafik profiline göre Sanal Sunucu, Türkiye VDS Sunucu veya Kiralık Sunucu seçenekleri tercih edilerek BBR gibi ağ optimizasyonlarından daha tutarlı sonuç alınabilir.
TCP BBR Ne Zaman Kullanılır?
BBR’yi etkinleştirmeden önce sunucunun kullanım amacı değerlendirilmelidir. Bazı projelerde gecikme daha önemliyken, bazı projelerde ham aktarım hızı ön plandadır. BBR, özellikle aşağıdaki senaryolarda değerlendirilebilir.
- Yüksek trafikli web siteleri: Çok sayıda ziyaretçiye statik dosya, görsel, JavaScript ve CSS dosyası sunan projelerde aktarım verimliliği artabilir.
- API servisleri: Mobil uygulama veya mikroservis mimarisine hizmet veren API’lerde yanıt gecikmesinin düşmesi kullanıcı deneyimini iyileştirebilir.
- Dosya indirme sistemleri: ISO, yedek, medya, yazılım paketi veya büyük arşiv dağıtan sunucularda bağlantı daha stabil hale gelebilir.
- Oyun ve gerçek zamanlı uygulamalar: TCP kullanan yardımcı servislerde gecikme yönetimi avantaj sağlayabilir; ancak UDP tabanlı oyun trafiğinde doğrudan etkisi sınırlıdır.
- Uzak lokasyon erişimi: Türkiye dışından erişilen bir sunucu ya da Avrupa veri merkezinden Türkiye’ye hizmet veren bir altyapı için test edilmesi mantıklıdır.
- Proxy ve tünel servisleri: TCP tabanlı proxy, VPN benzeri geçişler veya güvenli bağlantı sistemlerinde bağlantı kalitesi artabilir.
Örneğin hedef kitleniz Türkiye’deyse Türkiye Kiralık Sunucu veya Türkiye VPS Sunucu kullanmak gecikmeyi fiziksel olarak azaltır. BBR ise bu bağlantı üzerinde TCP davranışını optimize ederek tamamlayıcı fayda sağlar.
Linux Sunucuda BBR Desteği Nasıl Kontrol Edilir?
BBR kullanabilmek için Linux çekirdeğinizin bu algoritmayı desteklemesi gerekir. Modern Linux dağıtımlarında çoğu zaman destek bulunur; ancak eski çekirdeklerde veya özel sanallaştırma yapılandırmalarında kontrol etmek önemlidir.
Mevcut TCP Tıkanıklık Algoritmasını Kontrol Etme
Sunucuda aktif kullanılan TCP tıkanıklık kontrol algoritmasını görmek için aşağıdaki komutu çalıştırabilirsiniz:
sysctl net.ipv4.tcp_congestion_control
Örnek çıktı şu şekilde olabilir:
net.ipv4.tcp_congestion_control = cubic
Bu çıktı, sunucuda şu anda cubic algoritmasının aktif olduğunu gösterir.
Kullanılabilir Algoritmaları Listeleme
Sunucunuzda desteklenen TCP algoritmalarını görmek için şu komutu kullanabilirsiniz:
sysctl net.ipv4.tcp_available_congestion_control
Çıktıda bbr ifadesi yer alıyorsa BBR etkinleştirilebilir durumdadır:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
Kernel Sürümünü Kontrol Etme
Linux çekirdek sürümünü görmek için:
uname -r
Eğer çekirdek çok eskiyse dağıtımınızın paket yöneticisi ile güncelleme planı yapmanız gerekebilir. Canlı sistemlerde çekirdek güncellemesi yapmadan önce mutlaka yedek alınmalı ve bakım penceresi belirlenmelidir.
Linux Sunucuda TCP BBR Nasıl Etkinleştirilir?
BBR’yi etkinleştirmek için genellikle iki ayar gerekir: TCP congestion control değerini bbr yapmak ve kuyruk yönetimi için fq yani fair queue disiplinini kullanmak. Bu ayarlar sysctl üzerinden yapılır.
Geçici Olarak BBR Etkinleştirme
Sunucuyu yeniden başlatmadan geçici test yapmak için aşağıdaki komutları kullanabilirsiniz:
sysctl -w net.core.default_qdisc=fq
sysctl -w net.ipv4.tcp_congestion_control=bbr
Bu ayarlar yeniden başlatma sonrası kaybolabilir. Bu nedenle önce test etmek, ardından kalıcı yapılandırmaya geçmek güvenli bir yöntemdir.
Kalıcı Olarak BBR Etkinleştirme
Kalıcı yapılandırma için /etc/sysctl.conf dosyasına aşağıdaki satırları ekleyebilirsiniz:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
Değişiklikleri uygulamak için:
sysctl -p
BBR’nin Aktif Olduğunu Doğrulama
Etkinleştirme sonrası kontrol etmek için:
sysctl net.ipv4.tcp_congestion_control
Beklenen çıktı:
net.ipv4.tcp_congestion_control = bbr
Yüklü modüller arasında BBR’nin görünüp görünmediğini kontrol etmek için:
lsmod | grep bbr
Her sistemde çıktı aynı olmayabilir; bazı çekirdeklerde BBR doğrudan yerleşik olarak bulunabilir.
BBR Performansı Nasıl Test Edilir?
BBR etkinleştirildikten sonra sadece hissedilen hız üzerinden karar vermek doğru değildir. Öncesi ve sonrası karşılaştırma yaparak ölçüm almak gerekir. Testler mümkünse aynı saat aralığında, aynı istemci lokasyonundan ve aynı dosya boyutlarıyla gerçekleştirilmelidir.
iperf3 ile Bant Genişliği Testi
iperf3, iki nokta arasında ağ performansını ölçmek için kullanılan pratik bir araçtır. Bir sunucuda server modunu başlatabilirsiniz:
iperf3 -s
İstemci tarafta test başlatmak için:
iperf3 -c SUNUCU_IP_ADRESI -t 30
Ters yön testi için:
iperf3 -c SUNUCU_IP_ADRESI -t 30 -R
Ping ve Gecikme Ölçümü
Basit gecikme ölçümü için ping kullanılabilir; ancak ping tek başına TCP performansını göstermez. Yine de temel gecikme farklarını izlemek için faydalıdır:
ping -c 20 SUNUCU_IP_ADRESI
HTTP Dosya İndirme Testi
Gerçek kullanıcı senaryosuna daha yakın test için büyük bir test dosyasını HTTP üzerinden indirerek süre ölçebilirsiniz:
curl -o /dev/null -w "time_total: %{time_total}\nspeed_download: %{speed_download}\n" https://ornek-alan-adi.com/test.iso
Buradaki alan adını kendi test dosyanızla değiştirmelisiniz. Üretim ortamında rastgele büyük dosya oluştururken disk kullanımına dikkat edilmelidir.
Ölçümde Dikkat Edilecek Noktalar
- Tek test yeterli değildir: En az birkaç farklı zaman diliminde ölçüm yapılmalıdır.
- İstemci lokasyonu önemlidir: Türkiye, Avrupa ve uzak lokasyonlar için sonuçlar farklı olabilir.
- Sunucu yükü izlenmelidir: CPU, RAM, disk I/O ve ağ kullanımı aynı anda takip edilmelidir.
- CDN etkisi ayrıştırılmalıdır: CDN kullanılıyorsa origin sunucu ve CDN kenar noktası testleri ayrı yapılmalıdır.
BBR, CUBIC ve Reno Karşılaştırması
Linux sistemlerde sık karşılaşılan TCP tıkanıklık kontrol algoritmaları arasında Reno, CUBIC ve BBR bulunur. Her algoritmanın yaklaşımı farklıdır ve en iyi seçenek kullanım senaryosuna göre değişebilir.
| Özellik | Reno | CUBIC | BBR |
|---|---|---|---|
| Temel yaklaşım | Paket kaybına duyarlı klasik model | Yüksek bant genişliği için geliştirilmiş kayıp tabanlı model | Bant genişliği ve RTT ölçümüne dayalı model |
| Gecikme yönetimi | Orta | Orta | Genellikle daha iyi |
| Uzak lokasyon performansı | Sınırlı | İyi | Çoğu senaryoda güçlü |
| Bufferbloat etkisi | Artabilir | Artabilir | Azaltmaya yardımcı olabilir |
| Kullanım alanı | Eski veya basit ağlar | Genel Linux varsayılanı olarak yaygın | Performans odaklı modern sunucular |
Bu tablo genel bir değerlendirme sunar. Her ağ farklıdır; bu nedenle BBR’ye geçiş yapmadan önce ölçüm almak ve gerektiğinde geri dönüş planı hazırlamak en doğru yaklaşımdır.
Güvenlik, Uyumluluk ve Riskler
TCP BBR bir güvenlik duvarı, DDoS koruması veya şifreleme mekanizması değildir. Temel görevi TCP bağlantılarının tıkanıklık kontrol davranışını optimize etmektir. Bu nedenle BBR etkinleştirmek, sunucuyu doğrudan daha güvenli hale getirmez; yalnızca ağ performansı üzerinde etkili olur.
- Uyumluluk kontrolü: Eski çekirdekler, özel sanallaştırma katmanları veya sınırlı container ortamları BBR ayarlarını desteklemeyebilir.
- Adil kullanım: Paylaşımlı ağ altyapılarında çok agresif trafik üretimi diğer servisleri etkileyebilir. BBR etkin olsa bile trafik yönetimi dikkatli yapılmalıdır.
- Yanlış ölçüm riski: Tek lokasyondan yapılan hız testi gerçek kullanıcı kitlesini temsil etmeyebilir.
- DDoS ile karıştırılmamalıdır: BBR, saldırı trafiğini engellemez. Güvenlik için firewall, rate limiting, WAF, izleme ve yedekleme stratejileri ayrıca uygulanmalıdır.
- Geri dönüş planı: Sorun yaşanırsa eski algoritmaya dönmek için mevcut ayarlar kayıt altına alınmalıdır.
Güvenlik ve süreklilik gereksinimleri yüksek projelerde Yedekleme Hizmeti, SSL Sertifikası ve uygun sunucu lokasyonu ile birlikte bütüncül bir altyapı planı oluşturulmalıdır.
En İyi Uygulamalar
BBR’den maksimum fayda almak için yalnızca iki sysctl satırı eklemek çoğu zaman yeterli değildir. Ağ performansı; sunucu lokasyonu, çekirdek sürümü, web sunucusu yapılandırması, TLS ayarları, uygulama mimarisi ve istemci profiliyle birlikte değerlendirilmelidir.
1. Önce Ölç, Sonra Değiştir
BBR öncesi ve sonrası test değerlerini saklayın. İndirme hızı, ortalama gecikme, yüzde 95 gecikme, hata oranı ve kullanıcı lokasyonlarını karşılaştırın. Ölçüm yoksa yapılan değişikliğin gerçekten fayda sağladığını anlamak mümkün değildir.
2. Bakım Penceresi Kullanın
BBR etkinleştirme genellikle kesintisiz uygulanabilir; ancak üretim ortamında ağ davranışı değiştiği için düşük trafik saatlerinde işlem yapmak daha güvenlidir. Özellikle yoğun e-ticaret, finans veya kurumsal uygulamalarda değişiklik planlı yapılmalıdır.
3. Lokasyonu Doğru Seçin
Kullanıcılarınızın büyük bölümü Türkiye’deyse fiziksel yakınlık önemlidir. Bu durumda Linux Hosting, Türkiye VDS Sunucu veya Türkiye Kiralık Sunucu seçenekleri ağ gecikmesini azaltmada temel rol oynar. BBR bu temelin üzerine ek optimizasyon sağlar.
4. Web Sunucusu Ayarlarını Gözden Geçirin
Nginx, Apache veya LiteSpeed gibi web sunucularında keep-alive, gzip veya brotli sıkıştırma, HTTP/2, TLS oturum devamlılığı ve statik dosya önbellekleme ayarları da performansı etkiler. BBR tek başına uygulama katmanındaki verimsizlikleri çözmez.
5. İzleme ve Alarm Kurun
Ağ arayüzü kullanımı, retransmission yani yeniden iletim oranı, bağlantı sayısı, CPU tüketimi ve servis yanıt süreleri izlenmelidir. Anlık hız artışı kısa vadede iyi görünse bile uzun vadeli stabilite daha önemlidir.
6. Geri Dönüş Komutlarını Hazır Tutun
BBR sonrası beklenmeyen bir sorun yaşarsanız eski algoritmaya dönebilirsiniz. Örneğin CUBIC’e geçmek için:
sysctl -w net.ipv4.tcp_congestion_control=cubic
Kalıcı ayarda ise /etc/sysctl.conf dosyasındaki net.ipv4.tcp_congestion_control değerini tekrar cubic olarak değiştirip uygulayabilirsiniz:
sysctl -p
Sıkça Sorulan Sorular
TCP BBR her Linux sunucuda kullanılabilir mi?
Hayır. BBR için Linux çekirdeğinin ilgili algoritmayı desteklemesi gerekir. Modern dağıtımlarda destek yaygın olsa da eski kernel sürümlerinde veya bazı kısıtlı sanallaştırma ortamlarında bbr kullanılabilir algoritmalar arasında görünmeyebilir.
BBR web sitemi kesin olarak hızlandırır mı?
Kesin hız artışı garantisi yoktur. BBR özellikle ağ kaynaklı gecikme ve aktarım verimliliği üzerinde etkilidir. Eğer sorun PHP kodu, veritabanı sorgusu, disk I/O veya yanlış cache yapılandırmasından kaynaklanıyorsa BBR tek başına yeterli olmaz.
BBR etkinleştirmek için sunucuyu yeniden başlatmak gerekir mi?
Genellikle hayır. sysctl -w komutlarıyla ayarlar anlık uygulanabilir. Ancak kernel güncellemesi gerekiyorsa yeniden başlatma gerekebilir. Kalıcı ayarlar için /etc/sysctl.conf düzenlenmeli ve sysctl -p çalıştırılmalıdır.
BBR DDoS saldırılarına karşı koruma sağlar mı?
Hayır. BBR bir DDoS koruma mekanizması değildir. Saldırı trafiğini filtrelemez, IP engellemez ve uygulama güvenliği sağlamaz. DDoS ve kötü niyetli trafik için firewall, ağ koruması, rate limiting, WAF ve izleme çözümleri kullanılmalıdır.
BBR ile CUBIC arasında hangisi daha iyidir?
Bu sorunun tek bir doğru cevabı yoktur. CUBIC genel kullanım için olgun ve yaygın bir algoritmadır. BBR ise yüksek gecikmeli veya bant genişliği verimliliği önemli olan senaryolarda avantaj sağlayabilir. En doğru karar, gerçek trafik üzerinde yapılan ölçümlerle verilmelidir.
VPS veya VDS üzerinde BBR kullanmak güvenli midir?
Çoğu durumda güvenlidir; ancak sanallaştırma sağlayıcısının kernel ve ağ yapılandırması desteklemelidir. Kendi kernelinizi yönetebildiğiniz VDS veya kiralık sunucu ortamlarında kontrol daha fazladır. Paylaşımlı hosting ortamlarında ise bu tür çekirdek düzeyi ayarlar genellikle kullanıcı tarafından değiştirilemez.
BBR etkin olduktan sonra hangi metrikleri izlemeliyim?
İndirme hızı, TCP yeniden iletim oranı, ortalama ve yüzde 95 gecikme, bağlantı sayısı, CPU kullanımı, ağ arayüzü trafiği ve uygulama yanıt süreleri takip edilmelidir. Böylece sadece hız değil, stabilite de ölçülmüş olur.
Sonuç
TCP BBR, Linux sunucularda TCP bağlantı performansını iyileştirmek için kullanılabilecek modern ve etkili bir ağ optimizasyon yöntemidir. Paket kaybına dayalı klasik yaklaşımlardan farklı olarak bant genişliği ve RTT ölçümlerini temel alması, özellikle uzak lokasyon erişimleri, yüksek trafikli web servisleri, API altyapıları ve dosya aktarım sistemlerinde daha dengeli performans sağlayabilir.
Ancak BBR tek başına tüm performans sorunlarını çözmez. Sağlıklı sonuç için doğru sunucu lokasyonu, güncel kernel, iyi yapılandırılmış web sunucusu, güvenli TLS ayarları, düzenli izleme ve gerçek trafik testleri birlikte değerlendirilmelidir. Corelux altyapısında projenizin ihtiyaçlarına göre Sanal Sunucu, Bulut Sunucu, Kiralık Sunucu veya Hosting hizmetlerinden yararlanarak performans, güvenlik ve ölçeklenebilirlik açısından daha güçlü bir yapı kurabilirsiniz.
Yazar
Boran BAR