100 likes | 326 Views
TCP bağlantısının alıcı tarafının bir alıcı bufferı var :. Hız uygunluğu servisi : gönderme ve alıcının okuma hızının uygunluğundan emin olur. Akış kontrolü. TCP Akış Kontrolü. Gönderici çok fazla datayı çok hızlı göndererek alıcının bufferının taşmasına sebebiyet vermez.
E N D
TCP bağlantısının alıcı tarafının bir alıcı bufferı var: Hız uygunluğu servisi: gönderme ve alıcının okuma hızının uygunluğundan emin olur Akış kontrolü TCP AkışKontrolü Gönderici çok fazla datayı çok hızlı göndererek alıcının bufferının taşmasına sebebiyet vermez • Uygulama bufferdan okumada yavaş olabilir 3:TAŞIMA KATMANI
(TCP’nin sıralı gelmeyen pakeleri attığını varsayalım) Bufferda Yedek boşluk Alıcı segmentlerine RcvWindowdeğeri koyarak yedek boşluğu bildirir Gönderici ACKlenmemiş data miktarını RcvWindow ile sınırlar Bu alıcı bufferının taşmamasını garanti eder TCP Akış kontrolü: nasıl çalışıyor Applet 3:TAŞIMA KATMANI
Hatırlayalım:TCP gönderici vealıcısı veri segmentleri alıp vermeye başlamadan önce “bağlantı” oluştururlar TCP değişkenlerini sıfırla: sıranumaraları buffer, akış kontrolü bilgisi(e.g. RcvWindow) istemci:bağlantı isteğini başlatır sunucu:istemci tarafından bağlantı isteği alır Üç Yönlü El Sıkışma: 1. adım:istemci host TCP SYN (senkronizasyon) segmentini sunucuya gönderir İlk sıra numarasını belirtir Veri gönderilmez 2.adım:sunucu host SYN mesajını alır, SYNACK segmenti ile cevap verir sunucu buffer ayırır Sunucu ilk sıra numarasını belirtir 3. adım:istemci SYNACK mesajını alır, ACK segmenti ile cevap verir. Bu aşamada veride gönderilebilir. TCP Bağlantı Yönetimi 3:TAŞIMA KATMANI
Bağlantıyı kapama: 1. Adım:istemcihost sunucuya TCP FIN kontrol segmenti gönderir 2. Adım:sunucu FIN mesajını alır ve ACK ile cevap verir. Bağlantıyı kapatır ve FIN gönderir. 3. Adım:istemci FIN alır, ACK ile cevap verir. “beklemeye” girer 4. Adım:sunucu, ACK alır. Bağlantı kapatılır. istemci sunucu kapat FIN ACK kapat FIN ACK bekleme kapandı TCP Bağlantı Yönetimi 3:TAŞIMA KATMANI
Sıkışıklık: çok fazla kaynak ağın kaldırabileceğinden çok fazla veriyi çok hızlı gönderiyor Akış kontrolünden farklı! sorunlar: kayıp paketler (yönlendiricilerde buffer taşması) Uzun gecikmeler (yönlendiricilerde kuyruklama) Sıkışıklık Kontrolünün Esasları 3:TAŞIMA KATMANI
İki gönderici, iki alıcı Bir yönlendirici, sonsuz buffer Yeniden gönderme yok Sıkışıklık durumunda uzun gecikmeler maksimum başarılabilecek gönderim hızı lout lin : orjinal data sınırsızpaylaşılan çıkış link bufferları Host A Host B Sıkışıklığın sebepleri/maliyetleri: 1. senaryo 3:TAŞIMA KATMANI
Bir yönlendirici, sonlu bufferlar Kayıp paket yeniden gönderiliyor Sıkışıklığın sebepleri/maliyetleri: 2. senaryo Host A lout lin : orjinal data l'in : orjinal data, veyeniden gönderilen data Host B Paylaşılan sınırlıçıkış linki bufferları 3:TAŞIMA KATMANI
Her zaman: “mükemmel” yeniden gönderim, yalnız kayıp: Gecikmiş (kaybolmamış) paketlerin yeniden gönderimi i öncekindenden daha büyük yapar l l l > = l l in in in out out lin lin lin Sıkışıklığın sebepleri/maliyetleri: 2. senaryo R/2 R/2 R/2 R/3 lout lout lout R/4 R/2 R/2 R/2 a. Sadece bufferda yer varken veri gönderiliyor b. R/3 orijinal veriler R/6 tekrarlanan veri b. R/4 orijinal veriler R/4 tekrarlanan veri Sıkışıklığın maliyeti: • Belli bir iletim oranı için daha fazla iş (yeniden gönderim) • Gereksiz yeniden gönderimler: link aynı paketin birçok kopyasını taşır 3:TAŞIMA KATMANI
4 gönderici Çok duraklı yollar zamanaşımı/yeniden gönder l l in in Host A Host B Sıkışıklığın sebepleri/maliyetleri: 3. senaryo Q: vearttığında ne olur ? lout lin : orjinal data l'in : orjinal data, veyeniden gönderilen data Paylaşılan sınırlıçıkış linki bufferları 3:TAŞIMA KATMANI
Host A Host B Sıkışıklığın sebepleri/maliyetleri: 3. senaryo lout Sıkışıklığın diğer bir maliyeti: • Paket atıldığında, yukarı link iletim kapasitesinin bir kısmı o atılan paket için boşa harcanmıştır! 3:TAŞIMA KATMANI