Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Veri Bağı Katmanı Chapter 3 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Veri Bağı Katmanı Tasarım Meseleleri.

Benzer bir sunumlar


... konulu sunumlar: "Veri Bağı Katmanı Chapter 3 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Veri Bağı Katmanı Tasarım Meseleleri."— Sunum transkripti:

1 Veri Bağı Katmanı Chapter 3 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Veri Bağı Katmanı Tasarım Meseleleri Hata Sezimi ve Düzeltilmesi Temel Veri Bağı Protokolleri Kayan Pencere Protokolleri Örnek Veri Bağı Protokolleri Revised: August 2011

2 Veri Bağı Katmanı CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Bir link üzerinde mesajın gönderilmesi ile ilgilidir Hataları yönetir ve veri akışını düzenler Katman Tasarım Meseleleri.Çerçeveler » Hizmetler » Çerçeveleme Yöntemleri » Hata Denetimi » Akış Denetimi » Physical Link Network Transport Application

3 Çerçeveler CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Veri Bağı katmanı ağ katmanından paketler kabul eder ve bunları çerçeveler haline getirir. Çerçeveler fiziksel katmandan gönderilir. Alıcıda bu işlemin tersi olur. Actual data path Virtual data path Network Link Physical

4 Hizmetler CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Geribildirimsiz Bağlantısız Hizmet Çerçeve bir bağlantı kurulmadan, hata telafisi yapılmadan gönderilir. Ethernet buna bir örnektir. Geribildirimli bağlantısız hizmet Gerektiğinde yeniden iletimler olur Ör Geribildirimli bağlantılı hizmet Bağlantı kurulur; nadirdir Bağlantı genelde taşıma katmanında kurulur.

5 Çerçeveleme Yöntemleri CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Byte sayma » Bayrak baytlar, ve bayt doldurma » Bayrak bitler ve bir doldurma » Fiziksel katman kodlama ihlalleri −Use non-data symbol to indicate frame

6 Çerçeveleme – Bayt Sayma CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Çerçeve başlangıcında çerçevedeki bayt sayısı yazılıdır. Basit, ama hatadan sonra tekrar senkronize olmak zordur Error case Expected case

7 Çerçeveleme – Bayt doldurma CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Özel FLAG Baytları çerçeveleri sınırlar; FLAG karakteri verinin içinde varsa, o zaman öncesine bir özel bir başka karakter konur. Daha uzun, ama yeniden senkronize olması daha kolay. Stuffing examples Frame format Need to escape extra ESCAPE bytes too!

8 Çerçeveleme – Bit doldurma CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Doldurma işlemi bit seviyesinde yapılır: Bayrak baytın içinde ardışık altı adet 1 var (burada görünmüyor). Veri içinde beş adet art arda 1 gelirse, peşine 0 eklenir. Alıcıda beş ardışık 1’den sonraki 0 silinir Transmitted bits with stuffing Data bits

9 Hata Denetimi CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Hata denetimi hatalı olarak alınan çerçeveleri tamir eder Hataların algılanabilmesi gerekir Tipik olarak onay gelmeyen çerçeveler tekrar edilir Geri bildirim için zamanlama (timer) tutulur Hata sezimi ve yeniden iletim bu konuda görülecektir. - Hata oranı, Link mesafesi, Yapılan iletişim türü, hataların şekli önemlidir. Akış Denetimi Hızlı bir vericinin yavaş alıcıyı boğmasının önüne geçilir Alıcı kabul edebileceği veri hakkında geri bildirimde bulunur Veri bağı katmanında çok gerek yoktur, alıcı veri hızı vericiye benzerdir. −Verici gönderebildiği hızda alabilir Akış denetimi veri bağı ve taşıma katmanının konusudur.

