Protocole Stop-and-Wait avec erreurs et délais

Exercice 1 - Protocole de liaison de données Avant de répondre aux questions, calculons les temps élémentaires nécessaires avec les données du problème : Taille d'une trame ($L_f$) = 1024 bits (dont 80 bits d'en-tête, soit 944 bits de données utiles). Taille d'un acquittement ($L_a$) = 64 bits. Débit binaire ($R$) = 2 Mbits/s = 2 000 000 bits/s. Distance ($d$) = 10 km = 10 000 m.

D'après le document Protocole Stop-and-Wait avec erreurs et délais

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Protocole Stop-and-Wait avec erreurs et délais

Document source

Protocole Stop-and-Wait avec erreurs et délais

Programming, Math, etc. · PDF · 5 pages

Afficher l'aperçu du document

Consulter le document original →

Exercice 1 - Protocole de liaison de données

Avant de répondre aux questions, calculons les temps élémentaires nécessaires avec les données du problème :

  • Taille d'une trame ($L_f$) = 1024 bits (dont 80 bits d'en-tête, soit 944 bits de données utiles).
  • Taille d'un acquittement ($L_a$) = 64 bits.
  • Débit binaire ($R$) = 2 Mbits/s = 2 000 000 bits/s.
  • Distance ($d$) = 10 km = 10 000 m.
  • Vitesse de propagation ($V$) = 3 × 10⁸ m/s.

Les temps correspondants sont :

  • Temps de transmission d'une trame ($t_{trame}$) = $L_f$ ÷ $R$ = 1024 ÷ 2 000 000 = 0,000512 s = 512 µs.
  • Temps de transmission d'un acquittement ($t_{acq}$) = $L_a$ ÷ $R$ = 64 ÷ 2 000 000 = 0,000032 s = 32 µs.
  • Délai de propagation ($t_{propag}$) = $d$ ÷ $V$ = 10 000 ÷ (3 × 10⁸) = 1/30 000 s ≈ 0,00003333 s ≈ 33,33 µs.

Question 1(a) - Durée d'expédition confirmée

Le protocole envoie un bloc de 3 trames consécutives avant d'attendre un acquittement. Le cycle complet pour confirmer un bloc de 3 trames comprend :

  1. La transmission des 3 trames : 3 × $t_{trame}$ = 1536 µs.
  2. Le temps de propagation du dernier bit de la 3ème trame vers le récepteur : $t_{propag}$ = 33,33 µs.
  3. Le temps de transmission de l'acquittement par B : $t_{acq}$ = 32 µs.
  4. Le temps de propagation du dernier bit de l'acquittement vers l'émetteur A : $t_{propag}$ = 33,33 µs.

Durée totale du cycle ($T_{cycle}$) = (3 × 512) + 33,33 + 32 + 33,33 = 1634,66 µs. Puisque ce cycle confirme 3 trames, la durée moyenne nécessaire à l'expédition confirmée d'UNE trame est : $T_{moyen}$ = $T_{cycle}$ ÷ 3 = 1634,66 ÷ 3 = 544,88 µs.

Question 1(b) - Taux d'occupation

Le taux d'occupation de la voie (ou efficacité du lien) correspond au rapport entre le temps passé à transmettre des trames d'information et la durée totale du cycle. $U$ = Temps utile ÷ Temps total du cycle $U$ = (3 × $t_{trame}$) ÷ $T_{cycle}$ $U$ = 1536 ÷ 1634,66 ≈ 0,9396

Le taux d'occupation de la voie est donc d'environ 93,96 %.

Question 1(c) - Transmission d'un message de 1 Mo

La taille du champ de données utiles d'une trame est de 1024 - 80 = 944 bits. Calculons le nombre de trames nécessaires. (Note : En réseaux, nous utiliserons la convention du Système International où 1 Mo = 1 000 000 d'octets).

Taille du message = 1 000 000 octets = 8 000 000 bits. Nombre de trames ($N$) = 8 000 000 ÷ 944 = 8474,57... qu'on arrondit à l'entier supérieur, soit 8475 trames.

Puisque les trames sont envoyées par blocs de 3, calculons le nombre de cycles : Nombre de cycles = 8475 ÷ 3 = 2825 cycles exacts.

Durée totale de la transmission = 2825 × $T_{cycle}$ = 2825 × 1634,66 µs = 4 617 914,5 µs, soit environ 4,618 secondes.

(Note : Si l'on retient la convention informatique où 1 Mo = 2²⁰ octets = 1 048 576 octets, le message fait 8 388 608 bits, nécessitant 8887 trames, soit 2962 cycles pleins plus 1 trame seule, pour un total d'environ 4,84 secondes).

Exercice 2 - Performance d'un protocole de liaison de données

Question 2(a) - Probabilité d'échec des acquittements

La probabilité d'échec d'une trame est directement proportionnelle à sa longueur en bits. Puisqu'un acquittement (généralement quelques octets pour l'en-tête de contrôle) est de taille beaucoup plus faible qu'une trame de données complète, il est statistiquement exposé à beaucoup moins d'erreurs de transmission.

