Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

3:TAŞIMA KATMANI3-1 Adresindeki HTTP ve DNS appletleri HTTP APPLET DNS APPLET.

Benzer bir sunumlar


... konulu sunumlar: "3:TAŞIMA KATMANI3-1 Adresindeki HTTP ve DNS appletleri HTTP APPLET DNS APPLET."— Sunum transkripti:

1 3:TAŞIMA KATMANI3-1 Adresindeki HTTP ve DNS appletleri HTTP APPLET DNS APPLET

2 3:TAŞIMA KATMANI3-2 Seçici Tekrarlama (SR)  Alıcı doğru olarak alınan paketleri tek tek ACK’ler Alıcıda paketleri depolar  Gönderici sadece ACK alamadığı paketleri gönderir Her ACK’lenmeyen paket için gönderici zamanlayıcısı var  Gönderici penceresi N ardışıl sıra numarası Burada da gönderilen paket sayısını sınırlar

3 3:TAŞIMA KATMANI3-3 Seçici tekrarlama: gönderici ve alıcı pencereleri ACK’ lendi Gönderildi fakat henüz ACK’ lenmedi Gönderilecek Henüz gönderilemez Sıralama dışı(depolandı) ACK’lenmişti Bekleniyor, henüz gelmedi Kabul edilebilir pencere içinde Kullanılamaz a) Göndericinin sıra numaraları b) Alıcının sıra numaraları

4 3:TAŞIMA KATMANI3-4 Seçici tekrarlama

5 3:TAŞIMA KATMANI3-5 Seçici tekrarlama çıkmazı Örnek:  Sıra no: 0, 1, 2, 3  Pencere büyüklüğü=3  Alıcı için her iki senaryoda aynı  Yanlış olarak aynı veriyi yeni olarak gönderir (a) Q: sıra numarası ve pencere büyüklüğü arasındaki ilişki ne olmalı? K>2W

6 3:TAŞIMA KATMANI3-6 Seçici Tekrarlama: Java uygulamasıJava uygulaması

7 3:TAŞIMA KATMANI3-7 TCP: RFC: 793, 1122, 1323, 2018, 2581  full dupleks (çift yönlü) veri: Aynı bağlantı üzerinden çift yönlü veri akışı MSS: maximum segment size (maksimum segment büyüklüğü)  bağlantılı: handshaking (el sıkışma)  Akış kontrolü: Gönderici alıcının kapasitesini aşmaz  Noktadan-noktaya: Bir gönderici ve bir alıcı  güvenilir, sıralı akış:  Boru hattı: TCP sıkışıklık ve akış kontrolü pencere büyüklüğünü belirler  Gönderici ve alıcı buffer’ları

8 3:TAŞIMA KATMANI3-8 TCP segment yapısı kaynak port # hedef port # 32 bits Uygulama datası (uzunluğu değişken) sıra numarası acknowledgement numarası Alıcı penceresi Urg data pnter Kontrol toplamı F SR PAU head len not used seçenekler (uzunluğu değişken) RST, SYN, FIN: Bağlantı kurulumu (kurma, yıkma komutları) Alıcının kabul edeceği byte miktarı Veri byteları İle belirlenir (segmentlerle değil!) Internet Kontrol toplamı (UDP’deki gibi)

9 3:TAŞIMA KATMANI3-9 TCP sıra numaraları ve ACK’ler Sıra numaraları: Segment datasındaki ilk byte’ın veri akışındaki byte numarası ACK’ler: Diğer taraftan beklenen bir sonraki byte’ın sıra numarası toplu ACK Q: alıcı sırasız gelen paketleri ne yapar? TCP bu konuda herhangi birşey söylemez, uygulayana bağlı Host A Host B Seq=42, 8 byte veri ACK=50 Seq=50, 15 Byte veri kullanıcı veri gönderiyor host ACK’i alır ve sonraki veriyi gönderir host veriyi aldığını ACKler zaman

10 3:TAŞIMA KATMANI3-10 TCP RTT ve Zaman aşımı Q: TCP zaman aşımı değeri nasıl ayarlanmalı?  RTT’den büyük olmalı Fakat RTT değişken  Çok kısa: erken zaman aşımı Gereksiz yeniden iletim  Çok uzun: segment kaybına yavaş reaksiyon Q: RTT’yi nasıl tahmin edebiliriz?  SampleRTT : segment gönderildikten ACK alınana kadar ölçülen süre Yeniden gönderimleri gözardı et  SampleRTT çok değişken, biz tahmini RTT’nin daha yumuşak değişimler göstermesini isteriz Birçok ölçümün ortalamasını al