10 Hata Sezimi ve Düzeltilmesi CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Hata kodları bilinçli fazlalık ekleyerek hataların sezilebilmesini ve/veya düzeltilebilmesini sağlar. Hata düzelten kodlar: Hamming kodları» İkili evrişimsel (convolutional) kodlar» Reed-Solomon ve LDPC kodları −Matematiksel olarak karmaşık, gerçek sistemlerde sıkça kullanılır Hata sezen kodlar: Eşlik (Parity) - » Sağlama bitleri (Checksums) - 1’leri sayısı çift olacak şekilde 1 veya 0 sonuna eklenir.» Çevrimsel artıklık kodları (Cyclic redundancy codes) » Hata oranı düşükse hata düzelten kodlara tercih edilir Ör bitlik bloklar (1bit hata ihtimali daha fazla hata ihtimali yok) Hata düzelten r=10 olmalı. Yani 1000 blokta toplam ekstra bit Eşlik biti olursa bütün hatalar sezilir. 1000*1.001*1001= : 2001 adet ekstra bit. Yani daha az.

11 Hata Sınırları – Hamming Uzaklığı CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

12 Hata Düzeltme – Hamming Kodları CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Hamming kodları 1 bit hatayı düzeltebilen basit bir koddur: Her kontrol biti bir grup veri bitini kontrol eder Her bir kontrol bitine karşılık gelen eşlik (syndrome) kontrol edilerek (varsa) hatanın pozisyonu bulunur. Kural: Pozisyon n: : n-1 tane atla, n (n tane kontrol et n tane atla), Hata düzeltimi nasıl yapılır? −Yeni bir kod kelimesi geldiğinde sayaç sıfırlanır. −Ondan sonra k=1,2,4,8… numaralı kontrol bitlerine bakılır. Eşlik yoksa k sayaca eklenir. Çünkü mesela 11= dir. −Sayaç hala 0 ise hata yoktur. Sayaç ne ise o bitte hata vardır. −Patlama halindeki hataları düzeltmek için yatay değil dikey sütunlar halinde iletim yapılır. K çarpı n lik bir matris oluşur.

13 Hata Düzeltme – Evrişimsel Kodlar CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Kelime değil bitler üzerinden uygulanır Çıkış biti giriş bitlerinin hepsine bağlıdır Alttaki örnekte bir giriş biti başına iki çıkış biti vardır. Alttaki durum geçiş diyagramına karşılık bir Trellis diyagramı çizilir Kod çözümü Viterbi algoritması ile yapılır Popular NASA binary convolutional code (rate = ½) used in … …

