DCN - Contrôle et protocoles de liaison de données
La couche liaison de données est responsable de la mise en œuvre du flux point à point et du mécanisme de contrôle des erreurs.
Contrôle de flux
Lorsqu'une trame de données (données de couche 2) est envoyée d'un hôte à un autre sur un seul support, il est nécessaire que l'expéditeur et le récepteur fonctionnent à la même vitesse. Autrement dit, l'expéditeur envoie à une vitesse à laquelle le destinataire peut traiter et accepter les données. Que faire si la vitesse (matériel / logiciel) de l'expéditeur ou du destinataire diffère? Si l'expéditeur envoie trop vite, le récepteur peut être surchargé (saturé) et les données peuvent être perdues.
Deux types de mécanismes peuvent être déployés pour contrôler le flux:
Stop and WaitCe mécanisme de contrôle de flux force l'expéditeur après avoir transmis une trame de données à s'arrêter et à attendre jusqu'à ce que l'accusé de réception de la trame de données envoyée soit reçu.
Sliding Window
Dans ce mécanisme de contrôle de flux, l'expéditeur et le récepteur s'entendent sur le nombre de trames de données après lequel l'accusé de réception doit être envoyé. Comme nous l'avons appris, le mécanisme de contrôle de flux d'arrêt et d'attente gaspille des ressources, ce protocole essaie d'utiliser autant que possible les ressources sous-jacentes.
Contrôle d'erreur
Lorsque la trame de données est transmise, il existe une probabilité que la trame de données soit perdue pendant le transit ou qu'elle soit reçue corrompue. Dans les deux cas, le destinataire ne reçoit pas la trame de données correcte et l'expéditeur ne sait rien de toute perte.Dans ce cas, l'expéditeur et le destinataire sont équipés de certains protocoles qui les aident à détecter les erreurs de transit telles que la perte de données. Cadre. Par conséquent, soit l'expéditeur retransmet la trame de données, soit le récepteur peut demander à renvoyer la trame de données précédente.
Exigences relatives au mécanisme de contrôle des erreurs:
Error detection - L'expéditeur et le destinataire, l'un ou l'autre, doivent s'assurer qu'il y a une erreur dans le transit.
Positive ACK - Lorsque le récepteur reçoit une trame correcte, il doit en accuser réception.
Negative ACK - Lorsque le destinataire reçoit une trame endommagée ou une trame dupliquée, il renvoie un NACK à l'expéditeur et l'expéditeur doit retransmettre la trame correcte.
Retransmission: L'expéditeur maintient une horloge et définit un délai d'expiration. Si un accusé de réception d'une trame de données précédemment transmise n'arrive pas avant l'expiration du délai, l'expéditeur retransmet la trame, pensant que la trame ou son accusé de réception est perdu en transit.
Il existe trois types de techniques disponibles que la couche liaison de données peut déployer pour contrôler les erreurs par des demandes de répétition automatique (ARQ):
ARQ d'arrêt et d'attente
La transition suivante peut se produire dans ARQ Stop-and-Wait:
- L'expéditeur maintient un compteur de temporisation.
- Lorsqu'une trame est envoyée, l'expéditeur démarre le compteur de délai.
- Si l'accusé de réception de la trame arrive à temps, l'expéditeur transmet la trame suivante dans la file d'attente.
- Si l'accusé de réception n'arrive pas à temps, l'expéditeur suppose que la trame ou son accusé de réception est perdu en transit. L'expéditeur retransmet la trame et démarre le compteur de délai.
- Si un accusé de réception négatif est reçu, l'expéditeur retransmet la trame.
Go-Back-N ARQ
Stop and wait Le mécanisme ARQ n'utilise pas les ressources à leur meilleur. Lorsque l'accusé de réception est reçu, l'expéditeur reste inactif et ne fait rien. Dans la méthode ARQ Go-Back-N, l'expéditeur et le destinataire maintiennent une fenêtre.
La taille de la fenêtre d'envoi permet à l'expéditeur d'envoyer plusieurs trames sans recevoir l'accusé de réception des précédentes. La fenêtre de réception permet au récepteur de recevoir plusieurs trames et de les acquitter. Le récepteur garde la trace du numéro de séquence de la trame entrante.
Lorsque l'expéditeur envoie toutes les trames dans la fenêtre, il vérifie jusqu'à quel numéro de séquence il a reçu un accusé de réception positif. Si toutes les trames sont acquittées positivement, l'expéditeur envoie le prochain ensemble de trames. Si l'expéditeur constate qu'il a reçu NACK ou n'a reçu aucun ACK pour une trame particulière, il retransmet toutes les trames après quoi il ne reçoit aucun ACK positif.
Répétition sélective ARQ
Dans Go-back-N ARQ, on suppose que le récepteur ne dispose d'aucun espace tampon pour sa taille de fenêtre et doit traiter chaque trame au fur et à mesure qu'elle arrive. Ceci oblige l'expéditeur à retransmettre toutes les trames qui ne sont pas acquittées.
Dans l'ARQ à répétition sélective, le récepteur tout en gardant la trace des numéros de séquence, met en mémoire tampon les trames en mémoire et envoie NACK uniquement pour les trames manquantes ou endommagées.
L'expéditeur dans ce cas, envoie uniquement le paquet pour lequel NACK est reçu.