2022-11-15 00:31 Temps de lecture : 13 min

Dépannage de la latence du réseau avec Wireshark

La latence d'un réseau représente le temps nécessaire pour que les données ou les requêtes transitent de leur origine à leur destination. Découvrons ensemble comment identifier et corriger les problèmes de latence réseau.

Chaque action nécessitant l'utilisation du réseau, qu'il s'agisse de charger une page web, de cliquer sur un lien, d'ouvrir une application ou de jouer en ligne, est considérée comme une activité. L'interaction de l'utilisateur génère une requête, et le temps de réponse d'une application web correspond au délai nécessaire pour traiter cette requête.

Ce délai inclut également le temps de traitement de la requête par le serveur. Par conséquent, on parle de délai aller-retour, soit le temps total nécessaire pour que la requête soit envoyée, traitée, puis la réponse reçue et interprétée par l'utilisateur.

Une "faible latence" se caractérise par des temps de transfert de données très courts. Inversement, des délais importants ou une latence excessive sont préjudiciables, car ils dégradent l'expérience utilisateur.

Comment remédier à la latence réseau ?

De nombreux outils et logiciels en ligne permettent d'analyser et de dépanner un réseau. Certains sont payants, d'autres gratuits. Parmi eux, Wireshark, une application open source sous licence GPL, est particulièrement utile pour capturer les paquets de données en temps réel. C'est l'analyseur de protocole réseau le plus utilisé et le plus reconnu au monde.

Wireshark permet de capturer et d'afficher les paquets réseau de manière détaillée. Vous pouvez ensuite les analyser en temps réel ou hors ligne après leur interception. Cette application vous offre une vue microscopique de votre trafic réseau, vous permettant de le filtrer, de l'étudier en profondeur et d'identifier l'origine des problèmes. Il devient ainsi un outil précieux pour l'analyse et la sécurisation de votre réseau.

Quelles sont les causes du retard réseau ?

Voici les principales raisons d'une connectivité réseau lente :

  • Latence élevée
  • Dépendances applicatives
  • Perte de paquets
  • Dispositifs d'interconnexion
  • Taille de fenêtre inefficace

Dans cet article, nous examinerons chacune de ces causes de retard et comment les résoudre grâce à Wireshark.

Analyse avec Wireshark

Latence élevée

La latence élevée désigne le temps nécessaire aux données pour transiter d'un point A à un point B. Cet impact sur les communications réseau est significatif. À titre d'exemple, le schéma ci-dessous illustre le temps aller-retour lors du téléchargement d'un fichier sur un réseau à latence élevée. Ce délai peut parfois dépasser une seconde, ce qui est inacceptable.

  • Accédez aux statistiques dans Wireshark.
  • Sélectionnez l'option "Graphique de flux TCP".
  • Choisissez le graphique du temps aller-retour pour évaluer le délai de téléchargement du fichier.

Wireshark est utilisé pour mesurer ce temps aller-retour sur un chemin spécifique afin de déterminer si c'est la cause de performances réseau médiocres (TCP - Transmission Control Protocol). Le protocole TCP est utilisé dans de nombreuses applications comme la navigation web, les transferts de données, le protocole de transfert de fichiers, etc. Dans de nombreux cas, il est possible d'optimiser le système d'exploitation pour qu'il fonctionne plus efficacement sur des canaux à latence élevée, notamment lorsque les ordinateurs utilisent Windows XP.

Dépendances applicatives

Certaines applications dépendent d'autres applications, processus ou communications avec d'autres ordinateurs. Prenons l'exemple d'une base de données qui dépend de connexions à d'autres serveurs pour récupérer des données. Si ces autres serveurs sont lents, cela impactera négativement le temps de chargement de l'application locale.

Prenons l'exemple d'une navigation web : le serveur cible peut renvoyer vers plusieurs autres sites web. Par exemple, pour charger la page d'accueil de www.espn.com, vous devez d'abord contacter 16 hébergeurs qui fournissent des publicités et du contenu pour cette page.

L'image ci-dessus montre la fenêtre "HTTP Load Distribution" dans Wireshark, qui affiche tous les serveurs utilisés par la page d'accueil de www.espn.com.

Perte de paquets

La perte de paquets est un problème courant sur les réseaux. Elle se produit lorsque les paquets de données ne sont pas correctement acheminés de l'expéditeur au destinataire. Lorsqu'un utilisateur charge un site web, les paquets manquants entraînent des retransmissions, ce qui augmente le temps nécessaire pour télécharger les fichiers web et ralentit le processus global.

De plus, lorsque l'application utilise le protocole TCP, l'impact de la perte de paquets est particulièrement négatif. Lorsqu'une connexion TCP détecte un paquet manquant, le débit est automatiquement réduit pour compenser les problèmes de réseau.

Le débit est ensuite progressivement augmenté jusqu'à un niveau plus acceptable, jusqu'à ce qu'un autre paquet soit perdu. Cela entraîne une réduction significative du débit de données. Les gros téléchargements, qui devraient normalement se dérouler sans problème, sont particulièrement affectés par la perte de paquets.