14 Hata Sezimi – Eşlik (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Eşlik biti kod kelimesinde 1’ler çift sayıda olacak şekilde eklenir Çift eşlik Ör:  Alıcıda toplam doğru mu diye kontrol edilir Tek sayıda hatalar sezilebilir Ör: 1 hata, ; detected, sum is wrong Ör: 3 hata, ; detected sum is wrong Ör: 2 hata, ; not detected, sum is right! Error can also be in the parity bit itself Random errors are detected with probability ½

15 Hata Sezimi – Eşlik (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 N eşlik biti serpiştirilerek N adet ardışık hata düzeltilebilir Eşlik bitleri ardışık olmayan bitlerden hesaplanır N bitlik ardışık hata bile düzeltilebilir

16 Hata Sezimi– Sağlama Toplamı CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Sağlama toplamı veriyi N bitlik kelime olarak alır ve toplam veriye N adet sağlama biti ekler (kelimelerin mod 2 N toplamı) Ör: IP başlığındaki 16 bitlik sağlama toplamı Özellikler: Hata seziminin iyileştirilmesi N ardışık hatayı düzeltebilir Rastgele hataları 1-2 N,ihtimalle düzeltir Sistematik hatalara dayanıksız ör. eklenen sıfırlar

17 Hata Sezimi– CRC Kodları (1) İletilen çerçeve bir polinom olarak görüldüğünde bu polinomu bir üreteç polinomuna tam olarak bölünecek şekilde tam olarak bitler eklenir CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Start by adding 0s to frame and try dividing Offset by any remainder to make it evenly divisible

18 Hata Sezimi– CRC Kodları (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 İki yerde hata olduysa E(x)=x^i+x^j, E(x)=x^j(x^i-j + 1), o zaman iki hatayı sezebilmek için (G(x) x’i bölemez, onu biliyoruz) G(x)’in belli bir k değerine kadar x^k+1’i bölememesi lazım. Mesela x^15+x^14+1 polinomu k=32768 değerine kadar bu polinomlari bölemez. Tek sayı kadar yerde hata olursa (ör: x^5+x^2+1) G(x)’i x+1’in bir kati seçebiliriz. İspat: E(x)=(x+1)Q(x) şeklinde faktörize edebildiğimizi varsayalım. E(1)=0 olur. Halbuki, E(x) tek sayıda elemandan oluştuğu için E(1)=1 olmalıdır. O halde böyle bir faktorizasyon mümkün değildir. E(x) x+1 e bölünemez. Daha da önemlisi r kontrol bitli bir kod, bütün r ve daha küçük patlama hatalarını düzeltir (x i (x k-1 +…+1)) G(x)’de x 0 terimi olursa x i faktörü olmaz. k, r’den küçük olursa Polinom G(x)’e hiçbir zaman bölünemez. IEEE 32,26,23,22,16,12,11,10,8,7,5,4,2,1,0 : 32 ve daha az patlamalı hataları ve bütün tek sayılı hataları düzeltebilir.

19 Temel Veri Bağı Protokolleri CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Basitten karmaşığa : 3 adet protokol Varsayımlar Fiziksel, Veri bağı ve Ağ katmanı bağımsız ama iletişim kuran işlemlerdir. −Aralarında mesajlaşarak haberleşiyorlar −Çoğunlukla fiziksel ve veri bağı katmanları bir network çipinde bulunur, ağ katmanı ise ana CPU’dadır. Sadece A kullanıcısından B’ye uzun bir mesaj gönderilmektedir, İlerde B’den de A’ya aynı anda veri gönderimi işlenecek. Veri her zaman gönderilmeye hazırdır. A’nın veri bağı katmanı ağ katmanından veri istediği zaman her zaman bu istek olumlu karşılanır. Güvenli ve bağlantı temelli bir hizmet varsayılır. Bilgisayarlar hiçbir zaman çökmez. Veri bağı için ona ağ katmanından gönderilen her bit, gönderilmesi gereken bir veridir. Veri bağı paketi aldığı, çerçevelere bölüp, her çerçeveye bir başlık(bilgi) ve kuyruk(sağlama toplamı) ekler. Sağlama toplamını yazılım değil donanım tarafından koyulur.

20 Bağ Katmanı Ortamı(1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Genellikle Ağ Arayüz Kartı veya İşletim Sistemi Sürücüsü olarak gerçeklenir, Ağ Katmanı (IP) genellikle işletim sistemi yazılımıdır

21 Bağ Katmanı Ortamı (2) Bağ katmanı protokolü gerçeklemeleri kütüphane fonksiyonları kullanır ( protocol.h ) kodunu inceleyin −Boolean(true false): doğru yanlış −seq_nr (integer): çerçeve numaraları (0,…, MAX_SEQ) −packet (char array): en fazla MAX_PKT tane bit içerebilir −frame_kind{data, ack, nack}: çerçevede veri olup olmadığını gösterir −frame: (kind(frame_kind), seq(seq_nr), ack(seq_nr), info(packet)) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 GrupKütüphane FonksiyonuAçıklama Network layer from_network_layer(&packet) to_network_layer(&packet) enable_network_layer() disable_network_layer() Ağ katmanından bir paket alıp gönder Alınan paketi ağ katmanına gönder (CHKSM ) Let network cause “ready” events Prevent network “ready” events Physical layer from_physical_layer(&frame) to_physical_layer(&frame) Gelen mesajı fiziksel katmandan al Giden çerçeveyi fiziksel katmana gönder Events & timers wait_for_event(&event) start_timer(seq_nr) stop_timer(seq_nr) start_ack_timer() stop_ack_timer() Wait for a packet / frame / timer event Start a countdown timer running Stop a countdown timer from running Start the ACK countdown timer Stop the ACK countdown timer

22

23 Kısıtlamasız Tek yönlü protokol CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Optimistik bir protokol (p1) 1)Hatasız kanali alıcı verici kadar hızlı 2)Tek yönde veri transferi var 3)İşlem zamanı sıfır kabul edilir. 4)Sonsuz hafıza vardır. 5)Sıra numarası ve ACK kullanılmamıştır. 6)Tek olay türü frame_arrival’dır. 7)Üç işlem vardır. −Network katmanında paketi al, −çerçeve oluştur −ve gönder.

