Go-Back-N (GBN), göndericinin bireysel onayları beklemeden birden fazla çerçeveyi (tanımlanmış bir pencere boyutuna kadar) iletmesine olanak tanıyan bir kayan pencere ARQ protokolüdür.
boğalar vs öküz
- Bir paket kaybolursa veya bozulursa, gönderen bu paketi ve penceredeki sonraki tüm paketleri yeniden iletir.
- Örnek: 1-5 arasındaki paketler gönderilirse ve 3. paket kaybolursa 3, 4 ve 5. paketler yeniden iletilir.
Bu mekanizma güvenilirliği sağlar ancak hatalar sıklıkla meydana gelirse bant genişliğini boşa harcayabilir.
GBN'nin üç ana karakteristik özelliği şunlardır:
1. Gönderen Pencere Boyutu (W S )
N'nin kendisidir. Protokolün GB10 olduğunu söylersek Ws = 10 olur. Ardışık düzenin uygulanabilmesi için N'nin her zaman 1'den büyük olması gerekir. N = 1 için şuna indirgenir: Durdur ve Bekle protokolü .
GBN'nin Verimliliği = N/(1+2a)
Neresi
bir = TP/TT
TP= Yayılma Gecikmesi
TT= Gönderenin İletim Gecikmesi
İşleme gecikmesi sıraya koyma gecikmesi ve onayın iletim gecikmesi sıfır değilse verimlilik ne olacaktır?
Verimlilik = N * (Faydalı süre) / (Toplam Süre)
burada faydalı zaman=TT
Toplam süre = TT+ 2*TP+ PR+ Pq + TT(ack)
Neresi
- T T =Gönderen tarafın iletim gecikmesi
- T P = Yayılma Gecikmesi
- pr = İşleme Gecikmesi
- Pq = Kuyruk Gecikmesi
- T T (ack) = Onayın İletim Gecikmesi
B kanalın bant genişliği ise o zaman
Etkili Bant Genişliği veya Verim
= Verimlilik * Bant Genişliği
= (N/(1+2a)) * B
2. Alıcı Pencere Boyutu (W R )
- Her zaman GBN'de 1.
- Alıcı yalnızca bir sonraki beklenen paketi kabul eder.
- Sipariş dışı paketler atılır.
3. Teşekkür
Onaylar (ACK'ler), veri paketlerinin başarılı bir şekilde alındığını onaylamak için alıcı tarafından gönderilen sinyallerdir. Gönderici ve alıcı arasında güvenilir iletişim sağlarlar. Belirli bir süre içinde ACK alınmazsa gönderen, paketin kaybolduğunu varsayar ve onu yeniden iletir.
ACK türleri
Kümülatif ACK
- Tek bir onay, belirli bir noktaya kadar tüm paketlerin alındığını onaylar.
- Avantajı: Daha az trafik (daha az ACK).
- Dezavantajı: Bir ACK kaybolursa birden fazla paket onaylanmamış görünürse daha az güvenilir olur.
Bağımsız ACK
- Her paket ayrı ayrı onaylanır.
- Avantajı: Yüksek güvenilirlik.
- Dezavantajı: Daha fazla ACK nedeniyle daha yüksek trafik.
GB-N Protokolünün Çalışması
Sayfa Gönderiliyor
- N boyutunda bir pencereyi korur (örneğin, GB4 pencere boyutu = 4).
- N'ye kadar onaylanmamış paket gönderebilir.
- İletilen her paketin bir zamanlayıcısı vardır.
- Bir ACK alınırsa pencere ileri doğru kayar.
- Bir zaman aşımı meydana gelirse (eksik bir paket için), gönderen bu paketi ve penceredeki sonraki tüm paketleri yeniden iletir.
Alıcı Tarafı
- 1 pencere boyutunu korur (WR = 1).
- Yalnızca beklenen paketi sırayla kabul eder.
- Doğru paket gelirse: bir ACK gönderir ve bir sonraki beklenen sıra numarasına geçer.
- Sıra dışı bir paket gelirse: paketi atar ve doğru şekilde alınan son paket için ACK'yi yeniden gönderir.
Pencere Boyutu ve Sıra Numaraları Arasındaki İlişki
pencere boyutu Ve sıra numaraları Go-Back-N veya Selective Repeat gibi kayan pencere protokolünde yakından ilişkilidir.
- pencere boyutu göndericinin onaya ihtiyaç duymadan kaç paket iletebileceğini belirler. Bu, gönderenin durup onay için beklemesi gerekmeden önce ne kadar verinin gönderilebileceğine dair bir sınır gibidir.
- Sıra numaraları Alıcının sırasını bilmesi ve eksik paketleri tespit edebilmesi için paketleri etiketlemek için kullanılır.
pencere boyutu mevcut aralıktan küçük veya ona eşit olmalıdır sıra numaraları . Eğer pencere boyutu sıra numarası aralığına göre çok büyükse alıcının kafası karışabilir çünkü aynı sıra numarası ilki onaylanmadan önce yeniden kullanılabilir. Bu, bir paketin yeni mi yoksa kopya mı olduğunu bilmeyi zorlaştırır.
Java istisna yönetimi
Pencere boyutu ile sıra numarası arasındaki ilişki aşağıdaki formülle verilir:
İÇİNDES+ WR<= ASN
nerede WSgönderen pencere boyutu ve WRalıcı pencere boyutudur ve ASN mevcut sıra numarasıdır.
İÇİNDES+ 1<= ASN because WR= 1 GB-N protokolünde
Yani GBN'de gereken minimum sıra numaraları = N + 1
GBN'de Gerekli Bit Sayısı = ⌈ log2(N + 1)⌉
Yinelenen paket sorununu önlemek için ekstra 1 gereklidir.
Örnek GB-N Protokolü
Bir GB4 Örneği düşünün.
- Gönderici penceresinin boyutu 4 olduğundan, penceredeki her paketi etiketlemek için en az 4 sıra numarasına ihtiyacımız var.
- Şimdi alıcının tüm paketleri (0 1 2 ve gönderici tarafından gönderilen 3) aldığını ve dolayısıyla tekrar 0 numaralı paket için beklediğini varsayalım (N = 4 olduğundan elimizde yalnızca 4 sıra numarası olduğundan burada 4'ü kullanamayız).
- Şimdi yukarıdaki 4 paket için kümülatif onayın ağda kaybolduğunu varsayalım.
- Gönderen tarafta 0 paketi için zaman aşımı olacak ve dolayısıyla 4 paketin tümü yeniden iletilecektir.
- Şimdi sorun şu ki, alıcı 0'dan başlaması gereken yeni paket setini bekliyor ancak şimdi daha önce kabul edilen paketlerin kopyalarını alacak.
- Bunu önlemek için fazladan bir sıra numarasına ihtiyacımız var.
- Artık alıcı 0'dan başlayan tüm kopya paketleri kolaylıkla reddedebilir çünkü artık 4 numaralı paketi bekleyecektir (Artık ekstra bir sıra numarası ekledik).
Bu durum aşağıdaki resimler yardımıyla açıklanmaktadır. Sıra numaraları ile deneme 4.
Şimdi fazladan bir sıra numarasıyla deneyeceğim.
Artık GBN protokolünde neden fazladan 1 bit'e ihtiyacımız olduğu açık.
GBN Protokolünün Avantajları
- Güvenilir iletişim için uygulanması basit ve etkilidir.
- Hatasız veya düşük hatalı ağlar için dur ve bekle protokollerinden daha iyi performans.
GBN Protokolünün Dezavantajları
- Birden fazla çerçevenin gereksiz yere yeniden iletilmesi gerekebileceğinden, hatalar sık ise verimsizdir.
- Gereksiz yeniden iletimler nedeniyle bant genişliği boşa harcanabilir.