Aller au contenu principal

Laboratoire 5

Annoncé

Introduction

Ce dernier projet de la session couvre les protocoles de transport. Vous aurez à analyser et comparer TCP et UDP à l'aide de Wireshark.

Remise

Votre remise doit comporter les éléments suivants:

  • Un rapport contenant les réponses à toutes les questions.
  • Des captures GNS3 format pcapng lorsque demandé.
attention

Nous avons remarqué lors d'une remise précédente que la plateforme Brio bloque la remise de fichiers .pcapng. Vous devez donc grouper tous vos fichiers dans un seul répertoire archivé (.zip ou .gz). Brio vous permettra alors de remettre vos captures.

Pondération

Ce travail pratique vaut pour 6% de la notre globale de la session. La grille d'évaluation détaillée est fournie dans le canal Général du Teams du cours.

Réalisation de la topologie

Réalisez la topologie suivante dans GNS3.

Topologie 2 PCs 2 routeurs du projet 5

Assignez des adresses IPv4 à chaque interface des appareils. Votre topologie devrait contenir 3 subnets:

  1. L'interface eth0 du poste PCA et l'interface eth0 du routeur R1.
  2. L'interface eth1 du routeur R1 et l'interface eth0 du routeur R2.
  3. L'interface eth0 du poste PCB et l'interface eth1 du routeur R2.

Configurez ensuite du routage statique sur les routeurs afin d'interconnecter les sous-réseaux 1 et 3.

Présentez les adresses choisies dans un tableau dans votre rapport.

Analyse du protocole TCP

Cette section analyse le transfert de données entre un client et un serveur par TCP. Le transfert est effectué à l'aide de l'utilitaire iperf.

Démarrez d'abord une capture Wireshark sur le lien entre les deux routeurs.

Démarrez par la suite un serveur iperf sur le PC2 à l'aide de la commande

iperf -s

Démarrez ensuite un client iperf sur le PC1 avec la commande

iperf -c [ip de PC2]

Attentez que le transfert soit complété, puis interrompez votre capture Wireshark.

remarque

Conserver vos capture Wireshark afin de répondre à toutes les questions de cette section. Remettez aussi la capture en format .pcapng.

Instanciation de la connexion

Identifiez les paquets faisant partie de l'établissement de la connexion TCP.

  1. Quels sont leurs numéros de séquence?
  2. Pourquoi la valeur du numéro de séquence du premier paquet n'est-elle pas 0?
  3. Comment les numéros d'acknowledgement sont-ils liés aux numéros de séquence?

Contrôle de flux et contrôle de congestion

Produisez un graphe Time / Sequence (tcptrace) de votre capture Wireshark. Pour ce faire, utilisez les menus Statistics -> TCP Stream Graphs -> Time Sequence (tcptrace).

Configurez le graphique de manière à obtenir un résultat similaire au suivant:

Exemple de graphique Time / Sequence

Joignez le graphe à votre rapport. Utilisez le graphique afin d'expliquer dans votre rapport où agissent le contrôle de congestion et le contrôle de flux lors du transfert.

Fournissez la capture Wireshark dans votre remise en format .pcapng.

Fin d'une connexion

Ciblez les paquets liés à la fermeture de la connexion TCP dans votre capture Wireshark, puis répondez aux questions suivantes:

  1. Quel appareil envoie le dernier paquet de la connexion?
  2. Quels sont les drapeaux levés (mis à 1) dans le dernier paquet de la connexion?
  3. Pourquoi est-il important de reconnaître (ACK) les paquets liés à la fermeture de connexion?

Retransmission TCP

Configurez une perte de paquets de 5% sur le lien entre R1 et R2, puis capturez à nouveau un transfert iperf entre les PC1 et PC2.

Produisez à nouveau un graphe Time / Sequence (tcptrace).

Joignez le graphe à votre rapport et commentez sur les différences avec le graphe où il n'y avait pas de perte de paquets. Décrivez l'impact de la perte de paquets sur le contrôle de flux et le contrôle de congestion.

Fournissez la capture Wireshark dans votre remise en format .pcapng.

Comparaisons entre TCP et UDP

Établissement de la connexion

Démarrez une capture Wireshark sur le lien entre les deux routeurs.

Transmettez ensuite la chaîne de caractères salut du PC1 vers le PC2 en utilisant la commande netcat (nc). Transmettez la chaîne de caractères par TCP puis par UDP.

Répondez ensuite aux questions suivantes à l'aide de votre capture Wireshark.

  1. Combien de datagrammes ont été transmis au total afin d'envoyer salut de PC1 à PC2 par TCP.
  2. Combien de datagrammes ont été transmis au total afin d'envoyer salut de PC1 à PC2 par UDP.
  3. Quel est le délais supplémentaire (en temps) qui a été engendré par l'instanciation de la connexion TCP?

Fournissez la capture Wireshark (format .pcapng).

Perte de paquets

Dans la section sur la retransmission TCP, vous avez remarqué que TCP détecte la perte de parquets et retransmet automatiquement les paquets perdus.

Utilisez GNS3 afin d'introduire une perte de paquets de 20%.

Comme dans l'exercice sur la retransmission TCP, démarrez un transfert de données à l'aide de la commande iperf. Utilisez cependant le drapeau -u afin d'utiliser UDP comme protocole de transport.

Observez ce qui survient à l'aide de Wireshark entre les routeurs R1 et R2.

Dans votre rapport, comparez vos observations à celles effectuées dans la section sur la retransmission TCP.

Fournissez la capture Wireshark (format .pcapng).