11 3:TAŞIMA KATMANI3-11 TCP RTT ve Zaman aşımı EstimatedRTT = (1-  )*EstimatedRTT +  *SampleRTT  Eksponansiyel ağırlıklı kayan ortalama (Exponential Weighted Moving Average-EMA)  Önceki örneklerin etkisi üstsel bir hızla azalır  tipik değer:  = 0.125

12 3:TAŞIMA KATMANI3-12 Örnek RTT tahmini:

13 3:TAŞIMA KATMANI3-13 TCP RTT ve Zaman aşımı Zaman aşımı süresini belirleme  EstimtedRTT ye bir güvenlik marjini eklemeliyiz EstimatedRTT’deki değişim çoksa -> daha büyük gğvenlik marjini  Önce SampleRTT’nin EstimatedRTT’den ne kadar değişim (deviasyon) gösterdiğini belirle : TimeoutInterval = EstimatedRTT + 4*DevRTT DevRTT = (1-  )*DevRTT +  *|SampleRTT-EstimatedRTT| (tipik,  = 0.25) Zaman aşımı süresi (TimeoutInterval):

14 3:TAŞIMA KATMANI3-14 TCP güvenilir veri transferi  TCP IP’nin güvenilir olmayan servisi üzerine bir rdt oluşturur  Boru hattı segmentleri  Toplu ackler  TCP tek bir yeniden gönderme zamanlayıcısı kullanır  Yeniden göndermeler: Zaman aşımları tekrarlanan ackler ile tetiklenir  Başlangıçta basitleştirilmiş bir TCP göndericisi ele alalım: tekrarlı ackleri gözardı edelim Akış ve sıkışıklık kontrolünü yine gözardı edelim

15 3:TAŞIMA KATMANI3-15 TCP gönderici olayları: Uygulamadan data alındı:  Sıra numarasıyla segmenti oluştur  Sıra numarası segment datasındaki ilk byte’ın veri akışındaki byte numarasıdır.  Zamanlayıcıyı çalıştır  Zamanaşımı süresi: TimeOutInterval Zaman aşımı:  Zaman aşımına sebep olan segmenti yeniden gönder  Zamanlayıcıyı yeniden başlat Ack alındı:  Eğer daha önceden ACKlenmemiş segmentleri Acklerse Acklenmiş paketleri güncelle Zamanlayıcıyı yeniden başlat

16 3:TAŞIMA KATMANI3-16 TCP: yeniden gönderme senaryoları Host A Seq=100, 20 byte data ACK=100 zaman Erken zamanaşımı Host B Seq=92, 8 bytes data ACK=120 Seq=92, 8 byte data Seq=92 timeout ACK=120 Host A Seq=92, 8 byte data ACK=100 kayıp kayıp ACK senaryosu Host B X Seq=92, 8 byte data ACK=100 zaman Seq=92 timeout SendBase = 100 SendBase = 120 SendBase = 120 Sendbase = 100 Zaman aşımı

17 3:TAŞIMA KATMANI3-17 TCP: yeniden gönderme senaryoları Host A Seq=92, 8 byte data ACK=100 kayıp Toplu ACK senaryosu Host B X Seq=100, 20 byte data ACK=120 zaman SendBase = 120 Zaman aşımı

18 3:TAŞIMA KATMANI3-18 Hızlı Yeniden Gönderim  Zaman aşımı süresi genelde uzun: Kayıp segmenti yeniden gönderimde uzun gecikme olur  Kayıp segmentleri tekraralanan ACKler vasıtasıyla tespit et. Gönderici genelde peşpeşe birçok segment gönderir Eğer segment kaybolursa büyük bir ihtimalle birçok tekrarlı ACK meydana gelir.  Eğer gönderici aynı data için 3 ACK alırsa ACKlenen datadan sonraki segmentin kaybolduğunu varsayar: Hızlı yeniden gönderim: segmenti zaman aşımını beklemeden yeniden gönder


"3:TAŞIMA KATMANI3-1 Adresindeki HTTP ve DNS appletleri HTTP APPLET DNS APPLET." indir ppt

Benzer bir sunumlar


Google Reklamları