yazan: Şadi Evren ŞEKER

TCP protokolü kullanılan ağlarda, birden fazla tıkanıklık önleme (congestion avoidance) yöntemi bulunmaktadır. Bunlardan bir tanesi de TCP Reno algoritmasıdır. Basitçe özellikleri aşağıdaki şekilde listelenebilir:

  • yavaş başlangıç (slow start)
  • Hızlı kurtarma (fast recovery)
  • Çalışma mantığı:

  • Basitçe her başarılı onay paketinden (acknowledgement ack) sonra tıkanıklık penceresini (congestion window) 1 arttırır.
  • Şayet paket kaybı olursa (packet loss, beklenen zamanda cevabının gelmemesi şeklinde (timeout)) bu durumda tıkanıklık penceresi (congestion window)‘nin değeri başlangıç değeri olan 1’e geri döner.
  • Şayet tıkanıklık olduysa tıkanıklık penceresini (congestion window)‘nin kapasitesi dolduysa ve onay paketi gelmediyse, bu durumda tıkanıklık penceresini (congestion window)‘nin kapasitesi yarısına indirilir.
  • Yukarıdaki bu durumlar aşağıdaki şekillerde anlatılmıştır:
    1) Paket zaman aşımı
    Yukarıdaki grafikte bir paketin zaman aşımına uğraması (onay mesajının beklenen zamanda ulaşmaması) durumu gösterilmiştir. Buna göre TCP Reno algoritması, tıkanıklık penceresinin (congestion window) kapasitesini yarısına indirir.
    2) 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.
    3) 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.

    TCP Tahoe

    TCP reno benzeri bir şekilde tıkanıklık önleme algoritmalarından birisi de tcp tahoe algoritmasıdır. Bu algoritma Reno’dan farklı bir şekilde tıkanıklığı algılar ve çözüm üretir.

    Tahoe algoritmasında, paket kaybı, ACK alınmasındaki zaman aşımında algılanır. Paket kaybının algılanması durumunda da tahoe algoritmasında tıkanıklık penceresinin (congestion window) boyutu 1 mss ‘e (maximum segment size) indirilir. Ardından iletişim sıfırlanarak yavaş başlangıç (slow start) yapılır ve iletişime devam edilir.

    Aynı durum, yani paket kaybının algılanması, Reno algoritmasında 3 adet tekrarlı ACK mesajının alınması ile olur. Reno’nun bu durumda ürettiği çözüm ise Tahoe’den farklı olarak tıkanıklık penceresini (congestion window) yarıya indirmek ve yukarıdaki yazıda da anlatılan hızlı kurtarma (fast recovery) yapmaktır.

    Bu anlamda, hızlı kurtarma işleminin sadece TCP reno tarafından kullanıldığını ve Tahoe tarafından kullanılmadığını söyleyebiliriz. Ayrıca zaman aşımı durumunda (time out) iki algoritma da tıkanıklık penceresinin boyutunu 1 MSS indirmektedir.

    Bir cevap yazın

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