Bufferbloat Nedir? Ağ Yük Altındayken Ping Neden Yükselir?

Ping, gönderilen bir deneme paketinin hedefe ulaşıp yanıtının geri gelmesi için geçen süreyi gösterir. İnternet bağlantısı boştayken ping düşük ve kararlı görünebilir; ancak büyük bir indirme, buluta yükleme veya bağlantıyı dolduran başka bir trafik başladığında gecikme birden artabilir. Bu durum, paketlerin bir darboğaz önünde gereğinden uzun süre kuyrukta beklediği bufferbloat sorunuyla uyumlu olabilir.
Bufferbloat, paketleri geçici olarak saklayan bellek alanlarında, yani tamponlarda, yük altında gereğinden uzun kuyruklar oluşmasıdır. Paketler iletilmeden önce uzun süre beklediği için uygulamaların yanıtları da gecikir. Sorunu ayırt etmek için aynı bağlantıda boştaki gecikmeyi yük altındaki gecikmeyle karşılaştırın.
Bufferbloat Nasıl Oluşur?
Verinin küçük paketler halinde iletildiği ağlarda kuyrukların bulunması tek başına sorun değildir. Trafik kısa süreli bir artış gösterdiğinde tampon, paketleri geçici olarak tutarak bağlantının bu dalgalanmayı karşılamasına yardımcı olur. Sorun, cihaza gelen veri hızı uzun süre çıkış hızını aştığında kuyruğun büyümesi ve paketlerin bekleme süresinin uzamasıdır.
Yalnız kuyruk dolduğunda paket düşüren basit bir yaklaşım, kuyruğun uzun süre dolu veya doluya yakın kalmasına yol açabilir. Böyle bir durumda toplu veri aktarımı kapasiteyi kullanmaya devam ederken küçük ve gecikmeye duyarlı paketler de aynı bekleme süresine maruz kalır. Kullanıcı bunu çevrim içi oyunda gecikme, görüntülü görüşmede tepki süresinin uzaması veya web arayüzlerinin yavaşlaması olarak fark edebilir.
Boşta Ping Normalken Yük Altında Neden Yükselir?
Bağlantı boştayken kuyruklar çoğunlukla kısa olduğu için bir ping paketinin gidiş-dönüş süresine eklenen kuyruk beklemesi azdır. Bağlantı kapasitesi dolduğunda ise aynı paket önce kendisinden önce sıraya girmiş verilerin gönderilmesini bekleyebilir. Bu nedenle temel ağ yolu değişmese bile ölçülen ping ciddi biçimde artabilir.
Belirleyici nokta yalnız bağlantının ne kadar hızlı olduğu değil, darboğazdaki kuyruğun yük altında nasıl yönetildiğidir. Kuyruk modem veya yönlendirici üzerinde olabileceği gibi işletim sistemi, sürücü, donanım ya da erişim bağlantısının başka bir katmanında da oluşabilir. Kablosuz ağdaki cihazların aynı radyo kanalını paylaşması da gecikme değişimine katkıda bulunabilir; bu yüzden Wi-Fi üzerinden görülen her yükselişe doğrudan bufferbloat demek doğru değildir.
İndirme ve yükleme yönleri de aynı davranmak zorunda değildir. Hangi yönde kullanılabilir kapasite önce tamamen kullanılıyor veya yönetimsiz bir kuyruk oluşuyorsa yük altındaki gecikme o yönde daha belirgin görülebilir. Bu nedenle yalnız tek yönlü bir hız testiyle karar vermek yerine iki yönü ayrı gözlemek daha açıklayıcıdır.
Bufferbloat Ölçümünde Boşta ve Yük Altındaki Gecikme
Bufferbloat ölçümünde amaç en yüksek indirme hızını bulmak değil, bağlantı yüklenirken gecikmenin nasıl değiştiğini görmektir. Karşılaştırmanın anlamlı olması için ölçümleri aynı hedefe ve aynı IP sürümüyle, mümkün olduğunca benzer koşullarda yapmak gerekir. Önceden çalışan büyük indirme veya yedekleme gibi duraklatılabilir aktarımları durdurun; güvenlik hizmetlerini ya da kesilmemesi gereken bağlantıları test için kapatmayın.
- Önce ağda yoğun trafik yokken bir gecikme ölçümü yapın ve tipik ping düzeyini kaydedin.
- Aynı gecikme ölçümü sürerken bağlantıyı indirme yönünde yoğun biçimde kullanın. Ping değerlerinin boştaki ölçüme göre nasıl değiştiğini gözleyin.
- Aynı işlemi yükleme yönü için tekrarlayın. İki yönün sonuçlarını birbirinden ayrı değerlendirin.
- Yalnız tek bir ortalamaya bakmayın; tipik değer, ani yükselişler ve ölçümlerin ne kadar değişken olduğu birlikte anlam taşır.
- Yoğun trafik bittiğinde gecikmenin önceki düzeyine dönüp dönmediğini izleyin ve ölçümü birkaç kez tekrarlayın. Kablosuz bağlantıyla karşılaştırmak için mümkünse cihazı ana yönlendiriciye kabloyla bağlayın; internete kablosuz bağlanan bir menzil genişleticiye kablo takmak Wi-Fi etkisini bütünüyle ortadan kaldırmaz.
Burada evrensel bir milisaniye eşiği vermek yanıltıcı olur. Başlangıç gecikmesi, erişim teknolojisi ve ağ yolu değişebilir. Aynı koşullarda boştayken düşük olan gecikmenin yük sırasında sürekli ve belirgin biçimde artması önemli bir işarettir, fakat tek başına kesin tanı değildir. Ping için kullanılan ICMP deneme paketlerine hedef cihaz düşük öncelik verebilir; ICMP, ağdaki denetim ve hata bildirimlerini de taşıyan protokoldür. Yük sırasında cihazın işlemcisinin zorlanması da ölçümü etkileyebilir. Gecikme artışını birden fazla hedefte ve gerçekten kullanılan uygulamada karşılaştırmak bu olasılıkları ayırmaya yardımcı olur.
Boşta ve Yük Altındaki Gecikme Sonuçlarını Yorumlama
Yük altındaki gecikme testi tek başına kuyruğun hangi cihazda bulunduğunu göstermez, ancak sorunun hangi koşulda ortaya çıktığını anlamaya yardımcı olur. Sonuçları şu belirtilerle karşılaştırın:
- Boşta düşük, yükte yüksek gecikme: Bufferbloat veya başka bir yük kaynaklı kuyruklanma için güçlü bir işarettir.
- Boşta da yüksek gecikme: Sorun yalnız bufferbloat olmayabilir; temel ağ yolunu veya bağlantının başlangıç gecikmesini ayrıca inceleyin.
- Yalnız Wi-Fi bağlantısında gecikme artışı: Kablosuz ağdaki kanal paylaşımı, sinyal koşulları veya yerel radyo trafiği sonucu etkiliyor olabilir.
- Yalnız bir yönde büyük artış: Darboğaz veya uzun kuyruk o yönde daha baskın olabilir.
- Tek seferlik sıçrama: Bufferbloat tanısı için yeterli değildir; yük ile birlikte tekrarlanan bir ilişki arayın.
Bufferbloat Hakkında Yanlış Yorumlanan Belirtiler
Bufferbloat, düşük internet hızıyla aynı şey değildir. Bağlantı yüksek veri aktarım hızına ulaşsa bile yük altındaki gecikme çok yüksek olabilir. Saniyede aktarılan megabit miktarını gösteren Mbps sonucu, gecikmeye duyarlı uygulamaların nasıl çalışacağını tek başına göstermez.
Paket kaybının olmaması da sorunun bulunmadığını göstermez. Büyük bir kuyruk, paketleri düşürmek yerine uzun süre bekletebilir; kullanıcı açısından sorun bu kez kayıp yerine bekleme süresi olarak ortaya çıkar. Benzer şekilde jitter (gecikme değişimi) yüksekse kuyruklanma olası nedenlerden biridir, ancak radyo ortamı ve başka ağ koşulları da değişken gecikme üretebilir.
Aktif Kuyruk Yönetimi Yük Altındaki Gecikmeyi Nasıl Azaltır?
AQM (Active Queue Management), ağ cihazlarının kuyruk uzunluğunu veya paketlerin kuyrukta kalma süresini denetlemek için kullandığı yöntemlerin genel adıdır. Bu yöntemler tamponun tamamen dolmasını beklemeden paket düşürebilir veya ECN desteği varsa sıkışıklığı pakette işaretleyebilir. ECN, paket kaybetmeden sıkışıklığı uçlara bildiren mekanizmadır. Veriyi bağlantı üzerinden sıralı ve güvenilir biçimde ileten TCP gibi, sıkışıklık bildirimine tepki verebilen protokolleri kullanan göndericiler hızlarını azalttığında kuyruktaki bekleme kısalabilir.
FQ-CoDel, farklı trafik akışlarının paketlerini mümkün olduğunca ayrı kuyruklara yerleştirir ve hangi paketin sıradaki iletim hakkını alacağını belirler. Burada akış, kaynak ve hedef IP adresi, protokol ve varsa portlar gibi bilgilere göre aynı aktarım grubunda değerlendirilen paketlerdir. FQ-CoDel bu zamanlamayı, paketlerin kuyrukta bekleme süresini temel alan CoDel aktif kuyruk yönetimiyle birleştirir. Böylece seyrek paket gönderen etkileşimli akışların büyük veri aktarımlarının arkasında gereksiz yere beklemesi azalabilir. RFC 8290 deneysel statüdedir; bu statü yöntemin kullanılmadığı anlamına gelmez, fakat seçeneği etkinleştirmek tek başına her ağda doğru ayarı garanti etmez.
Kuyruk yönetimi bekleyen paketlerin sayısını veya bekleme süresini denetler; paket zamanlama ise hangi paketin ne zaman gönderileceğini belirler. Hizmet kalitesi anlamındaki QoS, trafik sınıflandırma ve önceliklendirme gibi daha geniş yöntemleri kapsar. Yönlendiricide yalnız bir QoS seçeneğinin bulunması bufferbloat sorununu çözdüğü anlamına gelmez.
Kuyruk Yönetimi Ayarı Gerçek Darboğazı Nasıl Kontrol Eder?
Uygulanan yöntemin gecikmeye neden olan kuyruğu kontrol edebilmesi gerekir. SQM (Smart Queue Management), trafik hızını sınırlamayı aktif kuyruk yönetimi ve paket zamanlamayla birleştirir. Ev yönlendiricisindeki hız sınırını ölçülen hat kapasitesinin biraz altında tutmak, kuyruğun denetlenemeyen modem veya erişim bağlantısı yerine yönlendiricide oluşmasına yardımcı olabilir.
Yükleme trafiğini internete çıkmadan önce sınırlamak ile indirme trafiğini yerel ağa ulaştıktan sonra sınırlamak aynı etkiyi göstermez. İndirme paketleri yerel yönlendiriciye gelene kadar internet servis sağlayıcısının kuyruğunda beklemiş olabilir. İndirme yönündeki yönetim, özellikle göndericinin sıkışıklık bildirimine tepki vermesine bağlıdır; geçmiş beklemeyi geri alamaz. Değişken hat kapasitesi, denetlenemeyen başka kuyruklar veya yetersiz işlem gücü de iyileşmeyi sınırlayabilir.
Bir kuyruk yönetimi değişikliğinden sonra aynı boştaki ve yük altındaki gecikme ölçümlerini yineleyin. Bağlantı doluyken gecikmenin önceki ölçüme göre daha kontrollü kalması kuyruk yönetimi ayarının işe yaradığını gösterir; yalnız hızın yükselmesi yeterli değildir. Hız belirgin biçimde düşüyor ancak gecikme düzelmiyorsa hat kapasitesini, kuyruk konumunu ve cihazın işlem kapasitesini yeniden değerlendirin.







