Vous êtes sur la page 1sur 3

Ecole Polytechnique Centrale Prive de Tunis, ING-Telecom 2

TP1 : Mesures de performances de r


eseaux
TCP/IP
05 Fvrier 2016 14h

Ce TP est `
a realiser en bin
ome. Chaque binome dispose de deux machines Linux. Un seul rapport
est `
a rendre `
a la fin de la seance

R
esum
e
Dans ce TP nous allons se familiariser avec quelques outils de base de mesure de performances des reseaux TCP/IP. Nous allons utiliser notamment les outils suivants :
iperf : un outil de mesure de performances de reseaux TCP/IP (http://iperf.fr)
ethtool : une bote a
` outils pour contr
oler et configurer les cartes reseaux Ethernet.
(https://www.kernel.org/pub/software/network/ethtool/).
tc : (traffic controller) est un outil qui permet de contr
oler linterface reseau en specifiant
quelques param`etres comme la taux de pertes, les delai, dordonnancement, la guige, etc.

Description des outils `


a utiliser
iperf
iperf est un outil qui permet devaluer le debit dune connexion TCP/IP de bout en bout. Loutil
permet devaluer des echanges entre deux machines utilisant les deux protocoles de transport tcp
et udp. Afin de tester une connexion dune machine A `a une autre B, il faut commencer par lancer
un serveur iperf sur B, puis un client sur A. Ce dernier doit specifier le profil du traffic `a utiliser
pour le test.
Exemples dusage de iperf
iperf -s : Lancer le serveur tcp.
iperf -c B : Demarrer le test vers un serveur localise sur B
iperf -s -u : Lancer un serveur en mode udp. Pour des tests en utilisant udp, il est necessaire
de specifier le debit `
a emettre. La valeur par defaut est de 1 Mb/s, ce qui peut etre en dessous du
debit effectif dun lien. Si lon choisit un debit superieur `a la capacite du lien iperf sadaptera.
iperf -c B -u : Demarrer le test vers un serveur localise sur B au debit par defaut.
iperf -c B -u -b10m : Demarrer le test vers un serveur localise sur B avec un flux `a 10mb/s
1

tc
Lutilisation de tc se fait par la commande suivante :
tc qdisc add dev <interface> root netem <r
eglage>
Cette commande indique que lon souhaite ajouter une discipline de gestion de la file dattente
des paquets (qdisc = queueing discipline) de type netem (network emulation). Le mot root fait
reference `
a lorganisation en arbre des disciplines de files dattente associees `a une interface.
Exemples dutilisation de la commande tc
tc
les
tc
tc

qdisc change dev <interface> root netem <nouveaux-param`


etres> : pour modifier
param`etres existants.
qdisc del dev <interface> root netem : pour supprimer les param`etres existants.
qdisc show dev <interface> : pour voir les param`etres existants.

Les param`etres qui seront utilisees dans ce TP sont :


Le taux de perte des paquets : loss <taux-de-perte>
Le temps de retard : delay <temps-en-milli-secondes>ms
Par exemple, pour fixer sur eth0 un taux de perte de paquets de 1% et un temps de retard de 10ms
on utilisera la commande :
tc qdisc add dev eth0 root netem loss 1% delay 10ms
Si ensuite on veut changer le taux de perte `a 0 0.1% (en laissant le temps de retard de 10ms), on
execute la commande :
tc qdisc change dev eth0 root netem loss 0.1%
Enfin, pour revenir au mode de fonctionnement normal, on execute :
tc qdisc del dev eth0 root netem

Travail pr
eparatif
Installation
Commencer par installer, sur les deux machines, les outils suivants :
1. Installation de iperf (sudo apt-get install iperf )
2. installation de ethtool (sudo apt-get install ethtool).
La commande tc est disponible dans le repertoire /sbin.

Prise en main de iperf


Consulter la page de man de iperf et donner les options `a utiliser pour :
1 Afficher des informations `
a intervalles reguliers durant un test (cote client et/ou serveur)
2 Modifier la duree pendant laquelle des donnees seront envoyees.
3 Specifier la taille de la fenetre `
a utiliser pour le protocole tcp.
4 Specifier la taille de MTU (MSS) `a utiliser.
5 Etablir differentes connexions en parall`ele avec le serveur.
6 Afficher la sortie au format CSV (Comma Separated Values),

Travail `
a faire
Tests simples
Effectuer les tests ci-dessous et donner la commande utilisee cote client et cote serveur :
1 transfert avec tcp durant 10 s. avec affichage dinformations toutes les secondes.
2 transfert avec udp durant 5 s. et un debit de 10Mbit/s
3 transfert avec tcp durant 10 s. avec une sortie au format CSV
Quelles sont les informations affichees `a la fin dun test tcp ? et `a la fin dun test udp ?

Scripts de test
1 Developper un script qui permet de tester les performances dune connexion tcp en fonction
de lz taille de la fenetre utilisee par le protocole tcp. Le script devra afficher les debits moyens
mesures en raison dune ligne par test ayant la forme ci-dessous :
<taille de la fen^
etre>;<d
ebit-moyen>
Commenter et justifier le r
esultats obtenus.
2 Modifier le script pour etudier la performance dune connexion tcp en fonction de la taille de
la MTU (MSS). Commenter le resultats obtenus.
3 Modifier le script pour etudier la performance en fonction de nombre de connexions parall`eles
au serveur de test. Commenter le resultats obtenus.

Test avec degradation de service


1 Passer la connexion du client `
a 100 Mbit/s et celle du serveur `a 10 Mbit/s. (utiliser ethtool).
Observer les debits moyens et la perte de paquets durant les deux tests suivants :
transfert durant 10 s. avec UDP et un de9bit de 100 Mbit/s
transfert durant 10 s. avec TCP
2 Utiliser loutil tc pour faire varier le taux de perte de paquets de 1% `a 20% et etudier la
variation du debit en fonction du taux de perte.

Vous aimerez peut-être aussi