24

25 Tek Yönlü Gönder-Bekle Protokolü CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Bu protokol (p2) hızlı ileticinin yavaş alıcıyı boğmasına engel olur Her seferinde tek paket iletilir - stop-and-wait −Burada sonsuz işlemci hızı varsayımını kaldırıyoruz. −Akış denetimi var −Alıcının işlem yaptığı Δt zamanında hiçbir paket gelmemeli. −Alıcı hazır olduğunda dummy çerçeve (ack) gönderir (feedback) Trafik tek yönlüdür ama geri besleme çerçeveleri ters yönde gider. Veri bağı tek bir hatta hizmet verse ve senkronize bir iletişim olsa protokol 1’de paket gönderimine sabit bir gecikme koyularak problem çözülürdü, −ama bu pratikte pek mümkün değildir.

26

27 Gürültülü Kanallar için Gönder-Bekle (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Burada kanalın hatasız olduğu varsayımını kaldırıyoruz. Ama bir hata olduğunda alıcının bunu fark edeceğini varsayıyoruz. Bu durumda yine bir zamanlayıcı gerekir ama gereken şeyler bununla kalmaz. Gönderilen geri besleme mesajının da kaybolma ihtimali var. Bu durumda gönderilen paket iki defa alınabilir. Bunun çözümü her çerçeveye bir sıra numarası koymaktır. Peki çerçeve numarası için kaç bit ayrılmalı? Çok ayırırsak bunun ifadesi için çok bit ayırmamız gerekir. Bu protokolde gönderici m. çerçeve için onay almadıkça m+1inci çerçeveyi göndermez. Bu yüzden 1 bit yeter. Bu durumda çerçeve no’ları … olur. Göndericiyi m+2. çerçeveyi göndermek için tetikleyen eden şey m+1 in ACK’inin gelmesi. Next_frame_to_send ve frame_expected hafızada tutulur. Bu protokole ARQ (automatic repeat request) veya PAR (positive acknowledgement with retransmissions) deniyor.

28

29

30 Stop and Wait’in Doğruluğu Örnek  Olası Problemler ACK kaybolursa aynı paket iki defa gönderilir  −Çözüm: Sıra no. Timeout değeri  T ACK ’den küçük olabilir −Çözüm: ACK numarası

31 Stop and Wait’in Verimliliği Hatasız iletim T ACK =d prop +d frame +d proc +d prop +d ACK +d proc T ACK =2(d prop +d proc )+d frame +d ACK Varsayımlar d ACK <

32 … Örnekler ATM WAN: 53B çerçeve, R= Mbps, D=1000km c=3x10 8 m/sn LAN: 1000bit, R=10Mbps, 100m

33 İki Yönlü İletişim CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 İki yönlü veri trafiğini sağlamanın bir yolu kanalı ikiye bölüp iki tane tek yönlü trafikten iki yönlü bir trafik elde etmektir. Bu durumda veriler bir kanalda ACK’ler diğer kanaldan gider, ama diğer kanal boşa gider. Bunun bir çözümü veri ve kontrol paketlerini aynı kanaldan göndermektir. Başlığa bakılarak çerçevenin çeşidi anlaşılabilir. Burada ikinci bir geliştirme yöntemi sudur: gönderilecek onay paketi bir sonraki veri paketinin arkasına eklenerek gönderilebilir. Buna piggybacking (sırtında taşıma) denir. Bu sayede bir kaç bitlik ACK mesajı için yeni çerçeve başlıkları ve kodlamalar yapmaya gerek kalmayacaktır. Burada en önemli problem bir sonraki piggyback yapılacak paketin ne zaman geleceğinin belli olmamasıdır. Bu durumda sabit bir süre beklemek (ack timer), problemi çözecektir. O süreden önce yeni paket gelirse piggybacking yapılır, yoksa yapılmaz.

34 Kayan Pencere Kavramı (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Yukarıdaki verimsizliğe çözüm: pipelining denir. O anda gönderip de ACK almadığı veya paketlerin listesi tutulmalı. gönderici penceresi Gönderilen, gönderilebilecek ama daha ACK almamış paketler. Yeni bir paket ağ katmanından geldiğinde bir sonraki numara verilir. Bir ACK geldiğinde alt seviye bir artırılır. Pencere uzunluğu kadar çerçeveyi tutacak hafıza −Bu hafıza dolduğu zaman ağ katmanında girişler geçici olarak kapatılır. Kayıp. Aynı şekilde alıcı da almaya izinli olduğu çerçevelerin numaralarını tutar (alınan pencere). Pencerenin en alt numarasına sahip çerçeve geldiği zaman pencere bir artırılır. Alıcı penceresi her zaman ilk baştaki uzunluğunda kalır. Pencere uzunluğunun 1 olması, çerçevelerin sırasıyla kabul edildiğini gösterir. (Başka çerçeve kabul edilmez.) İki pencere aynı ilk ve son numaraya ve aynı uzunluğa sahip olmak zorunda değildir. W_S ve W_R Gönder-bekle protokolünde pencere boyu 1’dir.

35 Kayan Pencere Kavramı (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Alıcı ve vericideki kayan pencereler Ör. Pencere uzunluğu 1 ve 3 bit sıra numarası var Gönder bekle (W=1) uzun hatklar için verimsizdir En iyi W değer Bant-Gecikme çarpımına bağlıdır (BD) W ≥ 2BD+1 olmasını isteriz.. At the start First frame is sent First frame is received Sender gets first ack Sender Receiver

36 Bir bitlik Kayan Pencere Protokolü (p4)

37 Bir bitlik Kayan Pencere Protokolü

38 1)frame_expected: beklenen çerçeve. 2)while true döngüsünden önce bir kullanıcı başlangıç olarak bir paket gönderir. 3)A’nin timeout suresi çok kısaysa Seri halinde seq=0, ack=1 çerçeveleri gönderilir. İlk paket B’ye ulaşırsa frame_expected=1 yapılır. Bundan sonra gelen her 0 paketleri reddedilir, −çünkü 1 numaralı paketler beklenmektedir. Her gelen paketten sonra B, seq=0, ack=0 paketini tekrar gönderir. Sonunda bunlardan birisi A’ya ulaşır.

