İleri Düzey Bilgisayar Ağları Ders 4 İnternet te Tıkanıklık Denetimi Mehmet Demirci 1
Bugün İnternet te ölçekleme Tıkanıklık denetimi 2
IPv4 yetersiz kalıyor Toplam 2 32 4 milyar adres IP adresleri bloklar halinde dağıtılır parçalanma (fragmentation) Son /8 blok da gitti. IPv4 da denizin sonuna geldik. 3
Ölçekleme: NAT Network Address Translation Birden çok ağ aynı özel IP adres bölgesini paylaşabilir. NAT (Ağ adresi çeviricisi) çıkan paketin kaynak adresini, gelen paketin varış adresini değiştirir. 4
Ölçekleme: IPv6 IPv6 Daha çok adrese izin vermesi, daha basit paket başlığına sahip olması, güvenlik desteği içermesi vb. avantajlarına rağmen kullanımı henüz sınırlıdır. 2013 sonunda yönlendirme tablosu girdileri: 16.000 IPv6 vs. 500.000 IPv4 Neden? 5
IPv6 IPv6 Kum saati modeli (veya dar bel, narrow waist) Her şey IPv4 a bağımlı. Geçiş sürecinde uyumsuzluk ortaya çıkabiliyor. 6
IPv6 Geçiş nasıl olmalı? Dual Stack: Hem Ipv4 hem IPv6 konuşan cihazlar Ya iki tür adresi olacak, ya da IPv6 adresini IPv4 e çevirebilecek. 6 to 4 Tunneling: Ortada sadece IPv4 anlayan çekirdek varsa IPv6 paketini IPv4 paketinin içine yerleştirerek gönder. Tekrar IPv6 anlayan ağa gelince paketten çıkar. 7
Bugün İnternet te ölçekleme Tıkanıklık denetimi 8
Tıkanıklık Denetimi Congestion Control Hedef: İnternet i taşırmadan doldurmak Paket gönderme hızını ayarlayarak tıkanıklığı gidermek veya tıkanıklık oluşma ihtimalini azaltmak 9
Tıkanıklık Denetimi Congestion Control Farklı çıkış noktaları (sources) kaynaklar (resources) için rekabet halinde olabilir. Farklı çıkış noktaları birbirlerinden haberdar değiller. Ağdaki trafik durumundan da haberdar değiller. 10
Tıkanıklık Denetimi Congestion Collapse (Çöküş) Yük arttıkça bir noktada faydadan zarara dönülebilir. 11
Tıkanıklık Denetimi Hedefler Ağ kaynaklarını etkin kullanmak Kaynakları adil biçimde paylaştırmak Tıkanıklık sebepli çöküşü önlemek 12
Tıkanıklık Denetimi İki tür yaklaşım Uçtan uca Ağdan direk bilgi alarak değil, kayıp ve gecikmelerden sonuç çıkararak Örnek: TCP Ağ destekli Yönlendiriciler uç sistemlere yollama hızıyla ilgili tavsiye verir. 13
TCP Tıkanıklık Denetimi Paket kayıpları başlayana kadar hızı yükseltmeye devam et. TCP varsayımı: Paket kaybı = Tıkanıklık TCP hızını nasıl ayarlar? 14
TCP Tıkanıklık Denetimi Pencere bazlı yöntem Henüz karşı taraftan onayı (ack) gelmemiş olan paket sayısına sınır koymak Hızı yükseltmek için pencereyi büyüt. 15
TCP Tıkanıklık Denetimi Pencere bazlı yöntem TCP, bir pencere dolusu paket başarıyla ulaşınca pencereyi 1 paket büyütür. Additive increase TCP, bir paket için onay alamadığında pencereyi yarılar. Multiplicative decrease Slow start Fast retransmit and fast recovery 16
Tıkanıklık Denetimi Hedefleri Adalet (fairness): Herkes adil payını alır. Verimlilik veya etkinlik (efficiency): Ağ kaynakları düzgün (israf edilmeden) kullanılır. 17
Tıkanıklığı Önleme Congestion Avoidance Henüz tıkanıklık oluşmadan önlemler almak Yönlendiricinin uç sistemleri uyardığı bir mekanizma kullanılabilir. 18
Tıkanıklığı Önleme DECbit Paket başlığında bir tıkanıklık biti (congestion bit) ayrılır. Yönlendirici ortalama kuyruk uzunluğuna bakar, 1 den büyükse biti set eder. Alıcı bu biti ACK içine kopyalar. Gönderici, belli sayıda paketten kaçının bu bitin set edilmesine yol açtığına bakar. Yarıdan fazlaysa penceresini küçültür, azsa büyütür. 19
Tıkanıklığı Önleme Random Early Detection (RED) Yönlendirici, bir bitle göndericiye haber vermek yerine bir paketi kuyruktan atar. Tıkanıklık daha oluşmamışken uyarı yapmış olur. Böylece göndericinin hızını azaltmasına yol açar. 20
Tıkanıklığı Önleme Gönderici temelli tıkanıklık önleme Yönlendirici müdahalesi olmadan, kendi RTT ölçümlerine veya gönderim hızına dayaranak pencere boyutunu ayarlamak Örnek: TCP Vegas 21
Tıkanıklığı Önleme TCP Vegas Beklenen hızla gerçek hızı karşılaştır. Aradaki fark azsa pencereyi büyüt, çoksa küçült. Ağda kuyrukların fazla dolmasına da çok boş kalmasına da izin verme. 22
Sonraki Ders İnternet te ses ve görüntü transferi İçerik dağıtım ağları ve eşler arası ağlar 23