18
0
Fork 0

relecture

This commit is contained in:
Gregory Colpart 2017-04-06 14:01:40 -04:00
parent 2ab9642a2d
commit b6c4620d1c
1 changed files with 29 additions and 34 deletions

View File

@ -1,29 +1,23 @@
---
title: Howto MTR
categories: tips
categories: tips network
...
* <http://www.bitwizard.nl/mtr/>
[MTR (My traceroute)](http://www.bitwizard.nl/mtr/) est un outil de diagnostic réseau combine les fonctionnalités des programmes _traceroute_ et _ping_.
MTR (My TraceRoute) est un logiciel qui combine les fonctionnalités des programmes Traceroute et Ping dans un seul outil de diagnostic réseau.
## Principe
Pour décrire l'itinéraire emprunté, MTR utilise les paquets ICMP "Time Exceeded" renvoyés par les routeurs intermédiaires et les paquets ICMP "Echo Reply" renvoyés par l'hôte de destination. Les paquets ICMP envoyés ont des TTLs augmentant progressivement jusqu'à la destination. Le TTL (Time To Live) contrôle le nombre de sauts qu'un paquet fera avant d'expirer. De cette façon après un saut (TTL=1), le premier routeur décrémentera le TTL de 1, le passant à 0. Ainsi le paquet expirera et un paquet ICMP "Time Exceeded" sera transmis à l'emeteur contenant l'IP du routeur. S'en suivra un paquet avec un TTL à deux, puis trois, et ainsi de suite jusqu'à ce que l'hôte de destination renvoie un paquet ICMP "Echo Reply". Parallèlement, MTR collecte des informations supplémentaires tel que le temps d'aller-retour et la perte de paquets éventuelle pour chacun des équipements traversés jusqu'à la destination. Cela en fait un outil idéal pour diagnostiquer des problèmes réseau.
Pour décrire l'itinéraire emprunté, MTR utilise les paquets ICMP _Time Exceeded_ renvoyés par les routeurs intermédiaires et les paquets ICMP _Echo Reply_ renvoyés par l'hôte de destination. Les paquets ICMP envoyés ont des TTLs augmentant progressivement jusqu'à la destination. Le TTL (Time To Live) contrôle le nombre de sauts qu'un paquet fera avant d'expirer. De cette façon après un saut (TTL=1), le premier routeur décrémentera le TTL de 1, le passant à 0. Ainsi le paquet expirera et un paquet ICMP "Time Exceeded" sera transmis à l'emeteur contenant l'IP du routeur. S'en suivra un paquet avec un TTL à deux, puis trois, et ainsi de suite jusqu'à ce que l'hôte de destination renvoie un paquet ICMP "Echo Reply". Parallèlement, MTR collecte des informations supplémentaires tel que le temps d'aller-retour et la perte de paquets éventuelle pour chacun des équipements traversés jusqu'à la destination. Cela en fait un outil idéal pour diagnostiquer des problèmes réseau.
## Installation
Debian :
~~~
# apt install mtr
~~~
ou, pour la version sans couche graphique
> *Note* : pour installer la version sans couche graphique, utiliser le paquet **mtr-tiny**
~~~
# apt install mtr-tiny
~~~
OpenBSD :
Sous OpenBSD :
~~~
# pkg_add mtr
@ -32,43 +26,45 @@ OpenBSD :
## Utilisation de base
~~~
$ mtr linuxfr.org
$ mtr example.com --curses
~~~
Sans résolution DNS :
~~~
$ mtr -n linuxfr.org
$ mtr example.com --curses -n
~~~
> *Note* : on peut désactiver/activer la résolution DNS en live en appuyant sur la touche `n`
Lancer en mode rapport (--report) :
~~~
$ mtr -r linuxfr.org
$ mtr example.com -r
~~~
Modifier l'interval d'envoi (défaut 1s) :
Modifier l'intervalle d'envoi (défaut 1 seconde) :
~~~
# mtr -i 0.1 linuxfr.org
# mtr example.com --curses -i 0.1
~~~
On peut également lancer MTR en mode TCP :
On peut également lancer MTR en mode TCP sur un port donné :
~~~
# mtr -P 80 linuxfr.org
# mtr example.com --curses -P 80
~~~
Autres options utiles :
* -u: Passer en UDP
* -w: (--report-wide) remplace -r en fournissant les hostnames complets
* -4: IPv4
* -6: IPv6
* `-u` passe en UDP
* `-w` (--report-wide) remplace `-r` en fournissant les hostnames complets
* `-4` force en IPv4
* `-6` force en IPv6
~~~
Start: Fri Mar 31 14:04:36 2017
HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
HOST: foo.example.net Loss% Snt Last Avg Best Wrst StDev
1.|-- routeur1.example.net 0.0% 10 0.9 0.8 0.5 1.0 0.0
2.|-- routeur2.example.net 0.0% 10 1.0 1.1 0.8 1.4 0.0
3.|-- routeur3.example.net 0.0% 10 2.4 9.4 1.8 21.2 7.3
@ -79,7 +75,7 @@ HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
8.|-- routeur8.example.net 0.0% 10 15.4 15.8 11.7 19.7 2.6
9.|-- routeur9.example.net 0.0% 10 12.2 12.4 11.9 12.9 0.0
10.|-- routeur10.example.net 0.0% 10 12.0 12.2 11.8 13.6 0.3
11.|-- prod.linuxfr.org 0.0% 10 11.7 13.0 11.7 23.1 3.5
11.|-- example.com 0.0% 10 11.7 13.0 11.7 23.1 3.5
↑ ↑ ↑ ↑ ↑ ↑ ↑
| | | | | | |
| | | | | | Écart type des latences : différence entre les mesures de la
@ -110,7 +106,7 @@ Voici un exemple :
~~~
Start: Sat Apr 1 19:52:13 2017
HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
HOST: foo.example.com Loss% Snt Last Avg Best Wrst StDev
1.|-- routeur1.example.net 0.0% 10 0.8 0.8 0.7 1.0 0.0
2.|-- routeur2.example.net 0.0% 10 25.2 26.2 24.7 28.2 1.1
3.|-- routeur3.example.net 0.0% 10 25.6 26.5 25.6 27.4 0.0
@ -122,14 +118,13 @@ HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
9.|-- routeur9.example.net 0.0% 10 36.1 36.1 36.0 36.1 0.0
10.|-- routeur10.example.net 0.0% 10 37.2 35.9 35.2 37.2 0.5
~~~
On peut voir ici que la perte ne concerne que le quatrième saut et nous avons bien 0% de perte à la destination. On est bien ici dans un cas de rate limiting ICMP.
Voici un exemple de perte à considérer :
~~~
Start: Sat Apr 1 19:52:13 2017
HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
HOST: foo.example.com Loss% Snt Last Avg Best Wrst StDev
1.|-- routeur1.example.net 0.0% 10 0.8 0.8 0.7 1.0 0.0
2.|-- routeur2.example.net 0.0% 10 25.2 26.2 24.7 28.2 1.1
3.|-- routeur3.example.net 0.0% 10 25.6 26.5 25.6 27.4 0.0
@ -142,13 +137,13 @@ HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
10.|-- routeur10.example.net 40.0% 10 37.2 35.9 35.2 37.2 0.5
~~~
Si la perte rapportée se poursuit jusqu'à la destination alors la perte est réelle.
Si la perte rapportée se poursuit jusqu'à la destination alors la perte est probablement réelle.
On peut aussi observer des cas où rate limiting et perte réelle sont présents :
~~~
Start: Sat Apr 1 19:52:13 2017
HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
HOST: foo.example.com Loss% Snt Last Avg Best Wrst StDev
1.|-- routeur1.example.net 0.0% 10 0.8 0.8 0.7 1.0 0.0
2.|-- routeur2.example.net 0.0% 10 25.2 26.2 24.7 28.2 1.1
3.|-- routeur3.example.net 0.0% 10 25.6 26.5 25.6 27.4 0.0
@ -163,11 +158,11 @@ HOST: bofh.evolix.net Loss% Snt Last Avg Best Wrst StDev
Ici le cinquième saut est concerné par une perte liée à du rate limiting ICMP car les sauts suivants ne sont concernés que par une perte de 40%. La perte réelle à considérer est toujours celle observée sur les sauts suivants.
Il est important d'avoir en tête que parfois la perte est due à un problème sur le chemin du retour. Les paquets peuvent arriver correctement à destination mais se perdre sur le retour ce pourquoi il est toujours utile lorsque c'est possible de lancer un MTR dans les deux sens.
Il est important d'avoir en tête que parfois la perte est due à un problème sur le chemin du retour. Les paquets peuvent arriver correctement à destination mais se perdre sur le retour ce pourquoi il est toujours conseillé de lancer un MTR dans les deux sens.
### La latence réseau
Outre la perte de paquets, MTR permet la mise en évidence de la latence. Elle est biensûr liée avant tout à des contraintes physiques et augmente avec le nombre de sauts. Cette augmentation doit idéalement être constante. La nature de la connexion affectera la latence que vous observez, les connexions ADSL auront une latence beaucoup plus élevée que les connexions par fibre par exemple.
Outre la perte de paquets, MTR permet la mise en évidence de la latence. Elle est bien sûr liée avant tout à des contraintes physiques et augmente avec le nombre de sauts. Cette augmentation doit idéalement être constante. La nature de la connexion affectera la latence que vous observez, les connexions ADSL auront une latence beaucoup plus élevée que les connexions par fibre par exemple.
## FAQ
@ -181,11 +176,11 @@ Un équipement sur le chemin doit certainement faire du rate limiting ICMP, ce q
**J'observe des ??? sur un saut.**
Il s'agit de time out. Cela ne signifie pas qu'il y a perte de paquet mais que l'équipement drop le traffic ICMP. Tout va bien.
Il s'agit de time out. Cela ne signifie pas qu'il y a perte de paquet mais que l'équipement drop le trafic ICMP. Tout va bien.
**J'ai 100% de perte à la destination.**
Ici biensûr c'est alarmant. Soit l'hôte de destination est injoignable, soit celui-ci reçoit les paquets mais n'est pas en mesure d'y répondre (défaut de configuration)
Soit l'hôte de destination est injoignable, soit celui-ci reçoit les paquets mais n'est pas en mesure d'y répondre ce qui probablement alarmant (défaut de configuration).
## Liens