39 İki senaryo p4’teki bazı detayları gösteriyor: −Aynı anda başlamak [sağ] fazladan gönderimler nedeniyle doğru ama yavaş işleyişe neden oluyor (normal [sol] işleyişe göre) Time Normal caseCorrect, but poor performance Bir bitlik kayan pencere protokolü (3) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Notation is (seq, ack, frame number). Asterisk indicates frame accepted by network layer.

40 3.4.2: Go Back n Protokolü Burada paketler pipelining yöntemiyle ardı ardına gönderilir, ACK alınamayan ilk paketten sonraki bütün paketler tekrar gönderilir. Bu paketlerin gönderici hafızasında tutulması Bu durumda pencere genişliği: W S =D ACK /d frame olarak belirlenir. W R =1 (Alıcı alamadığı ilk paketten sonrasını dikkate almaz.)

41 Go Back n Pencereler Gönderici penceresi: {S ilk,S ilk +1, …} =

42 Protocol 5 1)Ağ katmanının paketi olduğunda: network_layer_ready event’i enable_network_layer, disable_network_layer fonksiyonları 2)Pencere uzunluğunun MAX_SEQ+1 değil de MAX_SEQ olmasının sebebi yukarıda açıklanmıştı. 3)Gönderici buffer tutmalıdır. 4)Bu protokol her zaman ACK’leri piggyback yapacak ters yönde trafik olduğu varsayımını yapıyor. 5)Bu protokolde ACK beklenen bir kaç paket olduğu için her paket için ayrı saat tutulmalıdır. 6)Bu da bir linked list kullanılarak gerçekleştirilebilir.

43

44

45

46

47 3.4.2: Selective Repeat 1)Protokol 5: kanal durumu kötüyse çok fazla enerjiyi ve bant genişliğini yeniden iletimlere harcar. Alıcı hasarlı çerçevelerden sonra gelen düzgün çerçeveleri saklamalı. 2)Selective repeat: Göndericinin zamanlayıcısı dolduğunda sadece o tepki alınamayan çerçeve geri gönderilir. ACK’in yanında ayrıca NAK tanımlanır. Sekil (b)’de 3. çerçeve geldiği zaman, 2.’nin gelmediği fark edilir. 2 için NAK gönderilir ve 3 saklanır. 4, 5 geldiği zaman da onlar da depolanır. 3)NAK göndericiye ulaştığı anda 2 tekrar gönderilir. 2 geldiği anda 2,3,4,5 ağ katmanına gönderilir ve 5 için ACK gönderilir. 4)NAK kaybolursa timeout olur ve 2 tekrar gönderilir. 5)Bu durumda alıcının da hafızası olmalıdır. 6)Bant az olduğunda selective repeat, hafıza az olduğu zaman go back n kullanılır. 7)Gönderici çerçevesi İlk hane: Gönderilen ama karşılık alınmayan en eski çerçeve 8)Alıcı çerçevesi İlk hane: Henüz alınmayan en eski paket

48 Protocol 6 1)Hem gönderici hem alici pencere tutarlar. Göndericinin penceresi 0’dan MAX_SEQ’e kadar değişir, alicininki hep MAX_SEQ’tir. Pencerenin her bölmesinde bir bit vardır, bu bit 1 ise o çerçeve gelmiştir.(S_l, S_u)(R_l, R_u) 2)Gönderici pencere dışındaki bir çerçeve için gelen ekleri reddeder Yeni çerçeve geldiğinde önce pencere içine denk gelip gelmediği kontrol edilir, sonra da daha önce alınıp alınmadığı kontrol edilir. İkisinin de cevabi evet ise paket yüklenir. 3)Alıcı ise pencere dışında gelen çerçeveleri reddeder 4)Sorun: Diyelim ki ilk 7 paket doğru bir şekilde alindi ama ACK çerçevesi yolda kayboldu. BU arada alici penceresi (b)’deki gibi oluyor. Timeout olduktan sonra gönderici tekrar 0’i gönderiyor, peki bu paket ilk o numaralı paket mi yoksa 8’inci paket mi? 5)pencere uzunluğu sıra numaraları sayısının en fazla yarısı olmasıdır. (MAX_SEQ+1)/2. Ayni zamanda gereken kuyruk uzunluğu ve timer sayısı da pencere uzunluğu kadar olmalıdır, sıra numarası kadar değil.