Question 2(b) - Valeur minimale de T1

La temporisation $T_1$ est lancée au début de l'émission de la trame. Pour qu'elle n'expire pas prématurément, elle doit au minimum couvrir le temps nécessaire pour un aller-retour parfait. Le dernier bit de l'acquittement arrivera au temps : émission de la trame ($t_{trame}$) + propagation vers le récepteur ($t_{propag}$) + émission de l'ACK ($t_{Acq}$) + propagation vers l'émetteur ($t_{propag}$). La valeur minimale est donc : $T_{min}$ = $t_{trame}$ + 2 × $t_{propag}$ + $t_{Acq}$.

Question 2(c) - Probabilité de succès total

Le texte définit $p_r$ comme la probabilité d'erreur d'un acquittement, mais omet de nommer celle de la trame. Définissons $p_d$ comme la probabilité d'erreur de la trame de données. Pour qu'une transmission soit totalement réussie, la trame de données doit arriver sans erreur ET l'acquittement doit revenir sans erreur. Ces deux événements étant indépendants, la probabilité est : $p_{succ}$ = (1 - $p_d$) × (1 - $p_r$)

Question 2(d) - Durée d'un cycle avec succès

En cas de succès, le cycle se termine dès la réception complète de l'acquittement par l'émetteur. Durée = Temps de transmission de la trame + Délai de propagation aller + Temps de transmission de l'acquittement + Délai de propagation retour. Durée du succès = $t_{trame}$ + 2 × $t_{propag}$ + $t_{Acq}$.

Question 2(e) - Durée d'un cycle en cas d'échec

En cas d'échec (perte de la trame ou perte de l'acquittement), l'émetteur ne reçoit rien de valide. Il va donc bloquer et attendre l'expiration de son minuteur $T_1$ qui a été déclenché au début de l'émission de la trame. Durée de l'échec = $T_1$.

Exercice 3 - Conception d'un LAN

Question 3(a) - Condition de détection de collision CSMA/CD

Pour qu'une station puisse détecter une collision dans le protocole CSMA/CD, il faut qu'elle soit encore en train d'émettre sa trame lorsque le signal de collision (qui provient au pire de l'extrémité opposée du réseau) lui revient. Le temps d'émission de la trame ($t_{trame}$) doit donc être supérieur ou égal au temps d'aller-retour maximal du signal (Round Trip Time) sur le support. Condition : $t_{trame} \ge 2 × t_{propag}$ (où $t_{propag}$ = $d$ ÷ $V$).

Question 3(b) - Détection de collision dans le LAN1

Vérifions la condition avec les caractéristiques données :

  • Temps de propagation pour traverser les 200 km : $t_{propag}$ = $d$ ÷ $V$ = 200 ÷ 200 000 = 0,001 seconde (soit 1 ms).
  • Le temps aller-retour est donc de 2 × 1 ms = 2 ms.
  • Calculons le temps d'émission de la trame la plus longue possible (4500 octets = 36 000 bits).
  • $t_{trame_max}$ = $L$ ÷ $D$ = 36 000 ÷ 100 000 000 = 0,00036 seconde (soit 0,36 ms).

On constate que $t_{trame_max}$ (0,36 ms) est très inférieur à 2 × $t_{propag}$ (2 ms). Non, une collision ne peut pas être détectée dans ce LAN. L'émetteur aura toujours terminé d'envoyer sa trame bien avant que le premier bit d'une éventuelle collision ne lui parvienne en retour.

Exercice 4 - Send and Wait

Question 4(a) - Schéma de l'échange half-duplex

Voici la chronologie d'un échange sans erreur, mesurée depuis le début de la transmission par l'équipement A :

Temps (chronologie) Événement
t = 0 A commence à émettre la trame de données
t = $t_{trame}$ A termine d'émettre la trame. Le dernier bit part sur le support.
t = $t_{trame}$ + $t_{propag}$ Le dernier bit arrive à l'équipement B. B commence à émettre l'ACK.
t = $t_{trame}$ + $t_{propag}$ + $t_{acq}$ B a terminé d'émettre l'ACK.
t = $t_{trame}$ + 2×$t_{propag}$ + $t_{acq}$ L'ACK est entièrement reçu par A. Le cycle est terminé.

(Note : Le paramètre RTT mentionné correspond à 2 × $t_{propag}$)

Question 4(b) - Durée totale d'occupation sans erreur

La durée totale du cycle pour transmettre une trame (du début de son émission à la fin de la réception de son acquittement) est la somme des temps identifiés ci-dessus : $T_{total} = t_{trame} + 2 \times t_{propag} + t_{acq}$

Question 4(c) - Efficacité USW (Cas 200 km)

