G üvenli veri transferinin esasları
description
Transcript of G üvenli veri transferinin esasları
3:TAŞIMA KATMANI 3-1
Güvenli veri transferinin esasları Uygulama, iletim, ve link katmanlarında önemli En önemli 10 konu listesinde 1. sıraya yerleşir.
Güvenilir olmayan kanalın karakteristikleri güvenilir veri transferinin (rdt) karmaşıklığını belirleyecektir
3:TAŞIMA KATMANI 3-2
Kayıplı kanallarda hata düzeltme İletim kanalı paketteki bitleri doğru
iletemeyebilir• Bit/paket iletiminde hata tespiti: bit hatası için kontrol
toplamı/paket için sıra numarası
soru: hatalar nasıl düzeltilebilir:• acknowledgements (ACKs): alıcı göndericiye
paketlerin tamamıyla doğru alındığını söyler• negative acknowledgements (NAKs): alıcı göndericiye
paketlerin alınmadığını/hatalı olarak alındığını söyler• Gönderici NAK aldığında paketi yeniden gönderir
3:TAŞIMA KATMANI 3-3
NAK-olmayan bir protokol
Sadece ACK kullanılır NAK yerine, alıcı doğru olarak aldığı en son paket için ACK
gönderir• Alıcı ACK gönderdiği paketin sıra numarasını mutlaka
belirtmelidir Aynı paket için tekrarlanan (duplicate) ACK, NAK ile aynı
manaya gelir ve gönderici en son ACK gönderilen paketten bir sonrakini yeniden gönderir
3:TAŞIMA KATMANI 3-4
rdt3.0: dur ve bekle (değişen bit protokolü:0 ve 1)
a) Kayıpsız iletim
b) Kayıplı iletim
3:TAŞIMA KATMANI 3-5
rdt3.0 devam
c) ACK kayboldu a) Erken timeout (zaman aşımı)
rcvACK1 Birşey yapma
3:TAŞIMA KATMANI 3-6
dur ve bekle protokolü performansı performansı çok kötü örnek: 1 Gbps link, 15 ms uçtan uca yayınım gecikmesi, 1KB
packet:
Ttransmit
= 8kb/pkt10^9 b/sn
= 8 microsec
• U sender: utilizasyon (kullanım oranı) – göndericinin gönderme işiyle meşgul olduğu zaman yüzdesi
L (packet uzunluğu-bit)R (iletim hızı, bps)
=
• Her 30 ms’de 1KB pkt -> 33kB/sn thruput (1 Gbps link te)• protokol fiziksel kaynakların kullanımını sınırlar!
%U gönderici =
.008*100
30.008
= %0.027
100*L / R
RTT + L / R =
3:TAŞIMA KATMANI 3-7
rdt3.0: dur ve bekle
Paketin ilk biti gönderildi , t = 0
gönderici alıcı
RTT
Paketin son biti gönderildi, t = L / R
Paketin ilk biti geldiPaketin son biti geldi, ACK gönderildi
ACK geldi, bir sonraki paketi gönder, t = RTT + L / R
%U gönderici =
.008*100 30.008
= %0.027 100*L / R
RTT + L / R =
3:TAŞIMA KATMANI 3-8
Boru hattı protokolleriBoru hattı: gönderici henüz ACK alınmamış birçok paketin
arka arkaya gönderilmesine izin verir• Sıra numarası aralığı artırılmalı• Alıcıda ve vericide buffer (depolama) yapılmalı
Boru hattı protokolleri iki genel formdadır: go-Back-N(GBN-Geri git N) , selective repeat (SR-seçici tekrarlama)
a) Dur bekle protokolü b) Bir boru hattı protokolü
3:TAŞIMA KATMANI 3-9
Boru hattı: artan utilizasyon
Paketin ilk biti gönderildi , t = 0
gönderici alıcı
RTT
Paketin son biti gönderildi, t = L / R
Paketin ilk biti geldi1. Paketin son biti geldi, ACK gönderildi
ACK geldi, bir sonraki paketi gönder, t = RTT +
L / R
2. Paketin son biti geldi, ACK gönderildi3. Paketin son biti geldi, ACK gönderildi
Utilizasyon faktörü 3 katına çıktı!
%U gönderici =
.024 30.008
= %0.08 100*3 * L / R
RTT + L / R =
3:TAŞIMA KATMANI 3-10
Go-Back-N (GBN-N Geri Git)Gönderici: Paket başlığında k-bit seq numarası N’ e kadar “pencere” N: ACK’lenmeyen ardışıl paket sayısı
ACK(n): n sıra numarasına kadar olan (n dahil) bütün paketleri ACK’ler- “toplu ACK”• Tekrarlı (duplicate) ACK alınabilir
Her gönderilen paket için zaman sayacı var Zamanaşımı(timeout)(n): penceredeki n. Paketi ve daha yüksek sıra numarasına sahip
paketleri tekrar gönder
ACK’ lendi
Gönderildi fakat henüz
ACK’ lenmedi
Gönderilecek
Henüz gönderilemez
3:TAŞIMA KATMANI 3-11
GBN pencere büyüklüğü =4
3:TAŞIMA KATMANI 3-12
GBN: Java uygulaması