49 Protocol 6 1)Protokol 5’te her ACK bir mesaja ekleniyordu, ama trafik hızı yavaşsa böyle bir şey her zaman mümkün olmaz. 2)Protokol 6’da bu sorun start_ack_timer ve ack_timeout_event ile çözülür. Gelmesi gereken bir çerçeve geldiğinde zamanlayıcı baslar. 3)ACK timer’i çerçeve timer’inin suresinden kısa olmalıdır. 4)Protokol 6, 5’e göre hatalarla daha iyi uğraşır. Hata olduğundan şüphelenildiği zaman NAK gönderilir. Zarar görmüş bir çerçeve gelmiş olabilir veya beklenenlerden farklı bir çerçeve gelmiş olabilir. Alicinin daha önce bir çerçeve için NAK gönderip göndermediğini bilmesi lazım. 5)Zamanlayıcı uzunluğu kısa olursa çok retransmission olur, uzun olursa da çok bos durulur.(frame_timer> ack_timer) 6)Hangi çerçevenin geciktiğini bilmek de zordur.

50 Go Back N’in Verimliliği Hatasız durum Hatalı Durum: Hata ihtimali p olsun Seri halinde doğru iletimler Ardından timeout

51 Selective Repeat (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Receiver accepts frames anywhere in receive window Cumulative ack indicates highest in-order frame NAK (negative ack) causes sender retransmission of a missing frame before a timeout resends window

52 SONET Veri Bağı Katmanı CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Packet over SONET, IP paketlerini SONET fiber optik bağlantılarından göndermek için kullanılır Çerççeveleme için PPP (Point-to-Point Protocol) kullanılır Protocol stacks PPP frames may be split over SONET payloads

53 Point to Point Protocol: PPP 1)Byte dolgusu, bayrak baytı 2)Adres kısmi: ;dir çünkü adres atamaya gerek yok. 3)Sonraki kısmı numarasız bağlantı için, yani hata kontrolü yapılmaz. Kablosuzda numaralı kullanılabilir. LCP başlangıçta müzakere yapar ve bunların gereksiz yere gönderilmesini önler. 4)Protokol kısmı: Hangi protokolün kullanılacağı belirtilir. 2 bayt olabilir ama LCP pazarlık yaparak bunu bir bayta indirebilir 0la başlayanlar ağ katmanı protokolleridir. 5)Checksum

54 PPP (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Bağlantı başlatma ve bitirme State machine for link control

55 ADSL (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Genişbant Internet için yerel hatlarda yaygon şekilde kullanılır ADSL müşteri modeminden DSLAM’e (ISP) kadar çalışır IP paketleri PPP ve AAAL5/ATM üzerinden gönderilir

56 ADSL (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 PPP verisi AAL5 çerçeveleri halinde ATM hücreleri üzerinden gönderilir: Atm kısa sabit uzunluklu (53 Bayt) hücreler gönderem bir link katmanıdır; her hücrenin bir sanal devre belirteci vardır AAL5 paketleri ATM üzerinden göndermek için bir formattır PPP çerçevesi AAL5 çerçevesine dönüştürülür (PPPoA) AAL5 frame is divided into 48 byte pieces, each of which goes into one ATM cell with 5 header bytes

57

58 0-5 numaralı çerçeveler A’dan B’ye Go Back n protokolü ile gönderilsin. Pencere boyu W=3, çerçeve süresi 1 birim, A’dan B’ye ve B’den A’ya yayılım süresi 2şer birim, zamanlayıcı süresi 6 birim olsun. 1 ve 3 numaralı çerçevenin kendisinin (ilk gönderilişlerinde) ve 2 numaralı çerçeve için gönderilen ilk ACK’in kaybolduğu durumda 0-5 numaralı çerçevelerin gönderilmesini aşağıdaki şemada oklarla gösteriniz.

59 End Chapter 3 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011


"Veri Bağı Katmanı Chapter 3 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Veri Bağı Katmanı Tasarım Meseleleri." indir ppt

Benzer bir sunumlar


Google Reklamları