{"id":68,"date":"2018-12-27T11:11:41","date_gmt":"2018-12-27T11:11:41","guid":{"rendered":"http:\/\/blog.bastosvictor.fr\/?p=68"},"modified":"2018-12-27T11:11:41","modified_gmt":"2018-12-27T11:11:41","slug":"iperf-par-lexemple","status":"publish","type":"post","link":"http:\/\/blog.bastosvictor.fr\/index.php\/2018\/12\/27\/iperf-par-lexemple\/","title":{"rendered":"Iperf par l&rsquo;exemple"},"content":{"rendered":"<p>https:\/\/blog.nicolargo.com\/2008\/01\/iperf-des-exemples.html<\/p>\n<p>Nous commen\u00e7ons l&rsquo;ann\u00e9e 2008 avec un billet regroupant des exemples d&rsquo;utilisation <a href=\"http:\/\/dast.nlanr.net\/Projects\/Iperf\">d&rsquo;IPerf<\/a>, l&rsquo;outil en ligne de commande indispensable pour tester un r\u00e9seau informatique.<\/p>\n<p>Pour rappel, IPerf est un logiciel client\/serveur, il faut donc deux machines positionner aux deux extremit\u00e9s du r\u00e9seau \u00e0 tester pour fonctionner.<\/p>\n<p>Dans les exemples ci-dessous, nous allons consid\u00e9rer que nous allons utiliser deux machines nomm\u00e9es C (avec comme adresse IP: IPC) et S (avec comme adresse IP: IPS).<\/p>\n<h1><strong>Exemple pour mesurer la bande passante disponible entre S et C<\/strong><\/h1>\n<p>Attention, cette m\u00e9thode mesure la bande passante au moment du test. Ce dernier dure par d\u00e9faut 10 secondes et utilise le protocole TCP sur le port 5001.<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<h1><strong>Exemple pour g\u00e9n\u00e9rer un d\u00e9bit r\u00e9seau entre C et S<\/strong><\/h1>\n<p>On g\u00e9n\u00e8re ici un flux en utilisant le protocole UDP et en fixant la bande passante \u00e0 1 Megabits par seconde. Le test dure par d\u00e9faut 10 secondes.<\/p>\n<p>Il est possible de choisir l&rsquo;unit\u00e9 de mesure de d\u00e9bit avec l&rsquo;option -b et en collant les lettres suivantes aux d\u00e9bits:<\/p>\n<ul>\n<li>b: bits par seconde<\/li>\n<li>k: kilobits par seconde<\/li>\n<li>m: megabits par seconde<\/li>\n<li>g: gigabits parseconde<\/li>\n<\/ul>\n<p>pour un d\u00e9bit en octets par seconde, il faut utiliser ces lettres en majuscule)<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<h1><strong><br \/>\n<\/strong><strong>Exemple pour g\u00e9n\u00e9rer un d\u00e9bit r\u00e9seau entre C et S pendant 10 heures<\/strong><\/h1>\n<p>Il peut \u00eatre utile de g\u00e9n\u00e9rer un flux r\u00e9seau plus long pour tester par exemple une liaison Internet pendant les heures d&rsquo;utilisation. Nous allons donc utiliser l&rsquo;option -t pour fixer la dur\u00e9e du test pr\u00e9c\u00e9dent \u00e0 10 heures (10*3600=36000 secondes).<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<p>Il est \u00e9galement possible d&rsquo;ajouter l&rsquo;option -i 3600 pour avoir un rapport interm\u00e9diaire toutes les heures (1*3600=3600 secondes).<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<h1><strong>Exemple pour g\u00e9n\u00e9rer 2 flux r\u00e9seau entre S et C<\/strong><\/h1>\n<p>Il est parfois utile de g\u00e9n\u00e9rer plusieurs flux UDP simultan\u00e9ment pour simuler une application. IPerf permet cela gr\u00e2ce \u00e0 l&rsquo;option -P et en donnant le nombre de flux \u00e0 g\u00e9n\u00e9rer. L&rsquo;exemple suivant g\u00e9n\u00e8re 4 flux TCP entre S et C (simulation d&rsquo;un serveur Web par exemple).<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<blockquote><p>&nbsp;<\/p><\/blockquote>\n<h1><strong>Exemple pour optimiser une connexion TCP entre S et C<\/strong><\/h1>\n<p>Le protocole TCP, bien que capable pour s&rsquo;adapter aux r\u00e9seaux large bande, a \u00e9t\u00e9 con\u00e7u lorsque les d\u00e9bits \u00e9taient beaucoup moins important. Les valeurs par d\u00e9faut des fen\u00eatres TCP (taille des paquets envoy\u00e9 dans des trames TCP) ne sont pas forcement adapt\u00e9 aux r\u00e9seaux actuels. IPerf permet de jouer avec la taille de ces fen\u00eatres avec l&rsquo;option -w. L&rsquo;exemple suivant g\u00e9n\u00e8re un flux TCP avec une taille de fen\u00eatre de 130 kilo octets.<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<h1><strong>Exemple pour d\u00e9couvrir la taille du MTU entre S et C<\/strong><\/h1>\n<p>Le <a href=\"http:\/\/fr.wikipedia.org\/wiki\/Maximum_Transmission_Unit\">MTU<\/a> est la taille maximale du paquet pouvant \u00eatre transmis sur la couche r\u00e9seau sans \u00eatre segment\u00e9. La d\u00e9couverte de cette valeur peut \u00eatre utile \u00e0 l&rsquo;optimisation de votre r\u00e9seau et des applications qui tourne dessus. IPerf permet d&rsquo;obtenir cette valeur gr\u00e2ce \u00e0 l&rsquo;option -m (\u00e0 lancer sur le serveur).<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<blockquote><p>&nbsp;<\/p><\/blockquote>\n<h1><strong>Exemple pour tester un flux de type VoIP entre C et S<\/strong><\/h1>\n<p>Les paquets de type voix sur IP on les caract\u00e9ristiques suivantes: protocole UDp et taille des paquets petites (bien inf\u00e9rieure au MTU). Le meilleur moyen de tester un flux de type VoIP avec IPerf est d&rsquo;utiliser les options -l (taille du datagram) et -w (taille maximale du buffer recevant les datagras) en fixant une valeur de datagram inf\u00e9rieure \u00e0 celle du buffer.<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<p>Remarque: bien que Iperf soit disponible sur de nombreuses plate-forme (Linux, BSD, Mac, Windows), l&rsquo;option -l ne fonctionne pas toujours quand vous utiliser des OS diff\u00e9rents entre le client et le serveur.<\/p>\n<h1><strong>Exemple pour utiliser IPerf sur un port diff\u00e9rent<\/strong><\/h1>\n<p>Par d\u00e9faut, Iperf utilise le num\u00e9ro de port 5001 (TCP et\/ou UDP). Selon votre configuration (notamment au niveau des ACL des routeurs\/firewalls), il peut \u00eatre utile d&rsquo;utiliser un autre port, pour cela, il faut passer par l&rsquo;option -p. L&rsquo;exemple suivant permet de g\u00e9n\u00e9rer un flux r\u00e9seau TCP entre S et C sur le port 80 (port Web standard).<\/p>\n<p>R\u00e9sultat (\u00e0 lire sur la machine S):<\/p>\n<p>Voici donc quelques exemple d&rsquo;utilisation d&rsquo;Iperf, si vous en avez d&rsquo;autres, les <a href=\"http:\/\/#comments\">commentaires<\/a> sont ouverts !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/blog.nicolargo.com\/2008\/01\/iperf-des-exemples.html Nous commen\u00e7ons l&rsquo;ann\u00e9e 2008 avec un billet regroupant des exemples d&rsquo;utilisation d&rsquo;IPerf, l&rsquo;outil en ligne de commande indispensable pour tester un r\u00e9seau informatique. Pour rappel, IPerf est un logiciel client\/serveur, il faut donc deux machines positionner aux deux extremit\u00e9s &hellip; <a href=\"http:\/\/blog.bastosvictor.fr\/index.php\/2018\/12\/27\/iperf-par-lexemple\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/posts\/68"}],"collection":[{"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/comments?post=68"}],"version-history":[{"count":1,"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/posts\/68\/revisions"}],"predecessor-version":[{"id":69,"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/posts\/68\/revisions\/69"}],"wp:attachment":[{"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/media?parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/categories?post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.bastosvictor.fr\/index.php\/wp-json\/wp\/v2\/tags?post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}