logo

Tornar enrere N - Protocol de finestra corredissa

Go-Back-N (GBN) és un protocol ARQ de finestra lliscant que permet a l'emissor transmetre diversos fotogrames (fins a una mida de finestra definida) sense esperar reconeixements individuals.

Jasmine Davis de petita
  • Si un paquet es perd o es corromp, el remitent retransmet aquest paquet i tots els paquets posteriors a la finestra.
  • Exemple: si s'envien els paquets 1–5 i es perd el paquet 3, es retransmeten els paquets 3, 4 i 5.

Aquest mecanisme garanteix la fiabilitat, però pot malgastar ample de banda si els errors es produeixen amb freqüència.

Les tres característiques principals de GBN són:



1. Mida de la finestra del remitent (W s )

És N mateix. Si diem que el protocol és GB10 aleshores Ws = 10. N hauria de ser sempre superior a 1 per tal d'implementar la canalització. Per a N = 1 es redueix a Protocol d'aturada i espera .

Eficiència de GBN = N/(1+2a)

on

a = Tpàg/Tt
Tpàg= Retard de propagació
Tt= Retard de transmissió del remitent

Quina serà l'eficiència si el retard de processament, el retard de la cua i el retard de la transmissió del reconeixement no és zero?

Eficiència = N * (Temps útil) / (Temps total)

on temps útil=Tt

Temps total = Tt+ 2 * Tpàg+ Pr+ Pq + Tt(ack)

on

  • T t =Retard de transmissió del costat del remitent
  • T pàg = Retard de propagació
  • Pr = Retard de processament
  • Pq = Retard de cua
  • T t (ack) = Retard de transmissió del reconeixement

Si B és l'ample de banda del canal, aleshores

Ample de banda o rendiment efectiu
= Eficiència * Ample de banda
= (N/(1+2a)) * B

2. Mida de la finestra del receptor (W R )

  • Sempre 1 en GBN.
  • El receptor només accepta el següent paquet esperat.
  • Els paquets fora de comanda es descarten.

3. Agraïments

Els reconeixements (ACK) són senyals enviats pel receptor per confirmar la recepció correcta dels paquets de dades. Asseguren una comunicació fiable entre emissor i receptor. Si no es rep un ACK en un temps establert, el remitent assumeix que el paquet s'ha perdut i el retransmet.

Tipus d'ACK

ACK acumulat

  • Un únic acuse de recepció confirma la recepció de tots els paquets fins a un determinat moment.
  • Avantatge: Menys trànsit (menys ACK).
  • Desavantatge: Menys fiable si es perd un ACK, diversos paquets apareixen sense reconèixer.

ACK independent

  • Cada paquet es reconeix individualment.
  • Avantatge: Alta fiabilitat.
  • Desavantatge: Més trànsit a causa de més ACK.

Funcionament del protocol GB-N

Pàgina d'enviament

  • Manté una finestra de mida N (per exemple, mida de la finestra GB4 = 4).
  • Pot enviar fins a N paquets no reconeguts.
  • Cada paquet transmès té un temporitzador.
  • Si es rep un ACK, la finestra es llisca cap endavant.
  • Si es produeix un temps d'espera (per a un paquet que falta), el remitent retransmet aquest paquet i tots els següents a la finestra.

Lateral receptor

  • Manté una mida de finestra d'1 (WR = 1).
  • Accepta només el paquet esperat en seqüència.
  • Si arriba el paquet correcte: envia un ACK i passa al següent número de seqüència esperat.
  • Si arriba un paquet fora d'ordre: el descarta i torna a enviar l'ACK per a l'últim paquet rebut correctament.
Sliding_SET_2-1' title=

Relació entre la mida de la finestra i els números de seqüència

El mida de la finestra i números de seqüència en un protocol de finestra lliscant com Go-Back-N o Selective Repeat estan estretament relacionats.

  • El mida de la finestra determina quants paquets pot transmetre el remitent sense necessitat d'un reconeixement. És com un límit a quantes dades es poden enviar abans que el remitent s'hagi d'aturar i esperar la confirmació.
  • Nombres de seqüència s'utilitzen per etiquetar paquets perquè el receptor conegui la seva comanda i pugui detectar els paquets que falten.

El mida de la finestra hauria de ser inferior o igual al rang de disponibles números de seqüència . Si la mida de la finestra és massa gran en comparació amb l'interval de números de seqüència, el receptor es podria confondre perquè es podria reutilitzar el mateix número de seqüència abans que es reconegui el primer. Això dificultaria saber si un paquet és nou o duplicat.

La relació entre la mida de la finestra i el número de seqüència ve donada per la fórmula:

com descarregar música

ENs+ WR<= ASN

on Wsés la mida de la finestra del remitent i WRés la mida de la finestra del receptor i ASN és el número de seqüència disponible.

ENs+ 1<= ASN because WR= 1 en el protocol GB-N

Per tant, es requereixen números de seqüència mínims en GBN = N + 1

Bits necessaris en GBN = ⌈ registre2(N + 1)⌉

L'1 addicional és necessari per evitar el problema dels paquets duplicats.

Exemple de Protocol GB-N

Considereu un exemple de GB4.

  • La mida de la finestra del remitent és 4, per tant, necessitem un mínim de 4 números de seqüència per etiquetar cada paquet a la finestra.
  • Ara suposem que el receptor ha rebut tots els paquets (0 1 2 i 3 enviats pel remitent) i, per tant, ara està esperant el paquet número 0 de nou (no podem utilitzar 4 aquí ja que només tenim 4 números de seqüència disponibles ja que N = 4).
  • Ara suposem que la confirmació acumulada dels 4 paquets anteriors es perd a la xarxa.
  • Al costat del remitent hi haurà temps d'espera per al paquet 0 i, per tant, es tornaran a transmetre els 4 paquets.
  • El problema ara és que el receptor està esperant un nou conjunt de paquets que hauria d'haver començat des de 0, però ara rebrà les còpies duplicades dels paquets acceptats anteriorment.
  • Per evitar-ho, necessitem un número de seqüència addicional.
  • Ara el receptor podria rebutjar fàcilment tots els paquets duplicats que començaven des de 0 perquè ara estarà esperant el paquet número 4 (Ara hem afegit un número de seqüència addicional).

Això s'explica amb l'ajuda de les il·lustracions següents. Provant amb els números de seqüència 4.

Sliding_SET_2-3' loading='lazy' title=

Ara ho intento amb un número de seqüència addicional.

Sliding_SET_2-4' loading='lazy' title=

Ara està clar per què necessitem un bit addicional al protocol GBN.

Avantatges del protocol GBN

  • Fàcil d'implementar i eficaç per a una comunicació fiable.
  • Millor rendiment que els protocols d'aturada i espera per a xarxes sense errors o amb pocs errors.

Desavantatges del protocol GBN

  • Ineficient si els errors són freqüents, ja que és possible que s'hagin de retransmetre múltiples trames innecessàriament.
  • L'ample de banda es pot malgastar a causa de retransmissions redundants.
Crea un qüestionari