Transfert de données fiable
Le transfert de données fiable est l'ensemble des principes selon lesquels un protocole délivre des données correctement, dans l'ordre, et sans perte ni duplication sur un réseau sous-jacent susceptible de corrompre, perdre ou réordonner les paquets.
Definition
Le transfert de données fiable est un service de la couche transport qui garantit que les données sont livrées à l'application réceptrice correctement et dans l'ordre, malgré un canal sous-jacent peu fiable, grâce à des accusés de réception, des numéros de séquence, des temporisations (timeouts) et des retransmissions.
Scope
Ce sujet couvre les mécanismes généraux de la livraison fiable, indépendamment de tout protocole spécifique : les accusés de réception (acknowledgments) et les accusés de réception négatifs (negative acknowledgments), les numéros de séquence pour détecter la perte et la duplication, les sommes de contrôle (checksums) pour la corruption, les temporisateurs de retransmission, et les protocoles à fenêtre glissante (sliding-window protocols) pipelinés (go-back-N et selective repeat) qui maintiennent de nombreux paquets en transit pour l'efficacité. Il les développe comme la base sur laquelle TCP est construit. Il exclut le contrôle de congestion, qui traite la surcharge du réseau plutôt que la fiabilité par liaison, et les spécificités de TCP lui-même.
Core questions
- Quelles défaillances — corruption, perte, duplication, réordonnancement — un protocole fiable doit-il surmonter ?
- Comment les accusés de réception et les numéros de séquence permettent-ils à un récepteur de détecter et de signaler les problèmes ?
- Comment un émetteur utilise-t-il les temporisations et la retransmission pour récupérer après une perte ?
- Comment les protocoles pipelinés (go-back-N, selective repeat) améliorent-ils l'efficacité par rapport au « stop-and-wait » ?
- Quel est le compromis entre le go-back-N et le selective repeat ?
Key concepts
- accusés de réception (ACK/NAK)
- numéros de séquence
- sommes de contrôle
- temporisateurs de retransmission et temporisations
- « stop-and-wait »
- requête de répétition automatique (ARQ)
- pipeline
- fenêtre glissante
- go-back-N et selective repeat
Key theories
- « Stop-and-wait » et requête de répétition automatique
- Le protocole fiable le plus simple envoie un paquet et attend un accusé de réception, retransmettant en cas de temporisation ; les numéros de séquence distinguent les nouvelles données des retransmissions, établissant le mécanisme ARQ fondamental sur lequel repose tout transfert fiable.
- Pipeline avec fenêtres glissantes
- Permettre à plusieurs paquets non acquittés d'être en transit, limités par une fenêtre, augmente le débit sur les liaisons à forte latence ; le go-back-N retransmet à partir du premier paquet perdu, tandis que le selective repeat ne retransmet que les paquets manquants au prix d'une plus grande mise en mémoire tampon (buffering) et d'une gestion plus complexe (bookkeeping).
Clinical relevance
Les principes du transfert de données fiable sont ce qui permet aux transferts de fichiers, aux pages web et à la plupart des données d'application d'arriver intacts, même sur des chemins sujets à des pertes ou à la congestion. Les mêmes concepts — accusés de réception, numéros de séquence, fenêtres et retransmission — se retrouvent dans TCP, dans la fiabilité de la couche liaison et dans les nouveaux protocoles de transport, de sorte que leur compréhension est fondamentale pour raisonner sur le débit (throughput), la latence et la récupération après perte.
History
Les mécanismes de transfert fiable ont été développés pour les premiers protocoles de liaison et l'ARPANET, où les schémas ARQ (Automatic Repeat Request) de type « stop-and-wait » puis à fenêtre glissante ont été affinés pour équilibrer fiabilité et débit. Le développement systématique et incrémental des principes de transfert fiable — d'un canal parfait jusqu'à la gestion des pertes et du réordonnancement — est devenu une approche pédagogique standard et sous-tend la conception de TCP.
Key figures
- James F. Kurose
- Keith W. Ross
- Andrew S. Tanenbaum
Related topics
Seminal works
- kurose2021
- tanenbaum2010
Frequently asked questions
- Pourquoi utiliser des numéros de séquence ?
- Les numéros de séquence permettent au récepteur de distinguer les paquets afin de détecter les pertes (un trou dans la séquence), d'écarter les doublons (un numéro répété causé par une retransmission) et de réordonner les données arrivées dans le désordre. Sans eux, un émetteur et un récepteur ne pourraient pas distinguer un nouveau paquet d'un paquet retransmis.
- Quelle est la différence entre le go-back-N et le selective repeat ?
- Les deux protocoles pipelinent plusieurs paquets. Le go-back-N fait retransmettre à l'émetteur tout à partir du premier paquet perdu, ce qui est simple mais peut renvoyer des données déjà correctement reçues. Le selective repeat ne retransmet que les paquets spécifiques qui ont été perdus et met en mémoire tampon les arrivées dans le désordre, ce qui est plus efficace mais nécessite plus d'état aux deux extrémités.