Dans une couche réseau à la fois peu fiable et sans connexion (comme le protocole Internet, IP), il n'existe aucun mécanisme inhérent pour renvoyer automatiquement les données perdues. La responsabilité de garantir une livraison fiable des données incombe aux couches supérieures de la pile de protocoles, généralement la couche de transport (par exemple, TCP) ou même aux applications de niveau supérieur. Voici comment cela est réalisé :
1. Protocoles de couche de transport (comme TCP) :
* Établissement de la connexion : TCP établit une connexion avant la transmission des données, permettant un dialogue entre l'expéditeur et le destinataire. Cela implique une poignée de main à trois pour confirmer la viabilité de la connexion.
* Séquençage : Chaque paquet de données est numéroté séquentiellement. Cela permet au récepteur de détecter les paquets manquants et de demander une retransmission.
* Accusé de réception (ACK) : Le récepteur renvoie des paquets ACK à l'expéditeur confirmant la réception des données. Si un ACK n'est pas reçu dans un délai d'expiration, l'expéditeur retransmet le paquet non accusé de réception.
* Délai d'expiration et retransmission : L'expéditeur maintient des minuteries pour chaque paquet envoyé. Si un temporisateur expire avant la réception d'un ACK, le paquet est retransmis.
* Détection d'erreur : Des sommes de contrôle ou d'autres mécanismes de détection d'erreurs sont utilisés pour détecter les paquets corrompus. Les paquets corrompus sont rejetés et une retransmission est demandée.
2. Mécanismes de la couche application (lors de l'utilisation d'UDP ou d'un protocole sans connexion similaire) :
Étant donné que la couche réseau n'offre aucune fiabilité intégrée, les applications utilisant UDP ou d'autres protocoles sans connexion doivent implémenter leurs propres mécanismes pour un transfert de données fiable :
* Séquençage et ACK : L'application elle-même doit numéroter les paquets et mettre en œuvre des stratégies d'accusé de réception et de retransmission, imitant les fonctionnalités de TCP.
* Délai de retransmission : Semblable à TCP, l'application définit des délais d'attente pour chaque paquet. Si un délai d'attente expire sans accusé de réception, l'application retransmet le paquet.
* Accusé de réception positif avec retransmission (PAR) : Le destinataire accuse réception des paquets reçus et l'expéditeur retransmet les paquets manquants sur la base de ces accusés de réception.
* Retour-N ARQ : L'expéditeur retransmet tous les paquets à partir du paquet non accusé de réception.
* ARQ de répétition sélective : L'expéditeur ne retransmet que les paquets manquants.
En bref : Même si la nature peu fiable et sans connexion de la couche réseau ne permet pas une récupération de données intégrée, les protocoles de niveau supérieur et la logique au niveau des applications sont responsables de la mise en œuvre des mécanismes nécessaires pour détecter et récupérer les données perdues. Cela ajoute une surcharge, mais permet une communication fiable sur une infrastructure intrinsèquement peu fiable.
|