Retransmission TCP vs Retransmission rapide TCP

9

Dans Wireshark, je peux voir des choses qui disent "Retransmission TCP" et "Retransmission rapide TCP". Quelle est la différence? Comment Wireshark peut-il faire la différence?

tony_sid
la source

Réponses:

8

Lorsqu'un paquet est envoyé à l'aide de TCP, un numéro de séquence lui est transmis. Lorsque le récepteur reçoit le paquet, il envoie un accusé de réception à l'expéditeur avec le numéro de séquence indiquant que le paquet a été reçu. D'après la façon dont vous avez posé votre question, je suppose que vous le savez. Je voulais le mettre pour d'autres lecteurs.

La retransmission TCP n'est qu'un paquet qui ne reconnaît pas dans le délai imparti.

TCP Fast Retransmission, c'est quand la source obtient la confirmation que le paquet n'a pas été reçu ... citant Fast retransmit - Wikipedia, l'encyclopédie gratuite

si un expéditeur TCP reçoit trois accusés de réception en double avec le même numéro d'accusé de réception (c'est-à-dire un total de quatre accusés de réception portant le même numéro d'accusé de réception), l'expéditeur peut être raisonnablement convaincu que le segment avec le numéro de séquence suivant le plus élevé a été supprimé

Théo
la source
Êtes-vous sûr du nombre d'ACK? J'ai vu cela se produire avec trois ACK.
tony_sid
2
Non. Ce dont je suis sûr, c'est que des retransmissions rapides se produisent lorsque l'expéditeur détecte des problèmes en raison d'acquittements de séquences multiples.
Theo
3
En outre, il indique rapide, mais il a la même vitesse qu'une retransmission régulière. La raison pour laquelle il est appelé rapide est que vous êtes averti du problème au lieu d'attendre un délai d'attente. Ainsi, l'ensemble du processus est "plus rapide".
Theo
6

J'ai digéré cela de Microsoft :

TCP démarre un temporisateur de retransmission lorsque chaque segment sortant est transmis à la couche IP (Internet Protocol). Si TCP ne reçoit pas d'accusé de réception pour les données d'un segment donné avant l'expiration du temporisateur, le segment est retransmis.

Le délai de retransmission est ajusté à la volée pour correspondre aux caractéristiques de la connexion, en utilisant les calculs du temps de trajet aller-retour (SRTT) comme décrit dans l'article de Van Jacobson et Mike Karels "Congestion Eviter and Control" dans les Actes de la Conférence ACM SIGCOMM on Data Communication, novembre 1988. Ce document se trouve dans la bibliothèque numérique ACM de l'Association for Computing Machinery. Pour plus d'informations sur les calculs SRTT, voir RFC 793: Transmission Control Protocol DARPA Internet Program Protocol Specification . Le délai de retransmission pour un segment donné est doublé après chaque retransmission de ce segment.

En utilisant cet algorithme, TCP s'accorde au délai habituel d'une connexion. Les connexions TCP sur des liaisons à haut retard prennent beaucoup plus de temps à expirer que celles sur des liaisons à faible retard, afin d'éviter un dépassement de délai incorrect lorsqu'une connexion est simplement lente plutôt que non présente.

Dans certaines circonstances, TCP retransmet les données avant l'expiration du temporisateur de retransmission d'un segment particulier. La circonstance la plus courante se produit en raison d'une caractéristique connue sous le nom de retransmission rapide.

Lorsqu'un récepteur qui prend en charge la retransmission rapide reçoit un paquet avec un numéro de séquence supérieur à celui actuellement attendu, il se déroule comme si certaines données étaient supprimées. Pour aider à informer l'expéditeur des données apparemment abandonnées aussi rapidement que possible, le récepteur envoie immédiatement un accusé de réception (ACK), avec le numéro ACK défini sur le numéro de séquence qui semble être manquant. Le récepteur envoie un autre ACK pour ce numéro de séquence pour chaque segment TCP supplémentaire dans le flux entrant qui arrive avec un numéro de séquence supérieur à celui manquant.

Lorsque l'expéditeur reçoit un flux de ACK en double qui accusent réception du même numéro de séquence et que le numéro de séquence indiqué est antérieur au numéro de séquence du segment en cours d'envoi, l'expéditeur peut déduire qu'un ou plusieurs segments qu'il a précédemment envoyés ont été supprimés. Après avoir reçu un certain nombre de ACK en double, les expéditeurs qui prennent en charge l'algorithme de retransmission rapide renvoient le ou les segments que le récepteur demande pour combler l'écart dans les données, sans attendre l'expiration du temporisateur de retransmission pour les segments manquants. Cette optimisation améliore considérablement les performances dans un environnement réseau occupé.

Avec une retransmission rapide, l'expéditeur retransmet les segments TCP manquants avant l'expiration de leur temporisation de retransmission. Étant donné que les temporisations de retransmission n'ont pas expiré pour les segments TCP manquants, les segments manquants sont reçus à la destination et reconnus par le récepteur plus rapidement qu'ils ne l'auraient été sans retransmission rapide et l'expéditeur peut envoyer plus rapidement des segments ultérieurs au récepteur. Ce processus est appelé récupération rapide. La retransmission rapide et la récupération rapide sont décrites dans la RFC 2581: TCP Congestion Control .

Majenko
la source
2

La retransmission, essentiellement identique à la demande de répétition automatique (ARQ), est le renvoi de paquets endommagés ou perdus. C'est un terme qui fait référence à l'un des mécanismes de base utilisés par les protocoles fonctionnant sur un réseau informatique à commutation de paquets pour fournir une communication fiable. MAIS la retransmission rapide est une amélioration de TCP qui réduit le temps qu'un expéditeur attend avant de retransmettre un segment perdu.L'amélioration de la retransmission rapide fonctionne comme suit: si un expéditeur TCP reçoit un nombre spécifié d'acquittements qui est généralement défini sur trois accusés de réception dupliqués avec le même numéro d'accusé de réception (c'est-à-dire un total de quatre accusés de réception portant le même numéro d'accusé de réception), l'expéditeur peut être raisonnablement convaincu que le segment avec le numéro de séquence supérieur suivant a été abandonné et n'arrivera pas en panne. L'expéditeur retransmettra ensuite le paquet présumé abandonné avant d'attendre son expiration. vérifier ce lien pour plus de détails et algorithme http://www.isi.edu/nsnam/DIRECTED_RESEARCH/DR_WANIDA/DR/JavisInActionFastRetransmitFrame.html

Hanna
la source
1

En termes simples, la retransmission TCP dépend principalement du délai d'expiration du paquet pour détecter un échec tandis que, dans la retransmission rapide TCP, un accusé de réception en double pour un paquet particulier symbolise son échec.

La plupart du temps, 3 accusés de réception en double pour un paquet sont déduits comme un manque de paquet. La source peut alors voir le numéro de séquence du paquet pour lequel le NACK a été déclenché. Il s'agit du numéro de séquence du paquet manquant et peut être envoyé au récepteur.

L'avantage de la retransmission rapide TCP est qu'elle n'attend pas le délai d'expiration du paquet pour lancer une transmission et donc une retransmission plus rapide du paquet, comme son nom l'indique également.

Rubal
la source