Upload
rowena
View
36
Download
2
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
3:TAŞIMA KATMANI 3-1
TCP Akış Kontrolü
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
Uygulama bufferdan okumada yavaş olabilir
Gönderici çok fazla datayı çok hızlı göndererek
alıcının bufferının taşmasına sebebiyet
vermez
Akış kontrolü
3:TAŞIMA KATMANI 3-2
TCP Akış kontrolü: nasıl çalışıyor
(TCP’nin sıralı gelmeyen pakeleri attığını varsayalım)
Bufferda Yedek boşluk
Alıcı segmentlerine RcvWindow değ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
Applet
3:TAŞIMA KATMANI 3-3
TCP Bağlantı Yönetimi
Hatırlayalım: TCP gönderici ve alıcısı veri segmentleri alıp vermeye başlamadan önce “bağlantı” oluştururlar
TCP değişkenlerini sıfırla:• sıra numaraları• 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ı
belirtir3. adım: istemci SYNACK
mesajını alır, ACK segmenti ile cevap verir. Bu aşamada veride gönderilebilir.
3:TAŞIMA KATMANI 3-4
TCP Bağlantı Yönetimi
Bağlantıyı kapama:
1. Adım: istemci host 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
FIN
sunucu
ACK
ACK
FIN
kapat
kapat
kapandı
bekl
em
e
3:TAŞIMA KATMANI 3-5
Sıkışıklık Kontrolünün Esasları
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)
3:TAŞIMA KATMANI 3-6
Sıkışıklığın sebepleri/maliyetleri: 1. senaryo
İ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ı
sınırsız paylaşılan çıkış link bufferları
Host Ain : orjinal data
Host B
out
3:TAŞIMA KATMANI 3-7
Sıkışıklığın sebepleri/maliyetleri: 2. senaryo
Bir yönlendirici, sonlu bufferlar Kayıp paket yeniden gönderiliyor
Paylaşılan sınırlı çıkış linki bufferları
Host A in : orjinal data
Host B
out
'in : orjinal data, ve yeniden gönderilen data
3:TAŞIMA KATMANI 3-8
Sıkışıklığın sebepleri/maliyetleri: 2. senaryo Her zaman:
“mükemmel” yeniden gönderim, yalnız kayıp:
Gecikmiş (kaybolmamış) paketlerin yeniden gönderimi i
öncekindenden daha büyük yapar
in
out
=
in
out
>
in
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
R/2
R/2in
ou
tR/2
R/2in
ou
t
a. Sadece bufferda yer varken veri gönderiliyor
R/2
R/2in
ou
t
R/4
R/3
b. R/3 orijinal veriler R/6 tekrarlanan veri
b. R/4 orijinal veriler R/4 tekrarlanan veri
3:TAŞIMA KATMANI 3-9
Sıkışıklığın sebepleri/maliyetleri: 3. senaryo 4 gönderici Çok duraklı yollar zamanaşımı/yeniden gönder
in
Q: ve arttığında ne olur ?
in
Paylaşılan sınırlı çıkış linki bufferları
Host Ain : orjinal data
Host B
out
'in : orjinal data, ve yeniden gönderilen data
3:TAŞIMA KATMANI 3-10
Sıkışıklığın sebepleri/maliyetleri: 3. senaryo
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!
Host A
Host B
o
u
t