21 Şubat 2010 Pazar

Hop-by-Hop Choke Packets

Bu yorucu günün akşamından son kez sizleri selamlıyorum. :)

Az önce, Galatasaray'ı bile yenemeyen takımımıza bayağı bir laf ettim. Antep'i Galatasaray'ı yenemeyeceksen, kimi yeneceksin yahu? 31 Ocak'tan beridir zaten doğru dürüst takip etmiyorum. Bu adam(o kısaca Y.D) kulüpten gidene kadar da, çok fazla aktif katılmayacağım.

Her neyse, konumuz Congestion Control(Tıkanıklık Kontrolü)'ü engellemeye çalışan algoritmalardan biri olan Hop-by-Hop Choke Packets.

Üstteki resimde olay anlatılmış. Soldaki ilk resimdeki mantık şu: Router'ların belli bir kapasitesi var. Gerçi router genelde gelen paketi forward eder, yani iletir. Bayağı bayağı kapasitesi var ama teorik olarak imkansız olmayan bir durum, router'ın çıkış hatlarındaki kuyruğun dolması. Router'lar çıkış hatlarındaki durumu izleyebilirler ve belli bir değer aşılırsa, ilgili hat uyarı vermeye başlar. Router kendine gelen her yeni pakete bakar. Eğer tıkanık olan çıkış hattına gitmeye çalışıyorsa; router, paketi gönderen yere "choke" denilen paketi yollar. Bu paket, uyarı amaçlı yollanır. "Hat dolu, adam ol lan", demekle eşdeğerdir.

Choke paketini alan düğüm de, o yöndeki trafiğini azaltır. Bir süre geri choke paketi gelmezse de, tekrar o yönde normal trafik akmaya başlar. Ancak düşük hız ve uzun mesafelerde bu yöntem patlıyor. Nedenini anlamak için yine sol taraftaki şekle bakınız. Choke paketi göndericiye ulaşana dek bayağı bir süre geçiyor. Ardından trafik azaltılsa bile, trafiğin azalmasından ancak birkaç adımda haberi olabiliyor (tıkanıklık yaşayan)router'ın. Çünkü gönderene ya da tıkanan router'a haber gelene kadar hiçbir müdahelede bulunulmuyor. Choke paketi gidene kadar, gönderici düğüm ortalığın tozunu atabilir. :) Veya tam tersi, trafiğin yavaşlaması, tıkanan router'a gelene kadar, router çökebilir. :)

İşte tam da bu noktada, resmin sağ tarafından gördüğünüz, hop-by-hop choke packet yöntemi devreye giriyor. Choke paketinin her geçtiği düğüm(router diyelim) bu pakete anında reaksiyon gösteriyor ve kendi üzerinden trafiği yavaşlatmaya başlıyor bile. Yani taaa paketi gönderen düğüme gitmeden, direkt yoldaki düğümler yavaşlatıyor trafiği. Paketi alan her düğüm bu şekilde tepkiler veriyor ve çok hızlı bir şekilde tıkanıklık giderilebiliyor. Resimde de görüyorsunuz, choke paketini alır almaz, trafiği azaltmış düğümcük(Reduced Flow).

Bu konu da bitti. Yazma moduma girdim gene. Ama kendimi frenliyorum ve dinlenme moduma alıyorum:
airmon.sh start lo

Bu iğrenç espri de kapanış olsun. :D

İyi uykular herkese..

Hiç yorum yok: