Projet 3 - Analyse de flux TCP
Objectifs
Dans ce projet, vous allez examiner le fonctionnement de TCP à l’aide de Wireshark: l’établissement de connexion, l’utilisation des numéros de séquence et ACK, mesurer le taux de transmission, analyser l’influence du contrôle de congestion et contrôle de flux.
Un enregistrement Wireshark d'un échange TCP vous est fourni. Vous utiliserez l'enregistrement afin de justifier vos explications sur le fonctionnement du contrôle de congestion et du contrôle de flux TCP.
Les sections suivantes du livre du cours TCP/IP Illustrated couvrent les sujets abordés dans ce projet, et peuvent servir de référence:
- 13.2 – Connexion TCP. La section 13.2.4 couvre un exemple d’une connexion TCP
- 13.3 – Options TCP
- 15.5 – Contrôle de flux et gestion de la fenêtre
- 16.2 – Contrôle de congestion : Algorithmes classiques
Critères d'évaluation
Le projet 3 comporte seulement une partie pratique. Il n'y aura pas de questions de suivi pour ce projet.
Tout travail remis en retard se verra attribuer la note de 0.
Évaluation de la partie pratique
L'évaluation d'une partie pratique du projet est effectuée par la remise d'une vidéo qui répond aux questions et explications demandées.
Ces vidéos sont d'une courte durée (3 à 5 minutes).
Répartissez équitablement la narration des différentes vidéos entre les membres de l'équipe.
Le matériel à remettre pour chaque partie du projet est clairement identifié au bas de la section.
Voici les pondérations de chaque section pour le projet
Section | Points |
---|---|
Établissement de la connexion TCP | 30 |
Taux de transmission | 30 |
Contrôle de flux et contrôle de congestion | 40 |
Chargement de la capture Wireshark
Pour votre analyse de flux TCP, vous devez utiliser le fichier de capture Wireshark distribuée sur Teams dans les fichiers du canal General. Les données de cette capture représentent un flux de données TCP entre un client et un serveur.
Après avoir téléchargé et ouvert le fichier de capture, votre logiciel Wireshark devrait ressembler à la figure suivante:
Informations utiles
- Dans le but de faciliter l’analyse de paquet, Wireshark présente une valeur “relative” pour certains champs, comme le numéro de séquence ou accusé (ACK).
- Important: Assurez-vous d'utiliser la capture fenêtre Wireshark qui démontre clairement d’où proviennent les informations utilisées pour répondre aux questions suivantes
Partie 1: Établissement de la connexion TCP
Enregistrez une vidéo d'une durée de 3 à 5 minutes où vous décrivez l'établissement d'une connexion TCP. Dans votre vidéo, mentionnez notamment:
- Les différentes étapes de l'établissement d'une connexion TCP ainsi que leur rôle. Identifiez dans la capture Wireshark le numéro de séquence des messages appartenant à l'établissement de la connexion.
- Les options qui sont échangées entre le client et le serveur ainsi que le rôle de ces options.
- Le rôle du MSS Maximum Segment Size et la manière dont cette valeur est calculée par le client.
À remettre pour la partie 1
Une seule courte vidéo expliquant l'établissement d'une connexion TCP.
Partie 2: Taux de transmission
À partir du segment du paquet numéro 6, le client envoie une série de segments TCP sans attendre un accusé de réception du serveur.
Commencez par calculer le taux de transmission moyen lors de la période entre le paquet 6 et la réception
du premier paquet ACK
par le client.
Calculez ensuite le taux de transmission moyen sur toute la transmission (du paquet 6 au dernier paquet envoyé).
Enregistrez une vidéo de 1 à 2 minutes où vous comparez les deux taux de transmission obtenus. Qu'est ce qui limite initialement le client sur la quantité de données transmises avant la réception d'un accusé de réception?
Wireshark permet de tracer un graphique du taux de transmission d’une session TCP. Utilisez le graphique via le menu
- Statistics
- TCP Stream Graphs
- Throughput.
- TCP Stream Graphs
Il est important d’afficher le graphique pour les données envoyées du client vers le serveur. Il est possible que vous deviez modifier la direction du flux TCP à afficher (avec le bouton Switch Direction).
À remettre pour la partie 2
Une seule courte vidéo où vous expliquez la différence entre le taux de transmission au début et à la fin de la transmission.
Partie 3: Contrôle de congestion et contrôle de flux
Nous allons utiliser les capacités d’analyse de Wireshark pour examiner la quantité de données par unité de temps (débit) envoyée du client vers le serveur. Nous allons observer les caractéristiques du protocole TCP qui limitent le débit de transmission.
Utilisez le graphique de numéro de séquence dans le temps Time Sequence (tcptrace) disponible dans le menu
- Statistics
- TCP Stream Graphs
- Time Sequence (tcptrace).
- TCP Stream Graphs
Un graphique comme celui-ci devrait apparaitre.
Il est important d’afficher les données envoyées du client vers le serveur, et non l’inverse. Il est possible que vous deviez modifier la direction du flux TCP à afficher (utilisez le bouton Switch Direction).
Le graphique représente les segments transmis pendant un peu plus de 5 secondes. Les numéros de séquence (normalisés à partir de zéro) sont représentés sur l’ordonnée.
Utilisez la fonction zoom pour examiner le détail du graphique autour de 0.2 seconde. Trois caractéristiques importantes dans ce graphique:
- Les segments envoyés par le client sont représentés par des barres bleues. La position inférieure de la barre correspond (à l’ordonnée) au numéro de séquence du segment.
- Le tracé beige représente les numéros de séquence acquittés (dont le ACK a été reçu). La transmission de nouveaux segments utilise un numéro de séquence au-dessus de cette courbe.
- La courbe verte est tracée à partir de la taille de fenêtre annoncée par le serveur lors de la réception d’un accusé de réception. La distance entre la courbe beige et verte représente donc la taille de fenêtre de transmission disponible au client.
Les courbes beige et verte sont ajustées à chaque réception d’un segment ACK du serveur.
Enregistrez une vidéo de 3 à 5 minutes où vous expliquez à quel endroit (moment) dans la transmission les deux types de contrôle sont utilisés. Utilisez le graphique obtenu à l'aide de Wireshark pour justifier vos explications.
Proposez aussi un changement de configuration qui pourrait être apporté afin d'augmenter le taux de transmission. Expliquez comment ce changement pourrait être implémenté.
À remettre pour la partie 3
Une courte vidéo expliquant les contributions du contrôle de congestion et du contrôle de flux tout au long de la transmission.
À remettre pour le projet 3
Trois vidéos courtes vidéos, une pour chaque partie du projet.