Laboratoire 5
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
pcapnglorsque demandé.
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.

Assignez des adresses IPv4 à chaque interface des appareils. Votre topologie devrait contenir 3 subnets:
- L'interface
eth0du poste PCA et l'interfaceeth0du routeur R1. - L'interface
eth1du routeur R1 et l'interfaceeth0du routeur R2. - L'interface
eth0du poste PCB et l'interfaceeth1du 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.
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.
- Quels sont leurs numéros de séquence?
- Pourquoi la valeur du numéro de séquence du premier paquet n'est-elle pas 0?
- 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:

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:
- Quel appareil envoie le dernier paquet de la connexion?
- Quels sont les drapeaux levés (mis à 1) dans le dernier paquet de la connexion?
- 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.
- Combien de datagrammes ont été transmis au total afin d'envoyer
salutde PC1 à PC2 par TCP. - Combien de datagrammes ont été transmis au total afin d'envoyer
salutde PC1 à PC2 par UDP. - 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).