Calculons les paramètres pour l'orbite basse (200 km) :

  • $t_{trame}$ = (64 octets × 8 bits) ÷ 9 600 bits/s = 512 ÷ 9 600 ≈ 0,05333 s (53,33 ms).
  • $t_{propag}$ = 200 km ÷ 300 000 km/s ≈ 0,000666 s (0,666 ms).
  • Paramètre $a$ = $t_{propag}$ ÷ $t_{trame}$ = 0,666 ÷ 53,33 ≈ 0,0125.

Pour obtenir l'expression de l'efficacité $U_{SW}$, nous supposerons l'approximation classique selon laquelle la durée de transmission de l'acquittement ($t_{acq}$) est négligeable devant $t_{trame}$ et $t_{propag}$. $U_{SW} = \frac{t_{trame}}{t_{trame} + 2 \times t_{propag}} = \frac{1}{1 + 2a}$

Application numérique : $U_{SW} = \frac{1}{1 + 2(0,0125)} = \frac{1}{1,025} \approx 0,9756$ (soit 97,56 %)

Question 4(d) - Efficacité USW (Cas 36 000 km)

Refaisons le calcul avec un satellite géostationnaire (36 000 km) :

  • $t_{trame}$ = 0,05333 s (inchangé).
  • $t_{propag}$ = 36 000 ÷ 300 000 = 0,12 s (120 ms).
  • Paramètre $a$ = 0,12 ÷ 0,05333 = 2,25.

Application numérique : $U_{SW} = \frac{1}{1 + 2(2,25)} = \frac{1}{1 + 4,5} = \frac{1}{5,5} \approx 0,1818$ (soit 18,18 %)

Question 4(e) - Recommandations pour les communications satellitaires

Le protocole Send and Wait (Stop and Wait) est inefficace pour les liaisons satellites géostationnaires (seulement 18 % d'utilisation de la bande passante ici) car l'émetteur passe la majorité de son temps à attendre à cause de la forte latence (RTT énorme). Recommandation : Il faut abandonner le Send and Wait pour ces longues distances et privilégier des protocoles à fenêtres d'anticipation (comme Go-Back-N ou Selective Repeat), qui permettent de pipeliner plusieurs trames pendant l'aller-retour de l'acquittement, gardant ainsi le canal occupé.

Question 4(f) - Efficacité Go-Back-N (Fenêtre > Occupation canal)

Si la taille de la fenêtre d'anticipation $N$ est supérieure à la "durée" totale d'occupation du canal (c'est-à-dire si $N \ge 1 + 2a$), l'émetteur pourra émettre des trames en continu sans jamais devoir s'arrêter pour attendre un acquittement (le premier ACK arrive avant qu'il n'ait fini de vider sa fenêtre). En l'absence d'erreur (hypothèse induite pour ce calcul de base), le canal est utilisé à 100 %. $U_{ant} = 1$ (ou 100 %)

Question 4(g) - Efficacité Go-Back-N (Fenêtre < Occupation canal)

Si la taille de la fenêtre $N$ est inférieure à la durée totale d'occupation ($N < 1 + 2a$), l'émetteur envoie ses $N$ trames, puis se retrouve bloqué en attendant le premier acquittement. Le temps utile est la transmission de $N$ trames ($N \times t_{trame}$). Le temps d'un cycle complet (jusqu'à réception du premier ACK permettant de relancer l'émission) est $t_{trame} + 2 \times t_{propag}$ (toujours en négligeant $t_{acq}$). L'efficacité devient donc : $U_{ant} = \frac{N \times t_{trame}}{t_{trame} + 2 \times t_{propag}} = \frac{N}{1 + 2a}$

Question 4(h) - Taille minimale de la fenêtre

Pour avoir une transmission efficace à 100 %, il faut basculer dans la condition de la question 4(f). Il faut donc que $N \ge 1 + 2a$. Avec le satellite à 36 000 km, nous avons calculé à la question 4(d) que $a = 2,25$. La condition devient $N \ge 1 + 2(2,25) \implies N \ge 5,5$. Puisque $N$ représente un nombre entier de trames, la taille minimale de la fenêtre d'anticipation pour atteindre l'efficacité maximale est de 6 trames.

Méthode

Face à une épreuve d'ingénierie des réseaux, et particulièrement concernant les protocoles de liaison, suivez ces règles cardinales :

  • Identifiez toujours vos unités : Convertissez systématiquement les longueurs en bits et les débits en bits/s (attention aux kbits et Mbits : 1 Mbps = 10⁶ bps). Convertissez les distances en mètres si la vitesse est en m/s.
  • Séparez l'émission et la propagation : Ne confondez jamais le temps de transmission (pousser les bits sur le câble, dépendant du débit) et le temps de propagation (voyage des ondes, dépendant de la distance et de la physique). Dessiner un chronogramme comme suggéré par l'exercice 4 aide immensément à ne rien oublier.
  • Repérez les variables "classiques" : La lettre $a$ désigne quasi universellement le ratio propagation/transmission ($t_{propag}$ ÷ $t_{trame}$) et le dénominateur $(1 + 2a)$ est la clé d'analyse de l'utilisation du médium. Mémorisez ce rapport.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions