logo

Revenir en arrière N - Protocole de fenêtre coulissante

Go-Back-N (GBN) est un protocole ARQ à fenêtre glissante qui permet à l'expéditeur de transmettre plusieurs trames (jusqu'à une taille de fenêtre définie) sans attendre d'accusés de réception individuels.

qu'est-ce qui est automatiquement câblé en Java
  • Si un paquet est perdu ou corrompu, l'expéditeur retransmet ce paquet et tous les paquets suivants dans la fenêtre.
  • Exemple : si les paquets 1 à 5 sont envoyés et que le paquet 3 est perdu, les paquets 3, 4 et 5 sont retransmis.

Ce mécanisme garantit la fiabilité mais peut gaspiller de la bande passante si des erreurs se produisent fréquemment.

Les trois principales caractéristiques du GBN sont :



1. Taille de la fenêtre de l'expéditeur (W s )

C'est N lui-même. Si nous disons que le protocole est GB10, alors Ws = 10. N doit toujours être supérieur à 1 afin d'implémenter le pipeline. Pour N = 1, cela se réduit à Protocole d'arrêt et d'attente .

Efficacité du GBN = N/(1+2a)

une = Tp/Tt
Tp= Délai de propagation
Tt= Délai de transmission de l'expéditeur

Quelle sera l'efficacité si le délai de traitement, le délai de mise en file d'attente et le délai de transmission de l'accusé de réception ne sont pas nuls ?

Efficacité = N * (Temps utile) / (Temps total)

où temps utile = Tt

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

  • T t =Délai de transmission du côté de l'expéditeur
  • T p = Délai de propagation
  • Pr = Délai de traitement
  • Pq = Délai de file d'attente
  • T t (ack) = Délai de transmission de l'accusé de réception

Si B est la bande passante du canal alors

Bande passante ou débit efficace
= Efficacité * Bande passante
= (N/(1+2a)) *B

2. Taille de la fenêtre du récepteur (W R. )

  • Toujours 1 en GBN.
  • Le récepteur accepte uniquement le prochain paquet attendu.
  • Les paquets dans le désordre sont rejetés.

3. Remerciements

Les accusés de réception (ACK) sont des signaux envoyés par le récepteur pour confirmer la bonne réception des paquets de données. Ils assurent une communication fiable entre l’expéditeur et le destinataire. Si un ACK n'est pas reçu dans un délai défini, l'expéditeur suppose que le paquet est perdu et le retransmet.

Types d'ACK

Accusé de réception cumulatif

  • Un seul accusé de réception confirme la réception de tous les paquets jusqu'à un certain point.
  • Avantage: Moins de trafic (moins d’ACK).
  • Inconvénient: Moins fiable si un ACK est perdu, plusieurs paquets apparaissent sans accusé de réception.

ACK indépendant

  • Chaque paquet est reconnu individuellement.
  • Avantage: Haute fiabilité.
  • Inconvénient: Trafic plus élevé en raison d’un plus grand nombre d’ACK.

Fonctionnement du protocole GB-N

Page d'envoi

  • Maintient une fenêtre de taille N (par exemple, taille de fenêtre GB4 = 4).
  • Peut envoyer jusqu'à N paquets sans accusé de réception.
  • Chaque paquet transmis possède une minuterie.
  • Si un ACK est reçu, la fenêtre glisse vers l'avant.
  • Si un délai d'attente se produit (pour un paquet manquant), l'expéditeur retransmet ce paquet et tous les suivants dans la fenêtre.

Côté récepteur

  • Maintient une taille de fenêtre de 1 (WR = 1).
  • Accepte uniquement le paquet attendu dans l'ordre.
  • Si le bon paquet arrive : envoie un ACK et passe au prochain numéro de séquence attendu.
  • Si un paquet dans le désordre arrive : il le rejette et renvoie un ACK pour le dernier paquet correctement reçu.
Coulissant_SET_2-1' title=

Relation entre la taille de la fenêtre et les numéros de séquence

Le taille de la fenêtre et numéros de séquence dans un protocole à fenêtre glissante comme Go-Back-N ou Selective Repeat sont étroitement liés.

constructeur de chaînes
  • Le taille de la fenêtre détermine le nombre de paquets que l'expéditeur peut transmettre sans avoir besoin d'un accusé de réception. C’est comme une limite à la quantité de données pouvant être envoyées avant que l’expéditeur doive s’arrêter et attendre la confirmation.
  • Numéros de séquence sont utilisés pour étiqueter les paquets afin que le récepteur connaisse leur ordre et puisse détecter tout paquet manquant.

Le taille de la fenêtre doit être inférieur ou égal à la plage de numéros de séquence . Si la taille de la fenêtre est trop grande par rapport à la plage de numéros de séquence, le récepteur pourrait être confus car le même numéro de séquence pourrait être réutilisé avant que le premier ne soit reconnu. Il serait alors difficile de savoir si un paquet est nouveau ou s'il s'agit d'un doublon.

La relation entre la taille de la fenêtre et le numéro de séquence est donnée par la formule :

DANSs+ WR.<= ASN

où Wsest la taille de la fenêtre de l'expéditeur et WR.est la taille de la fenêtre du récepteur et ASN est le numéro de séquence disponible.

DANSs+ 1<= ASN because WR.= 1 en protocole GB-N

Donc les numéros de séquence minimum requis dans GBN = N + 1

Bits requis dans GBN = ⌈ log2(N+1)⌉

Le 1 supplémentaire est requis afin d'éviter le problème des paquets en double.

Exemple de Protocole GB-N

Prenons un exemple de GB4.

  • La taille de la fenêtre de l'expéditeur est de 4, nous avons donc besoin d'un minimum de 4 numéros de séquence pour étiqueter chaque paquet dans la fenêtre.
  • Supposons maintenant que le destinataire ait reçu tous les paquets (0, 1, 2 et 3 envoyés par l'expéditeur) et attend donc à nouveau le paquet numéro 0 (nous ne pouvons pas utiliser 4 ici car nous n'avons que 4 numéros de séquence disponibles puisque N = 4).
  • Supposons maintenant que l'accusé de réception cumulé pour les 4 paquets ci-dessus soit perdu dans le réseau.
  • Du côté de l'expéditeur, il y aura un délai d'attente pour le paquet 0 et donc les 4 paquets seront à nouveau transmis.
  • Le problème est maintenant que le récepteur attend un nouvel ensemble de paquets qui auraient dû commencer à 0, mais il recevra désormais les copies en double des paquets précédemment acceptés.
  • Afin d'éviter cela, nous avons besoin d'un numéro de séquence supplémentaire.
  • Désormais, le récepteur pourrait facilement rejeter tous les paquets en double qui commençaient à 0 car il attendra désormais le paquet numéro 4 (nous avons maintenant ajouté un numéro de séquence supplémentaire).

Ceci est expliqué à l’aide des illustrations ci-dessous. Essayer avec les numéros de séquence 4.

Coulissant_SET_2-3' loading='lazy' title=

Essayez maintenant avec un numéro de séquence supplémentaire.

Coulissant_SET_2-4' loading='lazy' title=

Il est désormais clair pourquoi nous avons besoin d’un bit supplémentaire dans le protocole GBN.

Avantages du protocole GBN

  • Simple à mettre en œuvre et efficace pour une communication fiable.
  • Meilleures performances que les protocoles stop-and-wait pour les réseaux sans erreur ou à faible taux d'erreur.

Inconvénients du protocole GBN

  • Inefficace si les erreurs sont fréquentes, car plusieurs trames peuvent devoir être retransmises inutilement.
  • La bande passante peut être gaspillée en raison de retransmissions redondantes.
Créer un quiz