TP sur le protocole TCP - Gt

Transcription

TP sur le protocole TCP - Gt
TP sur le protocole TCP
TP sur le protocole TCP
TP 1 : Prise en main la boite à outils
L’objectif de ce TP est de se familiariser avec les outils de test et d’analyse. Le poste de
manipulation est composé de 2 PC respectivement désignés par les lettres A et B.
• Préparation du banc de test, puis test du débit entre A et B
Sur la machine A lancer iperf en mode serveur :
poste_A#>iperf -s
-----------------------------------------------------------Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
Sur la machine B lancer wireshark, mettre en place un filtre sur le port TCP 5001. Puis, lancer
iperf en mode client pour tester le débit vers la machine A. On limitera la phase de test à 5
secondes avec l’option « -t 5 ».
poste_B#>iperf -c poste_A -t 5
-----------------------------------------------------------Client connecting to poste_A, TCP port 5001
TCP window size: 16.0 KByte (default)
Une fois ce test réalisé, aller dans wireshark et sauvegarder les paquets correspondant au
sondage fait avec iperf dans un fichier nommé data.pcap .
Recommencer la manip en inversant les rôles des postes A et B pour avoir un jeu de données
sur le poste B.
• Création des grahiques et analyse
Sur les 2 postes, générer les données graphiques avec tcptrace. On limitera la génération aux
10000 premiers paquets avec l’option « -E10000 ». Afficher les graphiques avec xplot
poste_x>tcptrace -s -zxy -E1000 -G data.pcap
poste_x>xplot -x a2b_*.xpl&
puis les analyser ces graphiques.
On commence par analyser en // le diagramme temporel, la courbe d’évolution de RTT et les
graphiques de débit.
Zoomer vers le début de la session pour observer le type de démarrage (slow start ou BIC).
On pourra vérifier les paramètres des piles TCP en lisant le contenu des variables système.
Exemple :
poste_x>cat /proc/sys/net/ipv4/tcp_congestion_control
poste_x>cat /proc/sys/net/ipv4/tcp_rmem
poste_x>cat /proc/sys/net/ipv4/tcp_wmem
v1, septembre 2007
1
TP sur le protocole TCP
TP 2 : analyse de sessions TCP
L’objectif de ce TP est de se familiariser à l’analyse de sessions TCP, en examinant un certain
nombre de cas produisant des allures de courbes (générées avec tcptrace+xplot) assez
différentes.
Cette analyse pourra utilement être complétée par un examen détaillé de paquets que l’on fera
avec wireshark.
• Récupération des jeux d’exemples
Sur le serveur ftp anonyme prof.cines.fr, récupérer les fichiers ex01…ex07 correspondants à 7
captures de sessions TCP.
Analyser les sessions TCP correspondantes et notez les éléments qui caractérisent ces
sessions.
v1, septembre 2007
2
TP sur le protocole TCP
TP 3 : simulation d’une session TCP longue distance
L’objectif de ce TP est de simuler une session entre deux machines distantes. Cette distance
est simulée avec un délai de 100ms que l’on introduit sur les paquets qui sont émis par le
serveur iperf. Ce retard est produit par le module noyau netem. Le poste de manipulation est
composé de 2 PC respectivement désignés par les lettres A et B.
• Préparation du banc de test, puis test du débit entre A et B
Sur la machine A, créer un délai de 100ms dans l’émission de paquets avec la commande tc
puis, lancer iperf en mode serveur.
poste_A#>tc qdisc add dev eth0 root netem delay 100ms
poste_A#>iperf -s
Sur la machine B lancer wireshark, mettre en place un filtre sur le port TCP 5001. Puis, lancer
iperf en mode client pour tester le débit vers la machine A. On limitera la phase de test à 5
secondes avec l’option « -t 5 ».
poste_B#>iperf -c poste_A -t 5
-----------------------------------------------------------Client connecting to poste_A, TCP port 5001
TCP window size: 16.0 KByte (default)
Une fois ce test réalisé, aller dans wireshark et sauvegarder les paquets correspondant au
sondage fait avec iperf dans un fichier nommé data.pcap .
Recommencer la manip en inversant les rôles des postes A et B pour avoir un jeu de données
sur le poste B. Pour inihiber le délai introduit sur le poste A, donner la commande
poste_A#>tc qdisc change dev eth0 root netem delay 0ms
• Création des grahiques et analyse
Sur les 2 postes, générer les données graphiques avec tcptrace. On limitera la génération aux
10000 premiers paquets avec l’option « -E10000 ». Afficher les graphiques avec xplot
poste_x>tcptrace -s -zxy -E1000 -G data.pcap
poste_x>xplot -x a2b_*.xpl&
puis les analyser ces graphiques. Vérifier l’impact du délai de 100ms, sur le diagramme
d’évolution du RTT, sur le débit, sur le diagramme temporel.
On pourra recommencer la manipulation en introduisant en plus de la gigue dans le délai
(paramètres « 20ms 25% » en fin de commande tc.
poste_x>tc qdisc change dev eth0 root netem delay 100ms 20ms 25%
v1, septembre 2007
3
TP sur le protocole TCP
TP 4 : simulation d’une session TCP longue distance perturbée
L’objectif de ce TP est de simuler une session TCP perturbée entre deux machines distantes.
La perturbation est simulée par un taux de perte de paquets de 5% que l’on introduit sur les
paquets qui sont émis par le serveur iperf. Cette perte de paquets est produite par le module
noyau netem. Le poste de manipulation est composé de 2 PC respectivement désignés par les
lettres A et B.
• Préparation du banc de test, puis test du débit entre A et B
Sur la machine A, créer un taux de perte de paquets dans l’émission de paquets avec la
commande tc puis, lancer iperf en mode serveur.
poste_A#>tc qdisc change dev eth0 root netem delay 100ms loss 5%
poste_A#>iperf -s
Sur la machine B lancer wireshark, mettre en place un filtre sur le port TCP 5001. Puis, lancer
iperf en mode client pour tester le débit vers la machine A. On limitera la phase de test à 5
secondes avec l’option « -t 5 ».
poste_B#>iperf -c poste_A -t 5
-----------------------------------------------------------Client connecting to poste_A, TCP port 5001
TCP window size: 16.0 KByte (default)
Une fois ce test réalisé, aller dans wireshark et sauvegarder les paquets correspondant au
sondage fait avec iperf dans un fichier nommé data.pcap .
Recommencer la manip en inversant les rôles des postes A et B pour avoir un jeu de données
sur le poste B. Pour inihiber les délai et perte de paquet introduits sur le poste A, donner la
commande
poste_A#>tc qdisc change dev eth0 root netem delay 0ms loss 0%
• Création des grahiques et analyse
Sur les 2 postes, générer les données graphiques avec tcptrace. On limitera la génération aux
10000 premiers paquets avec l’option « -E10000 ». Afficher les graphiques avec xplot
poste_x>tcptrace -s -zxy -E1000 -G data.pcap
poste_x>xplot -x a2b_*.xpl&
puis les analyser ces graphiques. Vérifier l’impact du taux de perte de paquets de 5%, sur le
diagramme temporel, sur le débit.
v1, septembre 2007
4