yazan: Şadi Evren ŞEKER

TCP protokolü için geliştirilen bir tıkanıklık önleme yöntemidir. Amaç hakkında bilgi bulunmayan bir ağda paket yollanırken, paket kayıplarını asgariye indirmek için hattı test ederek paket gönderim hızını arttırmaktır. Doğrusal (linear) veya üssel (growth) şeklinde artan iki farklı yaklaşımı vardır:
Doğrusal yaklaşımda tıkanıklık penceresi (congestion window) içerisindeki bir bilginin onaylanması durumunda pencerenin kapasitesi onaylanmış paketler kadar arttırılır (veya sabit bir sayı kadar arttırılır (artış miktarı sabitse doğrusal artım, değişkense üssel artım şeklinde yorumlanabilir)) dolayısıyla her başarılı transferden sonra pencere değişken miktarda büyütülerek anlık akatarım miktarı arttırılmış olur.
Tersi durumda, yani penceredeki bir paket için nack (negative acknowledgement, hata bildirisi) ulaşırsa veya pencerenin başındaki paket onaylanmadan pencere dolarsa (henüz onaylanmamış (ack) pencere kapasitesi kadar paket oluşursa) bu durumda TCP, problemin tıkanıklıktan kaynaklandığını düşünerek pencere boyutunu bir küçültür (veya sabit bir sayı kadar azaltır).
Doğrusal arttırım yukarıda da bahsedildiği gibi pencere boyutunun 1er 1er arttırılması durumudur. Bu durum için TCP, RTT (round trip time, bir paketin karşı tarafa ulaşıp geri gelmesi için geçen süre) zamanı boyunca pencere boyutunu 1 arttırır. Üssel arttırım yaklaşımında ise her onay paketinden sonra onaylanmış paketler kadar arttırır.
Bu durum aşağıdaki iki resimde gösterilmiştir:
durum 1) sorunsuz tcp reno, onay mesaji
yukarıdaki resimde, TCP Reno algoritmasında, her gönderilen mesajın zamanında ve sorunsuz olarak onaylandığı (acknowledgement) gösterilmektedir. Resimde de görüldüğü üzere sorunsuz gelen onay mesajları sonunda tıkanıklık penceresinin (congestion window) boyutu arttırılmıştır.
durum 2) onay gecikmesi, ack delay
Yukarıdaki resimde ise, gönderilen onay paketleri (ack) gönderen tarafın beklediği hızdan yavaş olarak ulaşmaktadır. Bu durumda TCP Reno algoritması, tıkanıklık penceresinin (congestion window) boyutu azaltmıştır.

Hızlı devam (fast recovery) Bu yaklaşım yavaş başlangıç yönetiminin bir alt uygulamasıdır. Bu yaklaşımda paket onaylarındaki gecikmeden (congestion, tıkanıklık) kaynaklanan pencere boyutunu düşürme işlemi, pencerenin boyutunu daha yavaş azaltmakla olmaktadır. Yani üssel olarak artmakta olan pencere boyutunu diyeliki 2n boyutuna çıkarttık, bir sonraki adımda 4n olacaktır. Ancak 4n yaptıktan sonra pencerenin dolduğunu gözlemledik. Bu durumda yavaş başlangıç algoritmasının 2n boyutundan doğrusal arttırım yaparak devam etmesi gerekmektedir. Bunun yerine hızlı devam yönteminde 4n sayısından azaltarak pencere boyutu değiştirilmeye devam eder.

Yavaş başlangıç (slow start) algoritmasının eksik yanı bütün paket onay sorunlarını tıkanıklık sebebine bağlamasıdır. Oysaki paketler ortam kalitesinden kaynaklanan sorunlardan dolayı geç onaylanabilir veya hiç onaylanmayabilir. Örneğin kablosuz ağlarda bu tip paket kayıpları çok yaşanmaktadır. Dolayısıyla kablosuz ağlarda bir anda paket kayıpları yüksek miktardayken pencere boyutu aniden çok küçük değerlere getirilecek ve sonraki anda çok kaliteli bir iletişim varken pencere boyutunun eski değerlere ulaşması vakit alacaktır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir