Ağ Performansı (Latency, Throughput, Jitter)

kadergultekin
5 min readJan 23, 2021

--

Bu anlatım Douglas E. Comer’in Bilgisayar Ağları ve İnternet Kitabının 6. Baskısına dayanmaktadır.

Ağ performansını neden ölçmek isteriz? Ağ performansını ölçmek kaynak kullanımlarını, ağ kullanımlarını anlamamızı ve gerekirse yeni yöntemler kullanarak - trafiği yönlendirmek veya yeni yatırımlar yapmak gibi önlemlerle- ağ ve kaynak kullanımını optimize etmemizi ve gelecekte oluşabilecek ihtiyaçlara karşı hazırlıklı olmamızı sağlar. Ayrıca ağ üzerindeki trafiğin durumunu öğrenmek değerlendirmeler yapmak bize önemli bir fayda sağlar. Ortalama ağ kullanımını ve sıklıkla kullanılan uygulamaları bilmek ağ performansını iyileştirmeyi ve zararlı trafiği analiz etmemizi kolaylaştırır. Ağ üzerindeki trafiği anlamak “yatırım gerekli mi?”, “sorun var mı?”, “hangi durumda sorun var?”, “bu sorun nasıl çözülebilir?”, “kullanıcıları nasıl etkiler?” gibi soruların cevaplarını verebilmemizi sağlar. Bu soruların cevapları uygulama geliştirici açısından da ağ yöneticisi açısından da önemlidir.

Ağ performansı ile ilgili yüksek hızlı (high-speed), hızlı (fast), güçlü (powerful), yüksek bant genişliği (high bandhwidth) gibi terimler kullanılmaktadır ancak bu terimler yanıltıcıdır ve özneldir. Hızlı ama ne kadar hızlı? Kime göre, neye göre hızlı? Benim ihtiyaçlarıma göre hız nedir? Bu soruların cevabı değişken olduğundan ağ performansını ifade etmek için bu gibi terimlerin yerine daha nesnel terimler kullanılması gerekmektedir.

Aslında nicel olarak kalitenin ölçülmesi oldukça zordur. Mesela veri hızının asimetrik olması ölçmeyi oldukça zorlaştırır. Bir yönde veri hızı çok yüksekken diğer bir yönde oldukça düşük olabilir. Bu asimetrik durum tüm ağ için geçerlidir; ağ üzerinde birçok router vardır ve router’ların hepsinin davranışı bir diğerinden farklıdır bu da ölçmeyi zorlaştırır. Üstelik ağ performansını ölçmek için ağa yerleştirilen mesajlar da ağ performansını etkilemektedir. Ayrıca ağ performansı değişkendir, günün farklı saatlerinde yapılan ölçümler dahi farklı sonuçlar üretebilmektedir.

Ağ üzerinde yapılması oldukça gerekli bir o kadar zor diğer bir durum toplam trafiğin analiz edilmesidir. Toplam trafiğin analiz edilmesi istatiksel hesaplamalara dayanır. Toplam trafik kısa dönem (short term) veya uzun dönem (long term) olarak analiz edilebilir.

Kısa dönem değişimler (Short term variation) incelendiği zaman paketlerin “burst” adı verilen kümeler halinde ulaşma eğiliminde olduğu görülebilir. Veri iletim ağlarında genellikle burs türü trafik görülür. Bu, ağa bir anda çok sayıda paket gelmesi daha sonra uzun süre çok az sayıda paket gelmesi anlamına gelir. Yani trafik birden patlayabildiği gibi birden düşebilir. Uzun dönem değişimler (Long term variation) için durum farklıdır. Uzun dönem trafik ölçümleri için günlük ve yıllık patternleri değerlendirmek gerekmektedir.

Veri trafiği (data traffic) self-similarity özelliktedir. Bu, veri için toplam trafiğin tek bir bağlantıdaki burst oranı ile benzer istatistikleri sergilediği anlamına gelir.

Pratikte ağ trafiğini ölmek için üç adet ayırt edici nicel değer vardır: Latency (Bekleme Süresi), Throughput (Kapasite), Jitter (Seğirme).

Douglas E. Comer, Bilgisayar Ağları ve İnternet, 6. Baskı, s. 470

Latency, ağ üzerinde bir bitin bir uçtan bir uca transfer edilmesi için geçen süredir. Aşağıdaki tabloda gecikme tipleri listelenmektedir.

Douglas E. Comer, Bilgisayar Ağları ve İnternet, 6. Baskı, s. 470

Yayılım gecikmesi bir bit verinin ağ üzerinde iletimi için geçen süre demektir. Throughput ise birim zamanda ağa giren bit sayısıdır ve ağ kapasitesini belirtir.

Throughput, bir saniye içinde ağ üzerinden iletilen verinin bit cinsinden sayısıdır. Çoğu haberleşme sistemi en az 1 Mbps throughput’a sahiptir, hızlı ağlar ise 1 Gbps hızın üstüne çıkabilmektedir yine de bir kulanıcının veri iletme hızı kullandığı donanımın sağladığı veri iletme hızının üst sınırından yüksek olamaz. Bunun yanı sıra teorik olarak belirtilen thrughput ile gerçek veri iletim kapasitesi aynı değildir, throughput birim zamanda iletilebilecek veri miktarı için üst limiti verir. Kullanıcılar için througput, latency kadar önemli bir faktör olmasa da ağ performansını ölçmek için önemli bir kriterdir. Throughput ölçümü farklı yöntemlerle yapılabilmektedir: haberleşme kanalının kapasitesi ölçülebilir (daha kararlı bir ölçümdür), internetteki bir noktadan diğer bir noktaya olan bir yolun kapasitesi ölçülebilir, bütün kanalların toplam kapasitesi ölçülebilir gibi.

Goodput ise efektif veri hızını verir. Birim zamanda iletilen gerçek veri miktarıdır. Peki throughput ile goodput aynı şeyi ölçerken neden farklı değer üretir?

Goodput performansı uygulama protokollerine bağlıdır. Paketlerin başındaki ve sonundaki kontrol bilgilerinin iletilmesi, isim ve adres bilgilerinin çözümlenmesi için geçen süre, ağda trafik yoğunluğu olduğunda veri iletiminin yavaşlaması, kaybolan paketlerin tekrar gönderilmesi gibi ağ üzerinde yaşanan her olay goodput performansını etkiler.

Throughput ölçümü ağ üzerindeki değişikliklerden bağımsız bir sonuç üretir ve ağın maksimum kapasitesini anlamamızı sağlar, goodput ölçümü ise kullanılan protokole göre değişkenlik gösterir, ölçme cihazları genellikle goodput ölçümünü dikkate alır.

Pratikte latency ile throughput terimleri birbiriyle ilişkili terimlerdir. Örneğin paket kuyruğu dolu olan bir yönlendiriciye yeni bir paket geldiğinde, kuyruğun en arkasına koyulacak ve önündeki paketler tamamlanıncaya kadar kuyrukta bekletilecektir. Dolayısıyla trafik yoğunluğu artınca (throughput) bekleme süresi (latency) de artacaktır.

Kullanılan kapasite miktarına bağlı olarak gecikme süresi hesaplanabilmektedir. D(0); ağ üzerinde belirli bir andaki latency ve U; o andaki aktif kullanım oranını gösteren 0–1 arasındaki bir değer (throughput) ise D(latency)= D(0) / (1-U) olur. Denkleme göre ağ boşken U = 0 olacağından efektif gecikme süresi D(0) değerine eşit olacaktır. Hat kullanımı %50 olduğunda gecikme iki katına çıkacaktır ve hat kullanımı %80 olduğunda gecikme beş katına çıkacaktır. Hattın %100'ünün kullanıldığı düşünülürse payda 0 olacağından gecikme süresi sonsuza yaklaşacaktır.

Bu nedenle bilgisayar ağlarında 50–80 kuralı vardır. Hat kullanımı %50'ye ulaştığında ağa yeni bir hat eklemek için plan yapılması veya trafikteki bu artışla nasıl baş edileceğinin planının yapılması gerekir. Hat kullanımı %80'e ulaştığında önlem alınması için gereken süre geçmiş demektir ve bu çok ciddi bir sorundur.

Belirli bir anda ağ üzerinde iletilen veri miktarı da latency ve throughput kavramları ile anlaşılabilir. Throughput değeri T, gecikme değeri L ise ağ üzerinde iletimde olan bit sayısı T*L olur.

Jitter, maksimum response time ile minimum response time arasındaki farktır.

Jitter, özellikle real-time trafik için kaliteyi belirleyen en önemli özelliklerden bir tanesidir. Verinin iletim zamanındaki değişkenliği ifade eder. Jitter ne kadar azsa o kadar iyidir. Misal olarak gönderici iki paket gönderdiyse ve ilk paket 10 ms’de ikinci paket 8 ms’de alıcıya ulaştıysa jitter 10 ms — 8 ms = 2 ms olur. Eğer ağ üzerindeki bütün paketler aynı sürede iletiliyorsa orada jitter yok denilir.

Bugün sizlere Ağ Performansını ölçmek için kullanılan Latency, Throughput ve Jitter kavramlarından bahsettim. Umarım faydalı ve keyifli bir anlatım olmuştur.

Kullandığım Kaynak:

Douglas E. Comer, Bilgisayar Ağları ve İnternet, 6. Baskı s. 469–476.

--

--

kadergultekin

Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği mezunuyum. Beraber eğlenip beraber gelişmeyi hedefliyorum.