Comment se manifeste la perte de paquets ? C'est variable. La perte de paquets peut prendre deux formes si le programme utilise TCP. Dans un cas, le récepteur surveille les paquets en fonction de leurs numéros de séquence et détecte un paquet manquant. Le client effectue trois requêtes pour le paquet manquant (accusés de réception dupliqués), ce qui entraîne sa réémission. Si l'expéditeur constate que le destinataire n'a pas confirmé la réception d'un paquet, l'expéditeur attend un certain temps avant de retransmettre le paquet de données.

Wireshark signale une congestion réseau et indique par une couleur des accusés de réception dupliqués qui provoquent la retransmission du trafic. Un nombre élevé d'accusés de réception dupliqués est un signe de perte de paquets et d'un retard important sur le réseau.

Pour améliorer la vitesse du réseau, il est essentiel de localiser l'endroit exact où se produit la perte de paquets. En cas de perte, on déplace l'analyse Wireshark le long du chemin jusqu'à ce qu'il n'y ait plus de perte visible. On remonte ainsi "en amont" du point de perte des paquets, ce qui nous permet de concentrer nos efforts de débogage au bon endroit.

Dispositifs d'interconnexion

Les dispositifs d'interconnexion, tels que les commutateurs, les routeurs et les pare-feu, sont des acteurs importants du trafic réseau qui prennent des décisions de routage. En cas de perte de paquets, ces périphériques doivent être étudiés car ils peuvent en être la cause.

Ces dispositifs peuvent ajouter de la latence. Par exemple, si la hiérarchisation du trafic est activée, on peut observer une latence supplémentaire injectée dans un flux ayant un niveau de priorité faible.

Taille de fenêtre inefficace

Outre le système d'exploitation Microsoft, il existe d'autres "fenêtres" dans le réseau TCP/IP.

  • Fenêtre glissante
  • Fenêtre de réception
  • Fenêtre de contrôle de congestion

Ces fenêtres contribuent aux performances de communication basées sur le protocole TCP. Définissons chaque fenêtre et leur impact sur la bande passante du réseau.

Fenêtre glissante

La fenêtre glissante est utilisée pour envoyer les segments TCP suivants sur le réseau au fur et à mesure que les données sont confirmées. L'expéditeur reçoit des accusés de réception pour les fragments de données envoyés, ce qui augmente la taille de la fenêtre glissante. Tant qu'il n'y a pas de perte sur le réseau, de plus grandes quantités de données peuvent être transférées. Lorsqu'un paquet est perdu, la fenêtre glissante se rétrécit car le réseau ne peut plus gérer la quantité accrue de données.

Fenêtre de réception

La fenêtre de réception de la pile TCP est une zone tampon. Lorsque des données sont reçues, elles y sont stockées jusqu'à ce qu'une application les récupère. La fenêtre de réception se remplit si une application ne suit pas la cadence de réception, ce qui aboutit à un scénario de "fenêtre zéro". Lorsque le récepteur annonce un état de fenêtre nulle, toutes les transmissions de données vers cet ordinateur doivent s'arrêter. Le débit est alors nul. Une méthode appelée "mise à l'échelle de la fenêtre" (RFC 1323) permet d'augmenter la taille de la fenêtre de réception et de réduire la probabilité d'un scénario de fenêtre nulle.

L'image ci-dessus illustre un délai de 32 secondes dans les communications réseau en raison d'un scénario de fenêtre zéro.

Fenêtre de congestion

La fenêtre de congestion définit la quantité maximale de données que le réseau peut gérer. Le débit de transmission de l'expéditeur, le taux de perte de paquets et la taille de la fenêtre du destinataire contribuent à ce chiffre. La fenêtre de congestion augmente progressivement pendant une communication réseau normale jusqu'à ce que le transfert soit terminé ou qu'elle atteigne un "plafond" établi par la santé du réseau. Les capacités de transmission de l'expéditeur ou la taille de la fenêtre du destinataire peuvent limiter la taille de cette fenêtre. Chaque nouvelle connexion déclenche une nouvelle négociation de la taille de la fenêtre.

Conseils pour un réseau sain

  • Utilisez Wireshark pour identifier rapidement et efficacement les causes de mauvaises performances.
  • Identifiez les sources de latence et réduisez-les à un niveau acceptable.
  • Localisez et corrigez la source des pertes de paquets.
  • Examinez la taille de la fenêtre de transmission des données et réduisez-la si possible.
  • Vérifiez les performances des dispositifs d'interconnexion pour voir s'ils ajoutent de la latence ou abandonnent des paquets.
  • Optimisez les applications pour qu'elles puissent transférer de plus grandes quantités de données et les récupérer de la fenêtre de réception.

Conclusion 👨‍🏫

Nous avons passé en revue les principales raisons des problèmes de performance réseau. Cependant, il ne faut pas négliger l'importance de comprendre le fonctionnement des communications réseau. Wireshark offre une visibilité sur le réseau, comparable à une radiographie ou un scanner du corps humain, permettant des diagnostics précis et rapides. Cet outil est devenu indispensable pour identifier et diagnostiquer les problèmes de réseau.

Vous pouvez maintenant examiner et résoudre les problèmes de performance réseau grâce aux nombreux filtres et outils de Wireshark. 👍

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.