Bilgisayar ağlarında Tıkanıklık Yönetim Algoritmaları
Tıkanıklık Kontrol Algoritmaları
Leaky Bucket(Sızdıran kova) Algoritması
Ağa gönderilen trafik oranını ve miktarını kontrol eden bir makanizmadır. Bu algoritma, Ortalama veri hızını sabitleyerek yoğu trafiği yönetir.
Bir kovanın dibinde küçük bir delik olduğunu hayal edelim. Kovayı dolduran su sabit olmasa da alttaki küçük delikten sızan su miktarı sabittir. Böylece su kovada beklediği müddetçe kovaya giren su miktarına bağlı olmadan kovadan sızan su aynı olacaktır.
Bu algoritmanın dezavantajı kova dolduğu zaman su boşa akacaktır.
Aynı mantığı bilgisayar ağları için düşündüğümüze veri kaynaktan farklı hızlarda gelebilir. Örneğin kaynaktan 4 saniyede 12 Mbps veri gelsin, 3 saniye veri gelmesin. Daha sonra kaynaktan 2 saniye için 10 Mbps veri gelsin. Böylece 9 saniyelik zaman aralığında 68 MB veri transfer edilmiş olacaktır.
Eğer sızdıran kova algoritması kullanılırsa veri akışı 9 saniyede 8 Mbps olacaktır, böylece sabit akış sağlanacaktır.
Token Bucket(Jetonlu Kova) Algoritması
Sızdıran kova algoritması yalnızca ortalama(sbit) oranda veri akışına izin verir. En büyük problemi yoğun veri ile ilgilenmemesidir.
Sızdıran kova algoritması, sunucunun boşta kalma süresi ile ilgilenmez. Örneğin sunucu 10 sn boşta kalıyorsa diğer 10 saniyede veriyi çok yüksek hızda gönderir, toplam veri iletimi 20 sn olacak ortalama veri oranı korunacaktır. Sunucunun 10 saniye boşta kalması bir avantaj doğurmayacaktır.
· Bu problemin üstesinden gelmek için jetonlu kova algoritması kullanılır. Bu algoritma yoğun miktarda veri transferine izin verir.
· Sızdıran kova algoritmasının değiştirilmiş halidir, sızdıran kova jetonlar içerir. Bu algoritmada jeton veya jetonlar her saat tikinde(clock tick) üretilir. Paket transfer edildiğinde jetonlar kovadan atılmalıdır.
· Böylece, jetonlu kova algoritması jeton formunda sunucunun boşta kalmasında ve gelecek için kredi toplamasına izin verir.
· Örneğin eğer sistem bir saat çevriminde 100 jeton üretirse, sunucu 100 tik için boşta bekleyecektir. Kova 10.000 jeton içerecektir.
· Eğer sunucu yoğun miktarda data gönderiyorsa, 10.000 jetonu bir defada 10.000 hücre veya bayt göndererek tüketebilir. Böylece sunucu kova boş olmadığı sürece yoğun veri gönderebilir.
Kaynaklar
1) Computer Networks, Prenticae Hall, Andrew S. Tanenbaum
2) Bilgisayar Haberleşmesi ve Ağ Teknolojileri, Papatya Yayıncılık, B.Örencik, R.Çölkesen
3) What is congestion control? http://ecomputernotes.com
İyi çalışmalar,
Oğuzhan TAŞ
Ekim, 2016
Leaky Bucket(Sızdıran kova) Algoritması
Ağa gönderilen trafik oranını ve miktarını kontrol eden bir makanizmadır. Bu algoritma, Ortalama veri hızını sabitleyerek yoğu trafiği yönetir.
Bir kovanın dibinde küçük bir delik olduğunu hayal edelim. Kovayı dolduran su sabit olmasa da alttaki küçük delikten sızan su miktarı sabittir. Böylece su kovada beklediği müddetçe kovaya giren su miktarına bağlı olmadan kovadan sızan su aynı olacaktır.
Bu algoritmanın dezavantajı kova dolduğu zaman su boşa akacaktır.
Aynı mantığı bilgisayar ağları için düşündüğümüze veri kaynaktan farklı hızlarda gelebilir. Örneğin kaynaktan 4 saniyede 12 Mbps veri gelsin, 3 saniye veri gelmesin. Daha sonra kaynaktan 2 saniye için 10 Mbps veri gelsin. Böylece 9 saniyelik zaman aralığında 68 MB veri transfer edilmiş olacaktır.
Eğer sızdıran kova algoritması kullanılırsa veri akışı 9 saniyede 8 Mbps olacaktır, böylece sabit akış sağlanacaktır.
Token Bucket(Jetonlu Kova) Algoritması
Sızdıran kova algoritması yalnızca ortalama(sbit) oranda veri akışına izin verir. En büyük problemi yoğun veri ile ilgilenmemesidir.
Sızdıran kova algoritması, sunucunun boşta kalma süresi ile ilgilenmez. Örneğin sunucu 10 sn boşta kalıyorsa diğer 10 saniyede veriyi çok yüksek hızda gönderir, toplam veri iletimi 20 sn olacak ortalama veri oranı korunacaktır. Sunucunun 10 saniye boşta kalması bir avantaj doğurmayacaktır.
· Bu problemin üstesinden gelmek için jetonlu kova algoritması kullanılır. Bu algoritma yoğun miktarda veri transferine izin verir.
· Sızdıran kova algoritmasının değiştirilmiş halidir, sızdıran kova jetonlar içerir. Bu algoritmada jeton veya jetonlar her saat tikinde(clock tick) üretilir. Paket transfer edildiğinde jetonlar kovadan atılmalıdır.
· Böylece, jetonlu kova algoritması jeton formunda sunucunun boşta kalmasında ve gelecek için kredi toplamasına izin verir.
· Örneğin eğer sistem bir saat çevriminde 100 jeton üretirse, sunucu 100 tik için boşta bekleyecektir. Kova 10.000 jeton içerecektir.
· Eğer sunucu yoğun miktarda data gönderiyorsa, 10.000 jetonu bir defada 10.000 hücre veya bayt göndererek tüketebilir. Böylece sunucu kova boş olmadığı sürece yoğun veri gönderebilir.
Kaynaklar
1) Computer Networks, Prenticae Hall, Andrew S. Tanenbaum
2) Bilgisayar Haberleşmesi ve Ağ Teknolojileri, Papatya Yayıncılık, B.Örencik, R.Çölkesen
3) What is congestion control? http://ecomputernotes.com
İyi çalışmalar,
Oğuzhan TAŞ
Ekim, 2016
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?